Add abstract class GeometricObject
[linpy.git] / pypol / geometry.py
1
2 from abc import ABC, abstractmethod, abstractproperty
3
4
5 __all__ = [
6 'GeometricObject',
7 ]
8
9
10 class GeometricObject(ABC):
11
12 @abstractproperty
13 def symbols(self):
14 pass
15
16 @property
17 def dimension(self):
18 return len(self.symbols)
19
20 @abstractmethod
21 def aspolyhedron(self):
22 pass
23
24 def asdomain(self):
25 return self.aspolyhedron()