X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/6a8f0d937524e9210b3283f8331ccaf6ce3caaa3..e8ebee616179da727b335a0ef37732ee19c65b43:/pypol/geometry.py 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)