26 unsigned int frag_id = std::numeric_limits<unsigned int>::max());
54 std::set<EFANode *>
getFaceNodes(
unsigned int face_id)
const;
56 std::vector<EFAFragment3D *>
split();
61 void getNodeInfo(std::vector<std::vector<unsigned int>> & face_node_indices,
62 std::vector<EFANode *> & nodes)
const;
66 unsigned int startOldFaceID,
67 std::vector<std::vector<EFAFace *>> & subfaces);
virtual void removeInvalidEmbeddedNodes(std::map< unsigned int, EFANode * > &EmbeddedNodes)
std::vector< EFAFace * > _faces
virtual unsigned int getNumCuts() const
bool isFaceInterior(unsigned int face_id) const
virtual bool containsNode(EFANode *node) const
EFAEdge * loneEdgeOnFace(unsigned int face_id) const
unsigned int numFaces() const
void getNodeInfo(std::vector< std::vector< unsigned int > > &face_node_indices, std::vector< EFANode * > &nodes) const
virtual std::set< EFANode * > getAllNodes() const
EFAElement3D * getHostElement() const
void addFace(EFAFace *new_face)
bool hasFaceWithOneCut() const
void combine_two_faces(unsigned int face_id1, unsigned int face_id2, const EFAFace *elem_face)
EFAElement3D * _host_elem
bool isThirdInteriorFace(unsigned int face_id) const
unsigned int getFaceID(EFAFace *face) const
void removeEmbeddedNode(EFANode *emb_node)
EFAFragment3D * connectSubfaces(EFAFace *start_face, unsigned int startOldFaceID, std::vector< std::vector< EFAFace * > > &subfaces)
virtual void switchNode(EFANode *new_node, EFANode *old_node)
std::vector< std::vector< EFAFace * > > _faces_adjacent_to_faces
EFAFace * getFace(unsigned int face_id) const
virtual bool isConnected(EFAFragment *other_fragment) const
virtual unsigned int getNumCutNodes() const
EFAFace * getAdjacentFace(unsigned int face_id, unsigned int edge_id) const
void findFacesAdjacentToFaces()
std::vector< unsigned int > get_interior_face_id() const
std::set< EFANode * > getFaceNodes(unsigned int face_id) const
std::vector< EFAFragment3D * > split()
virtual bool isEdgeConnected(EFAFragment *other_fragment) const