def __init__(self, view, model): self._model = model self.__theta = 0 self.center = Point2(0, 0) self.p1_point = EditablePoint() def corner_offset(): mag = self._model.pin_spacing * (self._model.side1_pins - 1) return Vec2.fromPolar(self.__theta, mag) self.p_bottom_corner = OffsetDefaultPoint(self.p1_point, corner_offset) def other_corner_offset(): x = self._model.pin_spacing * ((self._model.side1_pins - 1) / 2 + (self._model.side3_pins - 1) / 2) y = self._model.dim_2_pincenter r = rotate(self.__theta) return projectPoint(r, Point2(x, y)) self.p_side_3_1 = OffsetDefaultPoint(self.p1_point, other_corner_offset) def p2_corner_offset(): x = self._model.pin_spacing * ((self._model.side1_pins - 1) / 2) + self._model.dim_1_pincenter / 2 y = self._model.dim_2_pincenter / 2 - ( self._model.side2_pins - 1) / 2 * self._model.pin_spacing r = rotate(self.__theta) return projectPoint(r, Point2(x, y)) def p2_corner_ena(): return self._model.side2_pins or self._model.side4_pins self.p_side_2_1 = OffsetDefaultPoint(self.p1_point, p2_corner_offset, enabled=p2_corner_ena) self.p_body_corner = BodyCornerPoint(self) points = [ self.p1_point, self.p_bottom_corner, self.p_side_3_1, self.p_side_2_1, self.p_body_corner ] super(BasicSMDFlow, self).__init__(view, points, True) self.__side = None self.__update_matrix()
def __init__(self, view, model, cmodel): self._model = model self._cmodel = cmodel self.p1_point = EditablePoint(Point2(0, 0)) rmat = rotate(self._cmodel.theta) dy = -(model.pin_count / 2 - 1) * model.pin_space v_aligned = Vec2(0, dy) v_delta = project_point(rmat, v_aligned) # the pin on the end of the same row as P1 self.p_bottom_corner = OffsetDefaultPoint(self.p1_point, v_delta) # Opposite corner point self.p_opposite = WidthProjectedPoint(self) points = [self.p1_point, self.p_bottom_corner, self.p_opposite] super(DIPEditFlow, self).__init__(view, points, True) self.update_matrix()
def __init__(self, view, model): self._model = model self.p1_point = EditablePoint(Point2(0, 0)) self.__theta = 0 self.__corner = Point2(0, 0) rmat = rotate(self.theta) dy = -(model.pin_count / 2 - 1) * model.pin_space v_aligned = Vec2(0, dy) v_delta = projectPoint(rmat, v_aligned) # the pin on the end of the same row as P1 self.p_bottom_corner = OffsetDefaultPoint(self.p1_point, v_delta) # Opposite corner point self.p_opposite = WidthProjectedPoint(self) points = [self.p1_point, self.p_bottom_corner, self.p_opposite] super(DIPEditFlow, self).__init__(view, points, True) if self.view.viewState.current_layer is None: self.side = SIDE.Top else: self.side = self.view.viewState.current_layer.side self.update_matrix()
def __init__(self, view, model, cmodel): self.view = view self.model = model self._cmodel = cmodel self.first_point = EditablePoint(Point2(0,0)) def other_point(): return Vec2.from_polar(self._cmodel.theta, self.model.pin_d) self.second_point = OffsetDefaultPoint(self.first_point, other_point) super(PassiveEditFlow, self).__init__(self.view, [self.first_point, self.second_point], True)