Make coordinates mandatory in Point constructor
[linpy.git] / pypol / coordinates.py
index 78e8d4a..f76b30a 100644 (file)
@@ -74,7 +74,7 @@ class Point(Coordinates):
     This class represents points in space.
     """
 
     This class represents points in space.
     """
 
-    def __new__(cls, coordinates=None):
+    def __new__(cls, coordinates):
         if isinstance(coordinates, Mapping):
             coordinates = coordinates.items()
         self = object().__new__(cls)
         if isinstance(coordinates, Mapping):
             coordinates = coordinates.items()
         self = object().__new__(cls)
@@ -112,6 +112,13 @@ class Point(Coordinates):
         return isinstance(other, Point) and \
             self._coordinates == other._coordinates
 
         return isinstance(other, Point) and \
             self._coordinates == other._coordinates
 
+    def aspolyhedron(self):
+        from .polyhedra import Polyhedron
+        equalities = []
+        for symbol, coordinate in self.coordinates():
+            equalities.append(symbol - coordinate)
+        return Polyhedron(equalities)
+
 
 class Vector(Coordinates):
     """
 
 class Vector(Coordinates):
     """