34 for (
auto currentPoint :
points)
37 if (currentPoint->isSelected())
39 currentPoint->setToSelected();
41 if (currentPoint->hasConflicts())
44 Faces& conflictVector = currentPoint->getConflictVector();
45 Faces copyConflictVector = currentPoint->getConflictVector();
50 for (
auto horizonEdge : horizonEdges)
54 PolyhedronFace *neighborFace = horizonEdge->getJointFace();
55 PolyhedronFace *parentFace = horizonEdge->getParentFace();
57 PolyhedronFace *newFace =
new PolyhedronFace(horizonEdge->getP1(), horizonEdge->getP2(), currentPoint);
64 mergeFaces(newFace, neighborFace, currentPoint);
void setContlictListForNewFace(PolyhedronFace *newFace, const PolyhedronFace *neighbor1, const PolyhedronFace *neighbor2)
Definition: Polyhedron.cc:248
PolyhedronPoint computeOutwardNormalVector(const PolyhedronFace *face) const
Definition: Polyhedron.cc:311
std::vector< PolyhedronEdge * > Edges
Definition: Polyhedron.h:38
Points points
Definition: Polyhedron.h:42
Edges computeHorizonEdges(const Faces &visibleFaces) const
Definition: Polyhedron.cc:170
void addFace(PolyhedronFace *face)
Definition: Polyhedron.cc:165
void purgeWrappedFaces()
Definition: Polyhedron.cc:346
void mergeFaces(PolyhedronFace *newFace, PolyhedronFace *neighborFace, PolyhedronPoint *point)
Definition: Polyhedron.cc:217
void initializeConflictGraph()
Definition: Polyhedron.cc:192
void cleanConflictGraph(const Faces &conflictVector)
Definition: Polyhedron.cc:275
std::vector< PolyhedronFace * > Faces
Definition: Polyhedron.h:37
void createInitialTetrahedron()
Definition: Polyhedron.cc:97
bool areCoplanar(const PolyhedronPoint *p1, const PolyhedronPoint *p2, const PolyhedronPoint *p3, const PolyhedronPoint *p4) const
Definition: Polyhedron.cc:90
void purgeConflictFaces(const Faces &conflictVector)
Definition: Polyhedron.cc:302
void connectFaces(PolyhedronFace *newFace)
Definition: Polyhedron.cc:326