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