ug4
Loading...
Searching...
No Matches
ug::ArteExpandFracs3D Class Reference

#include <ArteExpandFracs3D.h>

Public Types

using AttVecSegmLimSid = Attachment< VecSegmentLimitingSides >
 
using IndexType = unsigned short
 
using SegLimSidesFractFace = SegmentLimitingSides::AttFractElm
 
using SegmentLimitingSides = support::SegmentSides< Volume *, Face *, Edge *, IndexType, vector3, Vertex * >
 
using SegmentVrtxFracStatus = SegmentLimitingSides::VrtxFracStatus
 
using VecSegLimSidesFractFace = SegmentLimitingSides::VecAttFractElm
 
using VecSegmentLimitingSides = std::vector< SegmentLimitingSides >
 
using VrtxFracProptsStatus = VertxFracPropts::VrtxFracStatus
 

Public Member Functions

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

Private Types

using AttachedBndryFaceEdgeSudo = support::AttachedBoundryElem< Face *, Edge *, IndexType, NormalVectorFacIntoVol >
 
using AttachedFractFaceEdgeSudo = support::AttachedFractElem< Face *, Edge *, IndexType, NormalVectorFacIntoVol >
 
using AttachedGenerFaceEdgeSudo = support::AttachedGeneralElem< Face *, Edge *, IndexType >
 
using AttachedVolumeElemInfo = support::AttachedFullDimElemInfo< Volume *, Face *, Edge *, IndexType, NormalVectorFacIntoVol >
 
using AttVecAttachedVolumeElemInfo = Attachment< VecAttachedVolumeElemInfo >
 
using AttVecEdge = Attachment< std::vector< Edge * > >
 
using AttVecEndingCrossingFractureSegmentInfo = Attachment< VecEndingCrossingFractureSegmentInfo >
 
using AttVecFace = Attachment< std::vector< Face * > >
 
using AttVecSegmentVolElmInfo = Attachment< VecSegmentVolElmInfo >
 
using AttVertFracProp = Attachment< VertxFracPropts >
 
using AttVrtVec = Attachment< std::vector< Vertex * > >
 
using CrossVertInf = support::CrossingVertexInfoVol< Vertex *, IndexType >
 
using EdgePair = std::pair< Edge *, Edge * >
 
using EndingCrossingFractureSegmentInfo = support::EndingCrossingFractSegmentInfo< Volume *, Face *, Edge *, Vertex *, IndexType >
 
using NormalVectorFacIntoVol = vector3
 
using PairSudoBool = std::pair< IndexType, bool >
 
using PlaneDescriptor = support::ManifoldDescriptor< vector3, Edge * >
 
using PlaneDescriptorType = PlaneDescriptor::ManifoldType
 
using SegmentVolElmInfo = VecAttachedVolumeElemInfo
 
using VecAttachedBndryFaceEdgeSudo = std::vector< AttachedBndryFaceEdgeSudo >
 
using VecAttachedFractFaceEdgeSudo = std::vector< AttachedFractFaceEdgeSudo >
 
using VecAttachedGenerFaceEdgeSudo = std::vector< AttachedGenerFaceEdgeSudo >
 
using VecAttachedVolumeElemInfo = std::vector< AttachedVolumeElemInfo >
 
using VecEndingCrossingFractureSegmentInfo = std::vector< EndingCrossingFractureSegmentInfo >
 
using VecPairSudoBool = std::vector< PairSudoBool >
 
using VecPlaneDescriptor = std::vector< PlaneDescriptor >
 
using VecSegmentVolElmInfo = std::vector< SegmentVolElmInfo >
 
using VertxFracPropts = support::VertexFracturePropertiesVol< IndexType, AttachedFractFaceEdgeSudo >
 

Private Member Functions

template<typename ELEMTYP >
bool addElem (std::vector< ELEMTYP > &knownElems, ELEMTYP elemToAdd)
 
void assignDebugSubsets (bool intermediate)
 
bool assignNotCuttingEdgeUnclosedCrossingCleft (SegLimSidesFractFace const &slsffUncl, Edge *const &commonEdge, Edge *&shiftEdge)
 
bool assignOrigFracInfos ()
 
bool attachMarkers ()
 
bool averageBndryNormals (VecPlaneDescriptor const &vecPlaneBndryDescr, vector3 &averagedNormal)
 
template<typename ELMTYP >
bool checkIfContentUnique (std::vector< ELMTYP > const &vecTest, std::vector< ELMTYP > &content, IndexType mandatoryDifferentElems)
 
bool checkIfFacesVerticesCoincide (Face *const &facOne, Face *const &facTwo)
 
bool collectFaceVertices (std::vector< Vertex * > &facVrt, Face *const &fac)
 
bool computeCrossingPointOf3Planes (VecPlaneDescriptor const &vecPlaneDescr, vector3 &crossingPoint)
 
bool computeCrossPointOfPlaneWithLine (PlaneDescriptor const &shiftedPlane, Edge *const &shiftDirectionEdg, Vertex *const &oldVrt, vector3 &posCrossingPt)
 
bool computeNormalKuhVolProcedure (Volume *const &kuhVol, Face *const &fac, NormalVectorFacIntoVol &normalIntoVol)
 
bool countAndSelectFracBaseNums ()
 
bool createConditionForNewVrtcs ()
 
bool createNewElements ()
 
IndexType deleteEndingCrossingCleftOrigFacs ()
 
bool detachMarkers ()
 
bool detectEndingCrossingCleftsSegmBased ()
 
bool distinguishSegments ()
 
bool enableVolOptAutoGenFac ()
 
bool establishNewVertizesStasiBased (Vertex *const &oldVrt)
 
bool establishNewVrtBase ()
 
bool establishSegmentLimitingSidesInfo ()
 
bool etablishVolumesAtEndingCrossingClefts (std::vector< Volume * > &newFractureVolumes, std::vector< IndexType > &subsOfNewVolumes)
 
bool expandWithinTheSegment (SegmentLimitingSides &segmLimSides)
 
bool findShiftEdgeUncuttingCrossingCleft (VecSegLimSidesFractFace const &vecSegmLimSiFFUnclosed, std::vector< Face * > const &vecEndingFractManifNotCutting, Edge *const &uncuttingLowDimEl, Edge *&shiftLowDimEl, std::vector< Edge * > &vecEdgsNotCutFaces)
 
template<bool FACES_HAVE_SAME_SUDO>
bool fractFacesAreNeighboured (SegLimSidesFractFace const &fractFaceOne, SegLimSidesFractFace const &fractFaceTwo, Edge *&commonEdge)
 
bool initialize ()
 
bool loop2EstablishNewVertices ()
 
int prepareStasi (Vertex *const &vrt, AttachedVolumeElemInfo &attVolElmInfo)
 
bool seletForSegmented ()
 
void setAllowedSqueeze (number allowedSqueeze=0.8)
 
bool setSelector ()
 
bool shiftUnclosedFracFaces ()
 
IndexType shiftUnclosedFracFacesToUnclosedFractFaces (Vertex *const &vrt)
 
bool splitEdgesOfNeighboredEndingCrossingFracVrtcs ()
 
int splitInnerFreeFracEdgs ()
 
bool stasiAlgo (Vertex *const &oldVrt)
 
bool testIfNewPointsSqueezeVolumes (SegmentLimitingSides &segmLimSides, VecPlaneDescriptor const &vecShiftedPlaneDescript)
 

Private Attributes

AttVecEdge m_aAdjInfoEdges
 
AttVecFace m_aAdjInfoFaces
 
ABool m_aAdjMarkerFaceIsFracB
 
ABool m_aAdjMarkerFaceWithEndingCrossingCleft
 
AttVertFracProp m_aAdjMarkerVFP
 
ABool m_aAdjMarkerVrtxAtEndingCrossingCleft
 
Grid::EdgeAttachmentAccessor< AttVertFracPropm_aaMarkEdgeVFP
 
Grid::FaceAttachmentAccessor< ABoolm_aaMarkFaceIsFracB
 
Grid::FaceAttachmentAccessor< ABoolm_aaMarkFaceWithEndingCrossingCleft
 
Grid::VertexAttachmentAccessor< AttVertFracPropm_aaMarkVrtVFP
 
Grid::VertexAttachmentAccessor< ABoolm_aaMarkVrtxAtEndingCrossingCleft
 
Grid::VertexAttachmentAccessor< APositionm_aaPos
 
Grid::VertexAttachmentAccessor< AttVecEdgem_aaVrtInfoAssoEdges
 
Grid::VertexAttachmentAccessor< AttVecFacem_aaVrtInfoAssoFaces
 
Grid::VolumeAttachmentAccessor< AttVrtVecm_aaVrtVecVol
 
Grid::VertexAttachmentAccessor< AttVecSegmentVolElmInfom_accsAttVecSegVolElmInfo
 
number m_allowedSqueeze
 
AttVecSegmentVolElmInfo m_attAdjVecSegVolElmInfo
 
ABool m_attAtFaceIfFaceIsSegmLimFaceEndingCrossingCleft
 
ABool m_attAtVolIfVolTouchesEndingCrossingCleft
 
ABool m_attAtVrtxIfVrtxArisesFromExpandedEndingCrossingCleft
 
AttVecEndingCrossingFractureSegmentInfo m_attAtVrtxVecEndingCrossFractSegmInfo
 
AttVecSegmLimSid m_attVecSegmLimSid
 
AttVrtVec m_attVrtVec
 
bool m_establishDiamonds
 
Grid::FaceAttachmentAccessor< ABoolm_facAttAccsIfFaceIsSegmLimFaceEndingCrossingCleft
 
FaceDescriptor m_facDescr
 
std::vector< FractureInfom_fracInfos
 
std::vector< FractureInfom_fracInfosBySubset
 
Gridm_grid
 
bool m_needToSplitEdgesConnectingNeighbrdEndingCrossCleftVrtx
 
std::vector< Face * > m_originalFractureFaces
 
Selector m_sel
 
SubsetHandlerm_sh
 
bool m_useTrianglesInDiamonds
 
std::vector< CrossVertInfm_vecCrossVrtInf
 
std::vector< Edge * > m_vecEdgeDirectConnectingEndingCrossCleftVrtcs
 
VecEndingCrossingFractureSegmentInfo m_vecEndCrossFractSegmInfo
 
Grid::VolumeAttachmentAccessor< ABoolm_volAttAccsVolTouchesEndingCrossingCleft
 
VolumeDescriptor m_volDescr
 
std::vector< Volume * > m_volsViolatingExpansion
 
std::vector< Vertex * > m_vrtcsViolatingExpansion
 
std::vector< Vertex * > m_vrtxArisesFromExpandedEndingCrossingCleft
 
Grid::VertexAttachmentAccessor< AttVecEndingCrossingFractureSegmentInfom_vrtxAttAccsVecEndingCrossFractSegmInfo
 
Grid::VertexAttachmentAccessor< AttVecSegmLimSidm_vrtxAttAccsVecSegmLimSid
 
Grid::VertexAttachmentAccessor< ABoolm_vrtxAttAccsVrtxArisesFromExpandedEndingCrossingCleft
 

Member Typedef Documentation

◆ AttachedBndryFaceEdgeSudo

◆ AttachedFractFaceEdgeSudo

◆ AttachedGenerFaceEdgeSudo

◆ AttachedVolumeElemInfo

◆ AttVecAttachedVolumeElemInfo

◆ AttVecEdge

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

◆ AttVecEndingCrossingFractureSegmentInfo

◆ AttVecFace

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

◆ AttVecSegmentVolElmInfo

◆ AttVecSegmLimSid

◆ AttVertFracProp

◆ AttVrtVec

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

◆ CrossVertInf

◆ EdgePair

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

◆ EndingCrossingFractureSegmentInfo

◆ IndexType

using ug::ArteExpandFracs3D::IndexType = unsigned short

◆ NormalVectorFacIntoVol

◆ PairSudoBool

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

◆ PlaneDescriptor

◆ PlaneDescriptorType

◆ SegLimSidesFractFace

◆ SegmentLimitingSides

◆ SegmentVolElmInfo

◆ SegmentVrtxFracStatus

◆ VecAttachedBndryFaceEdgeSudo

◆ VecAttachedFractFaceEdgeSudo

◆ VecAttachedGenerFaceEdgeSudo

◆ VecAttachedVolumeElemInfo

◆ VecEndingCrossingFractureSegmentInfo

◆ VecPairSudoBool

◆ VecPlaneDescriptor

◆ VecSegLimSidesFractFace

◆ VecSegmentLimitingSides

◆ VecSegmentVolElmInfo

◆ 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

◆ addElem()

template<typename ELEMTYP >
bool ug::ArteExpandFracs3D::addElem ( std::vector< ELEMTYP > &  knownElems,
ELEMTYP  elemToAdd 
)
private

◆ assignDebugSubsets()

void ug::ArteExpandFracs3D::assignDebugSubsets ( bool  intermediate)
private

◆ assignNotCuttingEdgeUnclosedCrossingCleft()

bool ug::ArteExpandFracs3D::assignNotCuttingEdgeUnclosedCrossingCleft ( SegLimSidesFractFace const &  slsffUncl,
Edge *const &  commonEdge,
Edge *&  shiftEdge 
)
private

◆ assignOrigFracInfos()

◆ attachMarkers()

◆ averageBndryNormals()

bool ug::ArteExpandFracs3D::averageBndryNormals ( VecPlaneDescriptor const &  vecPlaneBndryDescr,
vector3 averagedNormal 
)
private

References UG_LOG, ug::VecAdd(), and ug::VecScale().

Referenced by expandWithinTheSegment().

◆ checkIfContentUnique()

template<typename ELMTYP >
bool ug::ArteExpandFracs3D::checkIfContentUnique ( std::vector< ELMTYP > const &  vecTest,
std::vector< ELMTYP > &  content,
IndexType  mandatoryDifferentElems 
)
private

References UG_LOG, and UG_THROW.

Referenced by detectEndingCrossingCleftsSegmBased().

◆ 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

◆ computeCrossingPointOf3Planes()

bool ug::ArteExpandFracs3D::computeCrossingPointOf3Planes ( VecPlaneDescriptor const &  vecPlaneDescr,
vector3 crossingPoint 
)
private

◆ computeCrossPointOfPlaneWithLine()

◆ computeNormalKuhVolProcedure()

bool ug::ArteExpandFracs3D::computeNormalKuhVolProcedure ( Volume *const &  kuhVol,
Face *const &  fac,
NormalVectorFacIntoVol normalIntoVol 
)
private

◆ countAndSelectFracBaseNums()

◆ createConditionForNewVrtcs()

bool ug::ArteExpandFracs3D::createConditionForNewVrtcs ( )
private

◆ createNewElements()

bool ug::ArteExpandFracs3D::createNewElements ( )
private

only used to initialize a prism. for all other tasks you should use VolumeDescripor.

 please be sure to pass the vertices in the correct order:
 v1, v2, v3: bottom-vertices in counterclockwise order (if viewed from the top).
 v4, v5, v6: top-vertices in counterclockwise order (if viewed from the top).
    PrismDescriptor(Vertex* v1, Vertex* v2, Vertex* v3,

Vertex* v4, Vertex* v5, Vertex* v6);

References ug::GridSubsetHandler::assign_subset(), ug::Selector::begin(), ug::CalculateCenter(), ug::Grid::create(), ug::Grid::create_by_cloning(), detachMarkers(), ug::Selector::end(), ug::Grid::erase(), etablishVolumesAtEndingCrossingClefts(), ug::Grid::get_edge(), ug::Grid::get_face(), ug::Grid::get_side(), ug::ISubsetHandler::get_subset_index(), ug::Volume::get_vertex_indices_of_edge(), ug::Volume::get_vertex_indices_of_face(), ug::ISelector::is_selected(), m_aaMarkEdgeVFP, m_aaMarkFaceIsFracB, m_aaMarkFaceWithEndingCrossingCleft, m_aaPos, m_aaVrtVecVol, m_facAttAccsIfFaceIsSegmLimFaceEndingCrossingCleft, m_fracInfosBySubset, m_grid, m_sel, m_sh, m_vecEndCrossFractSegmInfo, m_volAttAccsVolTouchesEndingCrossingCleft, m_vrtxAttAccsVrtxArisesFromExpandedEndingCrossingCleft, ug::Face::num_edges(), ug::Volume::num_edges(), ug::Volume::num_faces(), ug::Volume::num_sides(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), ug::VolumeDescriptor::num_vertices(), ug::FaceDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), ug::VolumeDescriptor::set_vertex(), UG_LOG, UG_THROW, ug::FaceVertices::vertex(), ug::VolumeVertices::vertex(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().

Referenced by run().

◆ deleteEndingCrossingCleftOrigFacs()

ArteExpandFracs3D::IndexType ug::ArteExpandFracs3D::deleteEndingCrossingCleftOrigFacs ( )
private

◆ detachMarkers()

◆ detectEndingCrossingCleftsSegmBased()

◆ distinguishSegments()

bool ug::ArteExpandFracs3D::distinguishSegments ( )
private

◆ enableVolOptAutoGenFac()

bool ug::ArteExpandFracs3D::enableVolOptAutoGenFac ( )
private

◆ establishNewVertizesStasiBased()

bool ug::ArteExpandFracs3D::establishNewVertizesStasiBased ( Vertex *const &  oldVrt)
private

◆ establishNewVrtBase()

bool ug::ArteExpandFracs3D::establishNewVrtBase ( )
private

◆ establishSegmentLimitingSidesInfo()

◆ etablishVolumesAtEndingCrossingClefts()

◆ expandWithinTheSegment()

bool ug::ArteExpandFracs3D::expandWithinTheSegment ( ArteExpandFracs3D::SegmentLimitingSides segmLimSides)
private

References addElem(), ug::GridSubsetHandler::assign_subset(), averageBndryNormals(), computeCrossingPointOf3Planes(), computeCrossPointOfPlaneWithLine(), ug::Grid::create(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::hasUnclosedFaces(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::isBoundary(), m_aaPos, m_aaVrtVecVol, m_fracInfosBySubset, m_grid, m_sh, m_vecEndCrossFractSegmInfo, m_vrtxArisesFromExpandedEndingCrossingCleft, m_vrtxAttAccsVrtxArisesFromExpandedEndingCrossingCleft, ug::ISubsetHandler::num_subsets(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckBndryManifDescr(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckCrossingTyp(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckFractManifDescr(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckLowdimElmShiftDirectionIfUnclosedFractPresent(), ug::support::ManifoldDescriptor< VECTOR_TYP, LOWDIMELM >::spuckPlaneShifted(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckVecFulldimElem(), ug::support::SegmentSides< FULLDIM_ELEM, MANIFELM, LOWDIMELM, INDEX_TXP, VECTOR_TYP, VRTXTYP >::spuckVertex(), testIfNewPointsSqueezeVolumes(), UG_LOG, UG_THROW, ug::VecCross(), and ug::VecLength().

Referenced by establishNewVertizesStasiBased().

◆ findShiftEdgeUncuttingCrossingCleft()

bool ug::ArteExpandFracs3D::findShiftEdgeUncuttingCrossingCleft ( VecSegLimSidesFractFace const &  vecSegmLimSiFFUnclosed,
std::vector< Face * > const &  vecEndingFractManifNotCutting,
Edge *const &  uncuttingLowDimEl,
Edge *&  shiftLowDimEl,
std::vector< Edge * > &  vecEdgsNotCutFaces 
)
private

◆ fractFacesAreNeighboured()

◆ initialize()

◆ loop2EstablishNewVertices()

bool ug::ArteExpandFracs3D::loop2EstablishNewVertices ( )
private

◆ prepareStasi()

◆ run()

◆ seletForSegmented()

◆ setAllowedSqueeze()

void ug::ArteExpandFracs3D::setAllowedSqueeze ( number  allowedSqueeze = 0.8)
inlineprivate

References m_allowedSqueeze.

◆ setSelector()

◆ shiftUnclosedFracFaces()

bool ug::ArteExpandFracs3D::shiftUnclosedFracFaces ( )
private

◆ shiftUnclosedFracFacesToUnclosedFractFaces()

ArteExpandFracs3D::IndexType ug::ArteExpandFracs3D::shiftUnclosedFracFacesToUnclosedFractFaces ( Vertex *const &  vrt)
private

◆ splitEdgesOfNeighboredEndingCrossingFracVrtcs()

◆ splitInnerFreeFracEdgs()

◆ stasiAlgo()

◆ testIfNewPointsSqueezeVolumes()

Member Data Documentation

◆ 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_aAdjMarkerFaceIsFracB

ABool ug::ArteExpandFracs3D::m_aAdjMarkerFaceIsFracB
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjMarkerFaceWithEndingCrossingCleft

ABool ug::ArteExpandFracs3D::m_aAdjMarkerFaceWithEndingCrossingCleft
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjMarkerVFP

AttVertFracProp ug::ArteExpandFracs3D::m_aAdjMarkerVFP
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aAdjMarkerVrtxAtEndingCrossingCleft

ABool ug::ArteExpandFracs3D::m_aAdjMarkerVrtxAtEndingCrossingCleft
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_aaMarkEdgeVFP

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

◆ m_aaMarkFaceIsFracB

◆ m_aaMarkFaceWithEndingCrossingCleft

Grid::FaceAttachmentAccessor<ABool> ug::ArteExpandFracs3D::m_aaMarkFaceWithEndingCrossingCleft
private

◆ m_aaMarkVrtVFP

◆ m_aaMarkVrtxAtEndingCrossingCleft

Grid::VertexAttachmentAccessor<ABool> ug::ArteExpandFracs3D::m_aaMarkVrtxAtEndingCrossingCleft
private

◆ m_aaPos

◆ m_aaVrtInfoAssoEdges

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

Referenced by attachMarkers(), and seletForSegmented().

◆ m_aaVrtInfoAssoFaces

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

Referenced by attachMarkers(), and seletForSegmented().

◆ m_aaVrtVecVol

◆ m_accsAttVecSegVolElmInfo

◆ m_allowedSqueeze

number ug::ArteExpandFracs3D::m_allowedSqueeze
private

◆ m_attAdjVecSegVolElmInfo

AttVecSegmentVolElmInfo ug::ArteExpandFracs3D::m_attAdjVecSegVolElmInfo
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attAtFaceIfFaceIsSegmLimFaceEndingCrossingCleft

ABool ug::ArteExpandFracs3D::m_attAtFaceIfFaceIsSegmLimFaceEndingCrossingCleft
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attAtVolIfVolTouchesEndingCrossingCleft

ABool ug::ArteExpandFracs3D::m_attAtVolIfVolTouchesEndingCrossingCleft
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attAtVrtxIfVrtxArisesFromExpandedEndingCrossingCleft

ABool ug::ArteExpandFracs3D::m_attAtVrtxIfVrtxArisesFromExpandedEndingCrossingCleft
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attAtVrtxVecEndingCrossFractSegmInfo

AttVecEndingCrossingFractureSegmentInfo ug::ArteExpandFracs3D::m_attAtVrtxVecEndingCrossFractSegmInfo
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attVecSegmLimSid

AttVecSegmLimSid ug::ArteExpandFracs3D::m_attVecSegmLimSid
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_attVrtVec

AttVrtVec ug::ArteExpandFracs3D::m_attVrtVec
private

Referenced by attachMarkers(), and detachMarkers().

◆ m_establishDiamonds

bool ug::ArteExpandFracs3D::m_establishDiamonds
private

◆ m_facAttAccsIfFaceIsSegmLimFaceEndingCrossingCleft

Grid::FaceAttachmentAccessor<ABool> ug::ArteExpandFracs3D::m_facAttAccsIfFaceIsSegmLimFaceEndingCrossingCleft
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_needToSplitEdgesConnectingNeighbrdEndingCrossCleftVrtx

bool ug::ArteExpandFracs3D::m_needToSplitEdgesConnectingNeighbrdEndingCrossCleftVrtx
private

◆ 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_vecEdgeDirectConnectingEndingCrossCleftVrtcs

std::vector<Edge *> ug::ArteExpandFracs3D::m_vecEdgeDirectConnectingEndingCrossCleftVrtcs
private

◆ m_vecEndCrossFractSegmInfo

◆ m_volAttAccsVolTouchesEndingCrossingCleft

Grid::VolumeAttachmentAccessor<ABool> ug::ArteExpandFracs3D::m_volAttAccsVolTouchesEndingCrossingCleft
private

◆ m_volDescr

VolumeDescriptor ug::ArteExpandFracs3D::m_volDescr
private

◆ m_volsViolatingExpansion

std::vector<Volume*> ug::ArteExpandFracs3D::m_volsViolatingExpansion
private

◆ m_vrtcsViolatingExpansion

std::vector<Vertex*> ug::ArteExpandFracs3D::m_vrtcsViolatingExpansion
private

◆ m_vrtxArisesFromExpandedEndingCrossingCleft

std::vector<Vertex*> ug::ArteExpandFracs3D::m_vrtxArisesFromExpandedEndingCrossingCleft
private

Referenced by expandWithinTheSegment().

◆ m_vrtxAttAccsVecEndingCrossFractSegmInfo

Grid::VertexAttachmentAccessor<AttVecEndingCrossingFractureSegmentInfo> ug::ArteExpandFracs3D::m_vrtxAttAccsVecEndingCrossFractSegmInfo
private

◆ m_vrtxAttAccsVecSegmLimSid

◆ m_vrtxAttAccsVrtxArisesFromExpandedEndingCrossingCleft

Grid::VertexAttachmentAccessor<ABool> ug::ArteExpandFracs3D::m_vrtxAttAccsVrtxArisesFromExpandedEndingCrossingCleft
private

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