ug4
ug::ArteExpandFracs3D Class Reference

#include <ArteExpandFracs3D.h>

Public Types

using VrtxFracProptsStatus = VertxFracPropts::VrtxFracStatus
 

Public Member Functions

 ArteExpandFracs3D (Grid &grid, SubsetHandler &sh, std::vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds)
 
bool run ()
 
virtual ~ArteExpandFracs3D ()
 

Private Types

using AttachedFractFaceEdgeSudo = support::AttachedFractElem< Face *, Edge *, IndexType >
 
using AttachedGenerFaceEdgeSudo = support::AttachedGeneralElem< Face *, Edge *, IndexType >
 
using AttachedVolumeElemInfo = support::AttachedFullDimElemInfo< Volume *, Face *, Edge *, IndexType >
 
using AttVecAttachedVolumeElemInfo = Attachment< VecAttachedVolumeElemInfo >
 
using AttVecEdge = Attachment< std::vector< Edge * > >
 
using AttVecFace = Attachment< std::vector< Face * > >
 
using AttVecVertFracTrip = Attachment< VecVertFracTrip >
 
using AttVertFracProp = Attachment< VertxFracPropts >
 
using AttVrtVec = Attachment< std::vector< Vertex * > >
 
using CrossVertInf = support::CrossingVertexInfoVol< Vertex *, IndexType >
 
using EdgePair = std::pair< Edge *, Edge * >
 
using IndexType = unsigned short
 
using PairSudoBool = std::pair< IndexType, bool >
 
using SegmentVolElmInfo = VecAttachedVolumeElemInfo
 
using VecAttachedFractFaceEdgeSudo = std::vector< AttachedFractFaceEdgeSudo >
 
using VecAttachedGenerFaceEdgeSudo = std::vector< AttachedGenerFaceEdgeSudo >
 
using VecAttachedVolumeElemInfo = std::vector< AttachedVolumeElemInfo >
 
using VecPairSudoBool = std::vector< PairSudoBool >
 
using VecSegmentVolElmInfo = std::vector< SegmentVolElmInfo >
 
using VecVertFracTrip = std::vector< VertFracTrip >
 
using VertFracTrip = support::VertexFractureTripleMF< Face *, IndexType, Volume *, vector3, Edge * >
 
using VertxFracPropts = support::VertexFracturePropertiesVol< IndexType, AttachedFractFaceEdgeSudo >
 

Private Member Functions

bool assignOrigFracInfos ()
 
bool attachMarkers ()
 
bool checkIfFacesVerticesCoincide (Face *const &facOne, Face *const &facTwo)
 
bool collectFaceVertices (std::vector< Vertex * > &facVrt, Face *const &fac)
 
bool countAndSelectFracBaseNums ()
 
bool createConditionForNewVrtcs ()
 
bool createNewElements ()
 
bool detachMarkers ()
 
template<bool APPLY_GENERAL_SEGMENT_ORDERING, ArteExpandFracs3D::VrtxFracProptsStatus vfp>
bool establishNewVertices (Vertex *const &oldVrt)
 
template<>
bool establishNewVertices (Vertex *const &oldVrt)
 
template<>
bool establishNewVertices (Vertex *const &oldVrt)
 
bool establishNewVrtBase ()
 
bool generateVertexInfos ()
 
bool initialize ()
 
bool isVrtxSurroundedByFracFaces (Vertex *const &vrt, VertxFracPropts &vrtxFracPrps)
 
bool loop2EstablishNewVertices ()
 
bool setSelector ()
 
bool sortElemCircleIsClosed (VecAttachedFractFaceEdgeSudo const &vecAttFac, VecAttachedFractFaceEdgeSudo &vecSortedFac, int startFaceIndexUser=-1, Edge *const &startEdgUser=nullptr, Edge *const &endEdgUser=nullptr)
 

Private Attributes

AttVecVertFracTrip m_aAdjInfoAVVFT
 
AttVecEdge m_aAdjInfoEdges
 
AttVecFace m_aAdjInfoFaces
 
ABool m_aAdjMarkerB
 
AttVertFracProp m_aAdjMarkerVFP
 
AttVecAttachedVolumeElemInfo m_aAdjVolElmInfo
 
Grid::EdgeAttachmentAccessor< AttVertFracPropm_aaMarkEdgeVFP
 
Grid::FaceAttachmentAccessor< ABoolm_aaMarkFaceB
 
Grid::VertexAttachmentAccessor< AttVertFracPropm_aaMarkVrtVFP
 
Grid::VertexAttachmentAccessor< APositionm_aaPos
 
Grid::VertexAttachmentAccessor< AttVecAttachedVolumeElemInfom_aaVolElmInfo
 
Grid::VertexAttachmentAccessor< AttVecEdgem_aaVrtInfoAssoEdges
 
Grid::VertexAttachmentAccessor< AttVecFacem_aaVrtInfoAssoFaces
 
Grid::VertexAttachmentAccessor< AttVecVertFracTripm_aaVrtInfoFraTri
 
Grid::VolumeAttachmentAccessor< AttVrtVecm_aaVrtVecVol
 
AttVrtVec m_attVrtVec
 
bool m_establishDiamonds
 
FaceDescriptor m_facDescr
 
std::vector< FractureInfom_fracInfos
 
std::vector< FractureInfom_fracInfosBySubset
 
Gridm_grid
 
std::vector< Face * > m_originalFractureFaces
 
Selector m_sel
 
SubsetHandlerm_sh
 
bool m_useTrianglesInDiamonds
 
std::vector< CrossVertInfm_vecCrossVrtInf
 
VolumeDescriptor m_volDescr
 

Member Typedef Documentation

◆ AttachedFractFaceEdgeSudo

◆ AttachedGenerFaceEdgeSudo

◆ AttachedVolumeElemInfo

◆ AttVecAttachedVolumeElemInfo

◆ AttVecEdge

using ug::ArteExpandFracs3D::AttVecEdge = Attachment<std::vector<Edge*> >
private

◆ AttVecFace

using ug::ArteExpandFracs3D::AttVecFace = Attachment<std::vector<Face*> >
private

◆ AttVecVertFracTrip

◆ AttVertFracProp

◆ AttVrtVec

using ug::ArteExpandFracs3D::AttVrtVec = Attachment<std::vector<Vertex*> >
private

◆ CrossVertInf

◆ EdgePair

using ug::ArteExpandFracs3D::EdgePair = std::pair<Edge*,Edge*>
private

◆ IndexType

using ug::ArteExpandFracs3D::IndexType = unsigned short
private

◆ PairSudoBool

using ug::ArteExpandFracs3D::PairSudoBool = std::pair<IndexType,bool>
private

◆ SegmentVolElmInfo

◆ VecAttachedFractFaceEdgeSudo

◆ VecAttachedGenerFaceEdgeSudo

◆ VecAttachedVolumeElemInfo

◆ VecPairSudoBool

◆ VecSegmentVolElmInfo

◆ VecVertFracTrip

◆ VertFracTrip

◆ VertxFracPropts

◆ VrtxFracProptsStatus

Constructor & Destructor Documentation

◆ ArteExpandFracs3D()

ug::ArteExpandFracs3D::ArteExpandFracs3D ( Grid grid,
SubsetHandler sh,
std::vector< FractureInfo > const &  fracInfos,
bool  useTrianglesInDiamonds,
bool  establishDiamonds 
)

References m_sel.

◆ ~ArteExpandFracs3D()

ug::ArteExpandFracs3D::~ArteExpandFracs3D ( )
virtual

Member Function Documentation

◆ assignOrigFracInfos()

◆ attachMarkers()

◆ checkIfFacesVerticesCoincide()

bool ug::ArteExpandFracs3D::checkIfFacesVerticesCoincide ( Face *const &  facOne,
Face *const &  facTwo 
)
private

◆ collectFaceVertices()

bool ug::ArteExpandFracs3D::collectFaceVertices ( std::vector< Vertex * > &  facVrt,
Face *const &  fac 
)
private

◆ countAndSelectFracBaseNums()

◆ createConditionForNewVrtcs()

bool ug::ArteExpandFracs3D::createConditionForNewVrtcs ( )
private

◆ createNewElements()

◆ detachMarkers()

◆ establishNewVertices() [1/3]

template<bool APPLY_GENERAL_SEGMENT_ORDERING, ArteExpandFracs3D::VrtxFracProptsStatus vfp>
bool ug::ArteExpandFracs3D::establishNewVertices ( Vertex *const &  oldVrt)
private

◆ establishNewVertices() [2/3]

template<>
bool ug::ArteExpandFracs3D::establishNewVertices ( Vertex *const &  oldVrt)
private

◆ establishNewVertices() [3/3]

template<>
bool ug::ArteExpandFracs3D::establishNewVertices ( Vertex *const &  oldVrt)
private

◆ establishNewVrtBase()

bool ug::ArteExpandFracs3D::establishNewVrtBase ( )
private

◆ generateVertexInfos()

◆ initialize()

◆ isVrtxSurroundedByFracFaces()

◆ loop2EstablishNewVertices()

bool ug::ArteExpandFracs3D::loop2EstablishNewVertices ( )
private

◆ run()

◆ setSelector()

◆ sortElemCircleIsClosed()

bool ug::ArteExpandFracs3D::sortElemCircleIsClosed ( VecAttachedFractFaceEdgeSudo const &  vecAttFac,
VecAttachedFractFaceEdgeSudo vecSortedFac,
int  startFaceIndexUser = -1,
Edge *const &  startEdgUser = nullptr,
Edge *const &  endEdgUser = nullptr 
)
private

Member Data Documentation

◆ m_aAdjInfoAVVFT

AttVecVertFracTrip ug::ArteExpandFracs3D::m_aAdjInfoAVVFT
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjInfoEdges

AttVecEdge ug::ArteExpandFracs3D::m_aAdjInfoEdges
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjInfoFaces

AttVecFace ug::ArteExpandFracs3D::m_aAdjInfoFaces
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjMarkerB

ABool ug::ArteExpandFracs3D::m_aAdjMarkerB
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjMarkerVFP

AttVertFracProp ug::ArteExpandFracs3D::m_aAdjMarkerVFP
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjVolElmInfo

AttVecAttachedVolumeElemInfo ug::ArteExpandFracs3D::m_aAdjVolElmInfo
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aaMarkEdgeVFP

Grid::EdgeAttachmentAccessor<AttVertFracProp> ug::ArteExpandFracs3D::m_aaMarkEdgeVFP
private

◆ m_aaMarkFaceB

◆ m_aaMarkVrtVFP

◆ m_aaPos

◆ m_aaVolElmInfo

Grid::VertexAttachmentAccessor<AttVecAttachedVolumeElemInfo> ug::ArteExpandFracs3D::m_aaVolElmInfo
private

◆ m_aaVrtInfoAssoEdges

Grid::VertexAttachmentAccessor<AttVecEdge> ug::ArteExpandFracs3D::m_aaVrtInfoAssoEdges
private

◆ m_aaVrtInfoAssoFaces

Grid::VertexAttachmentAccessor<AttVecFace> ug::ArteExpandFracs3D::m_aaVrtInfoAssoFaces
private

◆ m_aaVrtInfoFraTri

Grid::VertexAttachmentAccessor<AttVecVertFracTrip> ug::ArteExpandFracs3D::m_aaVrtInfoFraTri
private

◆ m_aaVrtVecVol

◆ m_attVrtVec

AttVrtVec ug::ArteExpandFracs3D::m_attVrtVec
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_establishDiamonds

bool ug::ArteExpandFracs3D::m_establishDiamonds
private

◆ m_facDescr

FaceDescriptor ug::ArteExpandFracs3D::m_facDescr
private

◆ m_fracInfos

std::vector<FractureInfo> ug::ArteExpandFracs3D::m_fracInfos
private

◆ m_fracInfosBySubset

std::vector<FractureInfo> ug::ArteExpandFracs3D::m_fracInfosBySubset
private

◆ m_grid

◆ m_originalFractureFaces

std::vector<Face*> ug::ArteExpandFracs3D::m_originalFractureFaces
private

Referenced by assignOrigFracInfos().

◆ m_sel

◆ m_sh

◆ m_useTrianglesInDiamonds

bool ug::ArteExpandFracs3D::m_useTrianglesInDiamonds
private

◆ m_vecCrossVrtInf

std::vector<CrossVertInf> ug::ArteExpandFracs3D::m_vecCrossVrtInf
private

◆ m_volDescr

VolumeDescriptor ug::ArteExpandFracs3D::m_volDescr
private

The documentation for this class was generated from the following files: