add raw arg, which skips setter funcs

This commit is contained in:
Jan Petykiewicz 2020-08-11 01:18:29 -07:00
commit f57ccc073d
5 changed files with 89 additions and 38 deletions

View file

@ -160,20 +160,32 @@ class Arc(Shape, metaclass=AutoSlots):
layer: layer_t = 0,
dose: float = 1.0,
repetition: Optional[Repetition] = None,
locked: bool = False):
locked: bool = False,
raw: bool = False,
):
object.__setattr__(self, 'locked', False)
self.identifier = ()
self.radii = radii
self.angles = angles
self.width = width
self.offset = offset
self.rotation = rotation
[self.mirror(a) for a, do in enumerate(mirrored) if do]
self.layer = layer
self.dose = dose
if raw:
self._radii = radii
self._angles = angles
self._width = width
self._offset = offset
self._rotation = rotation
self._repetition = repetition
self._layer = layer
self._dose = dose
else:
self.radii = radii
self.angles = angles
self.width = width
self.offset = offset
self.rotation = rotation
self.repetition = repetition
self.layer = layer
self.dose = dose
self.poly_num_points = poly_num_points
self.poly_max_arclen = poly_max_arclen
self.repetition = repetition
[self.mirror(a) for a, do in enumerate(mirrored) if do]
self.locked = locked
def __deepcopy__(self, memo: Dict = None) -> 'Arc':