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)))
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])
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])
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))
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))
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
def init_regions( self ): self.metal_region.insert( SimplePolygon().from_dpoly( self.poly1 ) )