__getitem__ = coordinate
+ def values(self):
+ yield from self._coordinates.values()
+
def __bool__(self):
return any(self._coordinates.values())
def isorigin(self):
return not bool(self)
+ def __hash__(self):
+ return super().__hash__()
+
def __add__(self, other):
if not isinstance(other, Vector):
return NotImplemented
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)