示例#1
0
 def init_regions(self):
     origin = DPoint(0, 0)
     p1 = origin + DPoint(self.a, 0)
     p2 = p1 + DPoint(0, self.b)
     p3 = p2 + DPoint(-self.a, 0)
     pts_arr = [origin, p1, p2, p3]
     if self.inverse:
         self.empty_region.insert(SimplePolygon().from_dpoly(
             DSimplePolygon(pts_arr)))
     else:
         self.metal_region.insert(SimplePolygon().from_dpoly(
             DSimplePolygon(pts_arr)))
示例#2
0
 def init_regions(self):
     dpts_arr = [
         DPoint(self.r * cos(2 * pi * i / self.n_pts + self._offset_angle),
                self.r * sin(2 * pi * i / self.n_pts + self._offset_angle))
         for i in range(0, self.n_pts)
     ]
     if (self.solid == True):
         self.metal_region.insert(SimplePolygon().from_dpoly(
             DSimplePolygon(dpts_arr)))
     else:
         self.empty_region.insert(SimplePolygon().from_dpoly(
             DSimplePolygon(dpts_arr)))
     self.connections.extend(
         [self.center, self.center + DVector(0, -self.r)])
     self.angle_connections.extend([0, 0])
示例#3
0
    def init_regions(self):
        d_alpha = (self.alpha_end - self.alpha_start) / (self.n_pts - 1)
        alphas = [(self.alpha_start + d_alpha * i)
                  for i in range(0, self.n_pts)]
        dpts_arr = [
            DPoint(self.r * cos(alpha), self.r * sin(alpha))
            for alpha in alphas
        ]
        dpts_arr.append(DPoint(0, 0))

        if (self.solid == True):
            self.metal_region.insert(SimplePolygon().from_dpoly(
                DSimplePolygon(dpts_arr)))
        else:
            self.empty_region.insert(SimplePolygon().from_dpoly(
                DSimplePolygon(dpts_arr)))
        self.connections.extend(
            [self._center, self._center + DVector(0, -self.r)])
        self.angle_connections.extend([0, 0])
示例#4
0
 def init_regions(self):
     self.connections = [DPoint(0, 0), DPoint(self.dr.abs(), 0)]
     self.angle_connections = [0, 0]
     alpha = atan2(self.dr.y, self.dr.x)
     self.angle_connections = [alpha,alpha]
     alpha_trans = DCplxTrans(1, alpha*180/pi, False, 0, 0)
     
     m_poly = DSimplePolygon([DPoint(0,-self.Z0.width/2), DPoint(self.dr.abs(), -self.Z1.width/2), 
                                 DPoint(self.dr.abs(),self.Z1.width/2), DPoint(0,self.Z0.width/2)] )
     e_poly1 = DSimplePolygon([DPoint(0,-self.Z0.b/2), DPoint(self.dr.abs(), -self.Z1.b/2), 
                                 DPoint(self.dr.abs(),-self.Z1.width/2), DPoint(0,-self.Z0.width/2)] )
     e_poly2 = DSimplePolygon([DPoint(0,self.Z0.b/2), DPoint(self.dr.abs(),self.Z1.b/2), 
                                 DPoint(self.dr.abs(),self.Z1.width/2), DPoint(0,self.Z0.width/2)] )
     
     m_poly.transform(alpha_trans)
     e_poly1.transform(alpha_trans)
     e_poly2.transform(alpha_trans)
     
     self.metal_region.insert(SimplePolygon.from_dpoly(m_poly))
     self.empty_region.insert(SimplePolygon.from_dpoly(e_poly1))
     self.empty_region.insert(SimplePolygon.from_dpoly(e_poly2))
示例#5
0
 def init_regions(self):
     self.connections = [DPoint(0, 0), self.dr,- self.R * DPoint( cos(self.alpha_start), sin(self.alpha_start) ) ]
     self.angle_connections = [self.alpha_start, self.alpha_end]
     self.start = DPoint(0, 0)
     self.end = self.dr
     self.center =  self.start - self.R * DPoint( cos(self.alpha_start), sin(self.alpha_start) )
     
     n_inner = 200
     n_outer = 200
     
     metal_arc = self._get_solid_arc(self.center, self.R, self.width, 
                 self.alpha_start , self.alpha_end , n_inner, n_outer)  
     self.connection_edges = [n_inner+n_outer,n_inner]
     
     empty_arc1 = self._get_solid_arc(self.center, self.R - (self.width + self.gap)/2, 
                 self.gap, self.alpha_start, self.alpha_end, n_inner, n_outer)  
     
     empty_arc2 = self._get_solid_arc(self.center, self.R + (self.width + self.gap)/2, 
                 self.gap, self.alpha_start, self.alpha_end, n_inner, n_outer)  
     
     self.metal_region.insert(SimplePolygon().from_dpoly(metal_arc))
     self.empty_region.insert(SimplePolygon().from_dpoly(empty_arc1))
     self.empty_region.insert(SimplePolygon().from_dpoly(empty_arc2))
示例#6
0
 def init_regions(self):
     origin = DPoint(0, 0)
     Rin = self.r - self.t
     Rout = self.r
     dpts_arr_Rout = [
         DPoint(Rout * cos(2 * pi * i / self.n_pts),
                Rout * sin(2 * pi * i / self.n_pts))
         for i in range(0, self.n_pts)
     ]
     dpts_arr_Rin = [
         DPoint(Rin * cos(2 * pi * i / self.n_pts),
                Rin * sin(2 * pi * i / self.n_pts))
         for i in range(0, self.n_pts)
     ]
     outer_circle = Region(SimplePolygon().from_dpoly(
         DSimplePolygon(dpts_arr_Rout)))
     inner_circle = Region(SimplePolygon().from_dpoly(
         DSimplePolygon(dpts_arr_Rin)))
     ring = outer_circle - inner_circle
     #self.metal_region.insert(ring)
     if self.inverse:
         self.empty_region = ring
     else:
         self.metal_region = ring
示例#7
0
 def init_regions( self ):
     self.metal_region.insert( SimplePolygon().from_dpoly( self.poly1 ) )