#include <EFAFragment3D.h>
Public Member Functions | |
EFAFragment3D (EFAElement3D *host, bool create_faces, const EFAElement3D *from_host, unsigned int frag_id=std::numeric_limits< unsigned int >::max()) | |
~EFAFragment3D () | |
virtual void | switchNode (EFANode *new_node, EFANode *old_node) |
virtual bool | containsNode (EFANode *node) const |
virtual unsigned int | getNumCuts () const |
virtual unsigned int | getNumCutNodes () const |
virtual std::set< EFANode * > | getAllNodes () const |
virtual bool | isConnected (EFAFragment *other_fragment) const |
virtual bool | isEdgeConnected (EFAFragment *other_fragment) const |
virtual void | removeInvalidEmbeddedNodes (std::map< unsigned int, EFANode *> &EmbeddedNodes) |
void | combine_tip_faces () |
bool | isFaceInterior (unsigned int face_id) const |
std::vector< unsigned int > | get_interior_face_id () const |
bool | isThirdInteriorFace (unsigned int face_id) const |
unsigned int | numFaces () const |
EFAFace * | getFace (unsigned int face_id) const |
unsigned int | getFaceID (EFAFace *face) const |
void | addFace (EFAFace *new_face) |
std::set< EFANode * > | getFaceNodes (unsigned int face_id) const |
EFAElement3D * | getHostElement () const |
std::vector< EFAFragment3D * > | split () |
void | findFacesAdjacentToFaces () |
EFAFace * | getAdjacentFace (unsigned int face_id, unsigned int edge_id) const |
void | removeEmbeddedNode (EFANode *emb_node) |
bool | hasFaceWithOneCut () const |
void | getNodeInfo (std::vector< std::vector< unsigned int >> &face_node_indices, std::vector< EFANode *> &nodes) const |
std::vector< EFANode * > | getCommonNodes (EFAFragment *other) const |
Private Member Functions | |
EFAFragment3D * | connectSubfaces (EFAFace *start_face, unsigned int startOldFaceID, std::vector< std::vector< EFAFace *>> &subfaces) |
EFAEdge * | loneEdgeOnFace (unsigned int face_id) const |
void | combine_two_faces (unsigned int face_id1, unsigned int face_id2, const EFAFace *elem_face) |
Private Attributes | |
EFAElement3D * | _host_elem |
std::vector< EFAFace * > | _faces |
std::vector< std::vector< EFAFace * > > | _faces_adjacent_to_faces |
Definition at line 20 of file EFAFragment3D.h.
EFAFragment3D::EFAFragment3D | ( | EFAElement3D * | host, |
bool | create_faces, | ||
const EFAElement3D * | from_host, | ||
unsigned int | frag_id = std::numeric_limits<unsigned int>::max() |
||
) |
Definition at line 20 of file EFAFragment3D.C.
Referenced by connectSubfaces(), and split().
EFAFragment3D::~EFAFragment3D | ( | ) |
Definition at line 46 of file EFAFragment3D.C.
void EFAFragment3D::combine_tip_faces | ( | ) |
Definition at line 187 of file EFAFragment3D.C.
|
private |
Definition at line 481 of file EFAFragment3D.C.
Referenced by combine_tip_faces().
|
private |
Definition at line 403 of file EFAFragment3D.C.
Referenced by split().
|
virtual |
Implements EFAFragment.
Definition at line 66 of file EFAFragment3D.C.
Referenced by isThirdInteriorFace().
void EFAFragment3D::findFacesAdjacentToFaces | ( | ) |
Definition at line 338 of file EFAFragment3D.C.
Referenced by combine_two_faces(), connectSubfaces(), EFAFragment3D(), and split().
std::vector< unsigned int > EFAFragment3D::get_interior_face_id | ( | ) | const |
Definition at line 224 of file EFAFragment3D.C.
Definition at line 356 of file EFAFragment3D.C.
|
virtual |
|
inherited |
Definition at line 20 of file EFAFragment.C.
Referenced by EFAElement2D::willCrackTipExtend(), and EFAElement3D::willCrackTipExtend().
Definition at line 254 of file EFAFragment3D.C.
Referenced by EFAElement3D::createChild(), XFEMCutElem3D::getCutPlaneNormal(), XFEMCutElem3D::getCutPlaneOrigin(), and XFEMCutElem3D::getIntersectionInfo().
Definition at line 277 of file EFAFragment3D.C.
EFAElement3D * EFAFragment3D::getHostElement | ( | ) | const |
Definition at line 286 of file EFAFragment3D.C.
void EFAFragment3D::getNodeInfo | ( | std::vector< std::vector< unsigned int >> & | face_node_indices, |
std::vector< EFANode *> & | nodes | ||
) | const |
Definition at line 379 of file EFAFragment3D.C.
Referenced by XFEMCutElem3D::computePhysicalFaceAreaFraction(), and XFEMCutElem3D::computePhysicalVolumeFraction().
|
virtual |
Implements EFAFragment.
Definition at line 91 of file EFAFragment3D.C.
|
virtual |
Implements EFAFragment.
Definition at line 81 of file EFAFragment3D.C.
Referenced by hasFaceWithOneCut().
bool EFAFragment3D::hasFaceWithOneCut | ( | ) | const |
Definition at line 369 of file EFAFragment3D.C.
Referenced by removeInvalidEmbeddedNodes(), and split().
|
virtual |
Implements EFAFragment.
Definition at line 107 of file EFAFragment3D.C.
|
virtual |
Definition at line 122 of file EFAFragment3D.C.
bool EFAFragment3D::isFaceInterior | ( | unsigned int | face_id | ) | const |
Definition at line 206 of file EFAFragment3D.C.
Referenced by EFAElement3D::createChild(), get_interior_face_id(), XFEMCutElem3D::getCutPlaneNormal(), XFEMCutElem3D::getCutPlaneOrigin(), XFEMCutElem3D::getIntersectionInfo(), XFEMCutElem3D::numCutPlanes(), and removeInvalidEmbeddedNodes().
bool EFAFragment3D::isThirdInteriorFace | ( | unsigned int | face_id | ) | const |
Definition at line 235 of file EFAFragment3D.C.
Referenced by XFEM::markCutFacesByGeometry().
Definition at line 471 of file EFAFragment3D.C.
Referenced by connectSubfaces().
unsigned int EFAFragment3D::numFaces | ( | ) | const |
Definition at line 248 of file EFAFragment3D.C.
Referenced by connectSubfaces(), EFAElement3D::createChild(), EFAFragment3D(), XFEMCutElem3D::getCutPlaneNormal(), XFEMCutElem3D::getCutPlaneOrigin(), XFEM::getFragmentFaces(), XFEMCutElem3D::getIntersectionInfo(), isConnected(), isEdgeConnected(), and XFEMCutElem3D::numCutPlanes().
Definition at line 362 of file EFAFragment3D.C.
|
virtual |
Implements EFAFragment.
Definition at line 139 of file EFAFragment3D.C.
std::vector< EFAFragment3D * > EFAFragment3D::split | ( | ) |
Definition at line 292 of file EFAFragment3D.C.
Implements EFAFragment.
Definition at line 59 of file EFAFragment3D.C.
|
private |
Definition at line 31 of file EFAFragment3D.h.
Referenced by addFace(), combine_tip_faces(), combine_two_faces(), containsNode(), EFAFragment3D(), findFacesAdjacentToFaces(), get_interior_face_id(), getAllNodes(), getFace(), getFaceID(), getFaceNodes(), getNodeInfo(), getNumCuts(), hasFaceWithOneCut(), isConnected(), isEdgeConnected(), isFaceInterior(), isThirdInteriorFace(), loneEdgeOnFace(), numFaces(), removeEmbeddedNode(), removeInvalidEmbeddedNodes(), split(), switchNode(), and ~EFAFragment3D().
|
private |
Definition at line 32 of file EFAFragment3D.h.
Referenced by combine_two_faces(), findFacesAdjacentToFaces(), getAdjacentFace(), and loneEdgeOnFace().
|
private |
Definition at line 30 of file EFAFragment3D.h.
Referenced by combine_tip_faces(), connectSubfaces(), getHostElement(), isFaceInterior(), isThirdInteriorFace(), removeInvalidEmbeddedNodes(), and split().