ug4
|
#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 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 |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
ug::ArteExpandFracs3D::ArteExpandFracs3D | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
std::vector< FractureInfo > const & | fracInfos, | ||
bool | useTrianglesInDiamonds, | ||
bool | establishDiamonds | ||
) |
References m_sel.
|
virtual |
|
private |
References ug::Selector::begin(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), m_aaMarkFaceB, m_fracInfos, m_fracInfosBySubset, m_originalFractureFaces, m_sel, m_sh, and ug::ISubsetHandler::num_subsets().
Referenced by run().
|
private |
References ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces_dv(), ug::Grid::attach_to_vertices_dv(), ug::Grid::attach_to_volumes(), m_aAdjInfoAVVFT, m_aAdjInfoEdges, m_aAdjInfoFaces, m_aAdjMarkerB, m_aAdjMarkerVFP, m_aAdjVolElmInfo, m_aaMarkEdgeVFP, m_aaMarkFaceB, m_aaMarkVrtVFP, m_aaVolElmInfo, m_aaVrtInfoAssoEdges, m_aaVrtInfoAssoFaces, m_aaVrtInfoFraTri, m_aaVrtVecVol, m_attVrtVec, and m_grid.
Referenced by run().
|
private |
References collectFaceVertices(), and ug::FaceVertices::size().
Referenced by generateVertexInfos().
|
private |
References ug::FaceVertices::num_vertices(), and ug::FaceVertices::vertex().
Referenced by checkIfFacesVerticesCoincide().
|
private |
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::associated_volumes_begin(), ug::Grid::associated_volumes_end(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), ug::CalculateCenter(), ug::CollectEdges(), ug::EdgeContains(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::FaceContains(), ug::Grid::get_edge(), ug::Grid::get_face(), ug::ISubsetHandler::get_subset_index(), ug::IsBoundaryEdge3D(), ug::IsBoundaryVertex3D(), isVrtxSurroundedByFracFaces(), m_aaMarkEdgeVFP, m_aaMarkFaceB, m_aaMarkVrtVFP, m_aaPos, m_aaVolElmInfo, m_aaVrtInfoAssoEdges, m_aaVrtInfoAssoFaces, m_fracInfos, m_grid, m_sel, m_sh, ug::support::VertexFracturePropertiesVol< T, ATT_ELEM >::noFracSuDoAtt, ug::Volume::num_faces(), ug::FaceVertices::num_vertices(), ug::ISelector::select(), UG_LOG, UG_THROW, ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
Referenced by run().
|
private |
References m_aaVrtVecVol, m_sel, ug::VolumeVertices::num_vertices(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
Referenced by run().
|
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::Grid::create(), ug::Grid::create_by_cloning(), ug::Selector::end(), ug::Grid::erase(), 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_aaMarkFaceB, m_aaVrtVecVol, m_fracInfosBySubset, m_grid, m_sel, m_sh, ug::Volume::num_edges(), ug::Volume::num_faces(), ug::Volume::num_sides(), 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::VolumeVertices::vertex(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
Referenced by run().
|
private |
|
private |
|
private |
|
private |
|
private |
References m_aaVrtVecVol, m_sel, ug::VolumeVertices::num_vertices(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
Referenced by run().
|
private |
References ug::GridSubsetHandler::begin(), ug::CalculateCenter(), ug::CalculateNormal(), checkIfFacesVerticesCoincide(), ug::CollectEdges(), ug::CollectVolumes(), ug::EdgeContains(), ug::Grid::enable_options(), ug::GridSubsetHandler::end(), ug::Grid::get_side(), ug::ISubsetHandler::get_subset_index(), m_aaPos, m_aaVrtInfoFraTri, m_fracInfos, m_grid, m_sh, ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), UG_LOG, UG_THROW, ug::FaceVertices::vertex(), and ug::VOLOPT_AUTOGENERATE_FACES.
Referenced by run().
|
private |
References ug::aPosition, ug::Grid::enable_options(), ug::FACEOPT_AUTOGENERATE_EDGES, ug::Grid::has_vertex_attachment(), m_aaPos, m_fracInfos, m_fracInfosBySubset, m_grid, m_sh, ug::ISubsetHandler::num_subsets(), ug::Grid::option_is_enabled(), UG_LOG, and ug::VOLOPT_AUTOGENERATE_FACES.
Referenced by run().
|
private |
References ug::support::VertexFracturePropertiesVol< T, ATT_ELEM >::getAllAttachedFractElems(), ug::support::AttachedGeneralElem< MANIFELM, LOWDIMELM, INDEX_TXP >::getPairLowElm(), ug::support::VertexFracturePropertiesVol< T, ATT_ELEM >::getSudoList(), ug::IsBoundaryEdge3D(), ug::IsBoundaryVertex3D(), m_aaPos, m_grid, ug::support::VertexFracturePropertiesVol< T, ATT_ELEM >::setInfoAllFractureSudosIfClosed(), ug::EdgeVertices::size(), sortElemCircleIsClosed(), UG_LOG, and UG_THROW.
Referenced by countAndSelectFracBaseNums().
|
private |
References ug::Selector::begin(), ug::Selector::end(), m_aaMarkVrtVFP, m_aaPos, m_sel, m_vecCrossVrtInf, UG_LOG, and UG_THROW.
Referenced by run().
bool ug::ArteExpandFracs3D::run | ( | ) |
References assignOrigFracInfos(), attachMarkers(), countAndSelectFracBaseNums(), createConditionForNewVrtcs(), createNewElements(), detachMarkers(), establishNewVrtBase(), generateVertexInfos(), initialize(), loop2EstablishNewVertices(), setSelector(), and UG_LOG.
Referenced by ug::ExpandFractures3dArte().
|
private |
References ug::Selector::assign_grid(), ug::ISelector::enable_autoselection(), ug::ISelector::enable_selection_inheritance(), ug::ISelector::enable_strict_inheritance(), m_grid, and m_sel.
Referenced by run().
|
private |
References ug::FaceContains(), ug::support::AttachedGeneralElem< MANIFELM, LOWDIMELM, INDEX_TXP >::getManifElm(), ug::support::AttachedGeneralElem< MANIFELM, LOWDIMELM, INDEX_TXP >::getPairLowElm(), ug::support::AttachedFractElem< MANIFELM, LOWDIMELM, INDEX_TXP >::getSudo(), UG_LOG, and UG_THROW.
Referenced by isVrtxSurroundedByFracFaces().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), countAndSelectFracBaseNums(), and createNewElements().
|
private |
Referenced by assignOrigFracInfos(), attachMarkers(), countAndSelectFracBaseNums(), and createNewElements().
|
private |
Referenced by attachMarkers(), countAndSelectFracBaseNums(), and loop2EstablishNewVertices().
|
private |
|
private |
Referenced by attachMarkers(), and countAndSelectFracBaseNums().
|
private |
Referenced by attachMarkers(), and countAndSelectFracBaseNums().
|
private |
Referenced by attachMarkers(), and countAndSelectFracBaseNums().
|
private |
Referenced by attachMarkers(), and generateVertexInfos().
|
private |
Referenced by attachMarkers(), createConditionForNewVrtcs(), createNewElements(), and establishNewVrtBase().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
|
private |
|
private |
Referenced by assignOrigFracInfos(), countAndSelectFracBaseNums(), generateVertexInfos(), and initialize().
|
private |
Referenced by assignOrigFracInfos(), createNewElements(), and initialize().
|
private |
|
private |
Referenced by assignOrigFracInfos().
|
private |
|
private |
Referenced by assignOrigFracInfos(), countAndSelectFracBaseNums(), createNewElements(), generateVertexInfos(), and initialize().
|
private |
|
private |
Referenced by loop2EstablishNewVertices().
|
private |