Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
Archivo: dip.py Proyecto: pcbre/pcbre
    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()
Ejemplo n.º 3
0
Archivo: dip.py Proyecto: balr0g/pcbre
    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()
Ejemplo n.º 4
0
    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)