Esempio n. 1
0
    def __init__(self,
                 units_per_mm,
                 min_distance=0,
                 angle_units=Units.Degrees,
                 zero_angle=0,
                 min_angle_change_per_curve=0):
        """
        Constructor

        :param units_per_mm: See :attr:`~trajtracker.movement.DirectionMonitor.units_per_mm`
        :param min_distance: See :attr:`~trajtracker.movement.DirectionMonitor.min_distance`
        :param angle_units: See :attr:`~trajtracker.movement.DirectionMonitor.angle_units`
        :param min_angle_change_per_curve: See :attr:`~trajtracker.movement.DirectionMonitor.min_angle_change_per_curve`
        """
        super(DirectionMonitor, self).__init__()

        _u.validate_func_arg_type(self, "__init__", "units_per_mm",
                                  units_per_mm, numbers.Number)
        _u.validate_func_arg_positive(self, "__init__", "units_per_mm",
                                      units_per_mm)
        self._units_per_mm = units_per_mm

        self.min_distance = min_distance
        self.angle_units = angle_units
        self.zero_angle = zero_angle
        self.min_angle_change_per_curve = min_angle_change_per_curve

        self.reset()
Esempio n. 2
0
        def __init__(self, x, y, radius, from_angle, to_angle):
            """
            Constructor

            :param x: the circle's center
            :param y: the circle's center
            :param radius:
            :param from_angle: Left end of the sector (degrees)
            :param to_angle: Right end of the sector (degrees)
            """

            _u.validate_func_arg_type(self, "__init__", "x", x, int)
            _u.validate_func_arg_type(self, "__init__", "y", y, int)
            _u.validate_func_arg_type(self, "__init__", "radius", radius, int)
            _u.validate_func_arg_type(self, "__init__", "from_angle",
                                      from_angle, int)
            _u.validate_func_arg_type(self, "__init__", "to_angle", to_angle,
                                      int)
            _u.validate_func_arg_positive(self, "__init__", "radius", radius)

            self.x = x
            self.y = y
            self.radius = radius
            self.from_angle = from_angle % 360
            self.to_angle = to_angle % 360
    def add_segment(self, traj_generator, duration):

        _u.validate_func_arg_type(self, "add_segment", "duration", duration,
                                  numbers.Number)
        _u.validate_func_arg_positive(self, "add_segment", "duration",
                                      duration)

        if "get_traj_point" not in dir(traj_generator):
            raise trajtracker.TypeError(
                "{:}.add_segment() was called with an invalid traj_generator argument ({:})"
                .format(_u.get_type_name(self), traj_generator))

        self._segments.append(dict(generator=traj_generator,
                                   duration=duration))
Esempio n. 4
0
    def __init__(self, x, y, radius):
        """
        Constructor - invoked when you create a new object by writing Circle()

        :param x: the circle's center
        :param y: the circle's center
        :param radius:
        """

        _u.validate_func_arg_type(self, "__init__", "x", x, int)
        _u.validate_func_arg_type(self, "__init__", "y", y, int)
        _u.validate_func_arg_type(self, "__init__", "radius", radius, int)
        _u.validate_func_arg_positive(self, "__init__", "radius", radius)
        self.x = x
        self.y = y
        self.radius = radius
    def add_segments(self, segments):

        _u.validate_func_arg_is_collection(self, "add_segments", "segments",
                                           segments)

        for i in range(len(segments)):
            segment = segments[i]
            _u.validate_func_arg_is_collection(self, "add_segments",
                                               "segments[%d]" % i, segment, 2,
                                               2)
            _u.validate_func_arg_type(self, "add_segments",
                                      "segments[%d][1]" % i, segment[1],
                                      numbers.Number)
            _u.validate_func_arg_positive(self, "add_segments",
                                          "segments[%d][1]" % i, segment[1])
            self.add_segment(segment[0], segment[1])
Esempio n. 6
0
        def __init__(self, x, y, radius):
            """
            Constructor

            :param x: the circle's center
            :param y: the circle's center
            :param radius:
            """

            _u.validate_func_arg_type(self, "__init__", "x", x, int)
            _u.validate_func_arg_type(self, "__init__", "y", y, int)
            _u.validate_func_arg_type(self, "__init__", "radius", radius, int)
            _u.validate_func_arg_positive(self, "__init__", "radius", radius)
            self.x = x
            self.y = y
            self.radius = radius
Esempio n. 7
0
        def __init__(self, x, y, width, height):
            """
            Constructor

            :param x: the rectangle's center
            :param y: the rectangle's center
            :param width:
            :param height:
            """
            _u.validate_func_arg_type(self, "__init__", "x", x, int)
            _u.validate_func_arg_type(self, "__init__", "y", y, int)
            _u.validate_func_arg_type(self, "__init__", "width", width, int)
            _u.validate_func_arg_type(self, "__init__", "height", height, int)
            _u.validate_func_arg_positive(self, "__init__", "width", width)
            _u.validate_func_arg_positive(self, "__init__", "height", height)

            self.x = x
            self.y = y
            self.width = width
            self.height = height