#include <EFAEdge.h>
Public Member Functions | |
EFAEdge (EFANode *node1, EFANode *node2) | |
EFAEdge (const EFAEdge &other_edge) | |
~EFAEdge () | |
std::pair< EFANode *, EFANode * > | getSortedNodes () const |
bool | equivalent (const EFAEdge &other) const |
bool | isEmbeddedPermanent () const |
bool | isPartialOverlap (const EFAEdge &other) const |
bool | containsEdge (const EFAEdge &other) const |
bool | getNodeMasters (EFANode *node, std::vector< EFANode *> &master_nodes, std::vector< double > &master_weights) const |
void | addIntersection (double position, EFANode *embedded_node_tmp, EFANode *from_node) |
void | resetIntersection (double position, EFANode *embedded_node_tmp, EFANode *from_node) |
void | copyIntersection (const EFAEdge &other, unsigned int from_node_id) |
EFANode * | getNode (unsigned int index) const |
EFANode * | getInteriorNode () const |
void | setInteriorNode (EFANode *node) |
void | reverseNodes () |
bool | hasIntersection () const |
bool | hasIntersectionAtPosition (double position, EFANode *from_node) const |
double | getIntersection (unsigned int emb_id, EFANode *from_node) const |
double | distanceFromNode1 (EFANode *node) const |
bool | isEmbeddedNode (const EFANode *node) const |
unsigned int | getEmbeddedNodeIndex (EFANode *node) const |
unsigned int | getEmbeddedNodeIndex (double position, EFANode *from_node) const |
EFANode * | getEmbeddedNode (unsigned int index) const |
unsigned int | numEmbeddedNodes () const |
void | consistencyCheck () |
void | switchNode (EFANode *new_node, EFANode *old_node) |
bool | containsNode (const EFANode *node) const |
void | removeEmbeddedNodes () |
void | removeEmbeddedNode (EFANode *node) |
Private Attributes | |
EFANode * | _edge_node1 |
EFANode * | _edge_node2 |
EFANode * | _edge_interior_node |
std::vector< EFANode * > | _embedded_nodes |
std::vector< double > | _intersection_x |
EFAEdge::~EFAEdge | ( | ) |
Definition at line 132 of file EFAEdge.C.
Referenced by EFAElement2D::addEdgeCut(), EFAElement3D::addFaceEdgeCut(), EFAElement2D::addFragmentEdgeCut(), EFAFragment2D::combineTipEdges(), EFAFace::combineTwoEdges(), and EFAFace::combineWithFace().
void EFAEdge::consistencyCheck | ( | ) |
Definition at line 347 of file EFAEdge.C.
Referenced by EFAEdge().
bool EFAEdge::containsEdge | ( | const EFAEdge & | other | ) | const |
Definition at line 65 of file EFAEdge.C.
Referenced by EFAFragment2D::combineTipEdges(), EFAElement3D::getFragmentFaceEdgeID(), EFAFragment2D::isEdgeInterior(), and isPartialOverlap().
bool EFAEdge::containsNode | ( | const EFANode * | node | ) | const |
double EFAEdge::distanceFromNode1 | ( | EFANode * | node | ) | const |
Definition at line 250 of file EFAEdge.C.
Referenced by EFAElement3D::addFaceEdgeCut(), EFAFragment2D::combineTipEdges(), and EFAElement3D::isPhysicalEdgeCut().
bool EFAEdge::equivalent | ( | const EFAEdge & | other | ) | const |
Definition at line 38 of file EFAEdge.C.
Referenced by EFAElement3D::getNeighborEdgeIndex(), and EFAElement2D::shouldDuplicateForPhantomCorner().
Definition at line 332 of file EFAEdge.C.
Referenced by EFAElement3D::addFaceEdgeCut(), EFAElement3D::checkNeighborFaceCut(), and XFEM::markCutEdgesByState().
Definition at line 283 of file EFAEdge.C.
Referenced by EFAElement3D::addFaceEdgeCut(), EFAElement3D::checkNeighborFaceCut(), distanceFromNode1(), and switchNode().
|
inline |
Definition at line 181 of file EFAEdge.C.
Referenced by EFAElement2D::addEdgeCut(), EFAElement3D::addFaceEdgeCut(), EFAElement2D::addFragmentEdgeCut(), EFAFace::combineWithFace(), XFEMCutElem2D::computePhysicalFaceAreaFraction(), XFEMCutElem2D::computePhysicalVolumeFraction(), EFAElement2D::connectNeighbors(), XFEM::correctCrackExtensionDirection(), EFAFace::EFAFace(), XFEMCutElem2D::getCrackTipOriginAndDirection(), XFEMCutElem2D::getCutPlaneNormal(), XFEMCutElem2D::getCutPlaneOrigin(), XFEM::getFragmentEdges(), XFEMCutElem2D::getFragmentFaces(), XFEMCutElem2D::getIntersectionInfo(), XFEMCutElem2D::getPhysicalQuadraturePoints(), EFAElement3D::isPhysicalEdgeCut(), XFEM::markCutEdgesByState(), EFAElement2D::printElement(), and EFAFace::sortEdges().
bool EFAEdge::getNodeMasters | ( | EFANode * | node, |
std::vector< EFANode *> & | master_nodes, | ||
std::vector< double > & | master_weights | ||
) | const |
bool EFAEdge::hasIntersection | ( | ) | const |
Definition at line 200 of file EFAEdge.C.
Referenced by EFAElement3D::addFaceEdgeCut(), EFAElement2D::addFragmentEdgeCut(), EFAFragment2D::combineTipEdges(), EFAElement2D::connectNeighbors(), EFAElement2D::fragmentEdgeAlreadyCut(), getEmbeddedNodeIndex(), hasIntersectionAtPosition(), and XFEM::markCutEdgesByState().
bool EFAEdge::hasIntersectionAtPosition | ( | double | position, |
EFANode * | from_node | ||
) | const |
Definition at line 213 of file EFAEdge.C.
Referenced by EFAElement3D::addFaceEdgeCut(), EFAElement2D::addFragmentEdgeCut(), and EFAElement3D::checkNeighborFaceCut().
bool EFAEdge::isEmbeddedNode | ( | const EFANode * | node | ) | const |
Definition at line 268 of file EFAEdge.C.
Referenced by containsNode(), distanceFromNode1(), and switchNode().
bool EFAEdge::isEmbeddedPermanent | ( | ) | const |
bool EFAEdge::isPartialOverlap | ( | const EFAEdge & | other | ) | const |
Definition at line 59 of file EFAEdge.C.
Referenced by XFEM::correctCrackExtensionDirection(), and XFEM::markCutEdgesByState().
unsigned int EFAEdge::numEmbeddedNodes | ( | ) | const |
Definition at line 341 of file EFAEdge.C.
Referenced by EFAElement2D::addEdgeCut(), EFAElement3D::addFaceEdgeCut(), and copyIntersection().
void EFAEdge::resetIntersection | ( | double | position, |
EFANode * | embedded_node_tmp, | ||
EFANode * | from_node | ||
) |
Definition at line 52 of file EFAEdge.h.
Referenced by EFAElement2D::createChild(), and EFAElement2D::createEdges().
Definition at line 365 of file EFAEdge.C.
|
private |
Definition at line 27 of file EFAEdge.h.
Referenced by EFAEdge(), getInteriorNode(), and setInteriorNode().
|
private |
Definition at line 25 of file EFAEdge.h.
Referenced by addIntersection(), consistencyCheck(), containsEdge(), containsNode(), distanceFromNode1(), EFAEdge(), getEmbeddedNodeIndex(), getIntersection(), getNode(), getNodeMasters(), getSortedNodes(), hasIntersection(), hasIntersectionAtPosition(), isEmbeddedPermanent(), resetIntersection(), reverseNodes(), and switchNode().
|
private |
Definition at line 26 of file EFAEdge.h.
Referenced by addIntersection(), consistencyCheck(), containsEdge(), containsNode(), distanceFromNode1(), EFAEdge(), getEmbeddedNodeIndex(), getIntersection(), getNode(), getNodeMasters(), getSortedNodes(), hasIntersection(), hasIntersectionAtPosition(), isEmbeddedPermanent(), resetIntersection(), reverseNodes(), and switchNode().
|
private |
Definition at line 28 of file EFAEdge.h.
Referenced by addIntersection(), consistencyCheck(), copyIntersection(), EFAEdge(), getEmbeddedNode(), getEmbeddedNodeIndex(), getNodeMasters(), hasIntersection(), hasIntersectionAtPosition(), isEmbeddedNode(), numEmbeddedNodes(), removeEmbeddedNode(), removeEmbeddedNodes(), resetIntersection(), reverseNodes(), and switchNode().
|
private |
Definition at line 29 of file EFAEdge.h.
Referenced by addIntersection(), consistencyCheck(), copyIntersection(), distanceFromNode1(), EFAEdge(), getEmbeddedNodeIndex(), getIntersection(), getNodeMasters(), hasIntersectionAtPosition(), removeEmbeddedNode(), removeEmbeddedNodes(), resetIntersection(), and reverseNodes().