-
import functools
import math
import numbers
from . import islhelper
from .islhelper import mainctx, libisl
-from .coordinates import Point
+from .geometry import GeometricObject, Point
from .linexprs import Expression, Symbol, Rational
from .domains import Domain
if inequalities is not None:
raise TypeError('too many arguments')
return cls.fromstring(equalities)
- elif isinstance(equalities, Polyhedron):
- if inequalities is not None:
- raise TypeError('too many arguments')
- return equalities
- elif isinstance(equalities, Domain):
+ elif isinstance(equalities, GeometricObject):
if inequalities is not None:
raise TypeError('too many arguments')
return equalities.aspolyhedron()
angles[m] = angle
return sorted(points, key=angles.get)
+ def faces(self):
+ vertices = self.vertices()
+ faces = []
+ for constraint in self.constraints:
+ face = []
+ for vertex in vertices:
+ if constraint.subs(vertex.coordinates()) == 0:
+ face.append(vertex)
+ faces.append(face)
+ return faces
+
def plot(self):
import matplotlib.pyplot as plt
from matplotlib.path import Path