X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Frays.py;h=621ded65a0e25f557a1d9f6db4f92ad9f62f7ac8;hb=7658f591fa2684700dae130eedd56543a2fcadf0;hp=7c8b5beab712c0fe756afbb7645afc92fc3b563c;hpb=2a76e563f2f801ff8fb804c222c95d7cb7c8f620;p=tabakrolletjie.git diff --git a/tabakrolletjie/rays.py b/tabakrolletjie/rays.py index 7c8b5be..621ded6 100644 --- a/tabakrolletjie/rays.py +++ b/tabakrolletjie/rays.py @@ -88,6 +88,8 @@ class RayPolyManager(object): self._start = None # normal vector in direction of start angle limit self._end = None # normal vector in direction of end angle limit self._set_angle_limits(direction, spread) + if direction: + self.direction = direction # Update direction self._max_radius = None # maximum radius in pixels self._min_radius = None # minimum radius in pixels self._set_radius_limits(radius_limits) @@ -156,6 +158,12 @@ class RayPolyManager(object): self._end = self._direction.rotated(-spread) self._poly_cache = None + @property + def spread(self): + if not self._direction: + return 2 * math.pi + return math.fabs(self._start.get_angle_between(self._end)) + def _set_angle_limits(self, direction, spread): if direction is None or spread is None: self._direction = None