Description
If
polyhedralComplex is applied to a
Polyhedron it generates the
PolyhedralComplex given by the Polyhedron and all of its faces. If applied to a
List the list must only contain Polyhedra and PolyhedralComplexes in the same ambient space. Then it adds the Polyhedra in the List and the generating Polyhedra of the PolyhedralComplexes in the List one by one to the new PolyhedralComplex, checking each time if the new Polyhedron is compatible with the polyhedra that have already been added, i.e. that the intersection with each of them is a face of both Polyhedra (intersection condition).
If one of the polyhedra is in the wrong ambient space (i.e. not the ambient space of the first object in the list), then there will be an error and no PolyhedralComplex will be returned. If the intersection condition fails, there will also be an error. The pairs of incompatible polyhedra can be accessed with the function
incompPolyhedra.
i1 : P = convexHull matrix {{1,1,0},{0,1,0}}
o1 = {ambient dimension => 2 }
dimension of lineality space => 0
dimension of polyhedron => 2
number of facets => 3
number of rays => 0
number of vertices => 3
o1 : Polyhedron

i2 : PC = polyhedralComplex P
o2 = {ambient dimension => 2 }
number of generating polyhedra => 1
top dimension of the polyhedra => 2
o2 : PolyhedralComplex

i3 : P1 = convexHull matrix {{1,0,0},{0,1,0}};

i4 : P2 = convexHull matrix {{0,1,0},{1,1,0}};

i5 : PC = polyhedralComplex {PC,P1,P2}
o5 = {ambient dimension => 2 }
number of generating polyhedra => 3
top dimension of the polyhedra => 2
o5 : PolyhedralComplex
