X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/6a8f0d937524e9210b3283f8331ccaf6ce3caaa3..2c669de47805cf0b8bd1c8bcf3958f52b1902926:/pypol/geometry.py?ds=sidebyside diff --git a/pypol/geometry.py b/pypol/geometry.py index ce055a4..ea751ae 100644 --- a/pypol/geometry.py +++ b/pypol/geometry.py @@ -106,6 +106,9 @@ class Point(Coordinates, GeometricObject): def isorigin(self): return not bool(self) + def __hash__(self): + return super().__hash__() + def __add__(self, other): if not isinstance(other, Vector): return NotImplemented @@ -145,14 +148,18 @@ class Vector(Coordinates): initial = Point(initial) if terminal is None: coordinates = initial._coordinates - elif not isinstance(terminal, Point): - terminal = Point(terminal) + else: + if not isinstance(terminal, Point): + terminal = Point(terminal) coordinates = terminal._map2(initial, operator.sub) return super().__new__(cls, coordinates) def isnull(self): return not bool(self) + def __hash__(self): + return super().__hash__() + def __add__(self, other): if isinstance(other, (Point, Vector)): coordinates = self._map2(other, operator.add)