|
ug4
|
#include <DiamondsEstablish3D.h>
Public Types | |
| using | IndexType = unsigned short |
| using | VecVolManifVrtxCombi = std::vector< VolManifVrtxCombi > |
| using | VolManifVrtxCombi = diamonds::VolManifVrtxCombi< Volume *, Face *, Edge *, Vertex *, IndexType > |
| using | VrtxPair = std::pair< Vertex *, Vertex * > |
Public Member Functions | |
| bool | createTheDiamonds () |
| DiamondsEstablish3D (Grid &grid, SubsetHandler &sh, VecVolManifVrtxCombi const &vecVolManifVrtxC) | |
| virtual | ~DiamondsEstablish3D () |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| using ug::arte::diamonds::DiamondsEstablish3D::IndexType = unsigned short |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| using ug::arte::diamonds::DiamondsEstablish3D::VecVolManifVrtxCombi = std::vector<VolManifVrtxCombi> |
|
private |
| using ug::arte::diamonds::DiamondsEstablish3D::VolManifVrtxCombi = diamonds::VolManifVrtxCombi<Volume*,Face*,Edge*, Vertex*, IndexType> |
|
private |
|
private |
|
private |
|
private |
|
private |
| using ug::arte::diamonds::DiamondsEstablish3D::VrtxPair = std::pair<Vertex*,Vertex*> |
| ug::arte::diamonds::DiamondsEstablish3D::DiamondsEstablish3D | ( | Grid & | grid, |
| SubsetHandler & | sh, | ||
| DiamondsEstablish3D::VecVolManifVrtxCombi const & | vecVolManifVrtxC | ||
| ) |
References m_sel.
|
virtual |
|
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(), generateNewDiamSudos(), m_attAccsElmGrpVrtx2BQnchd, m_attAccsInfoVecSudosTouchingVrtx, m_attAccsVrtxIsCenterVrtx, m_grid, m_sel, m_vecElemGroupVrtx2BQuenched, and ug::ISelector::select().
Referenced by createTheDiamonds().
|
private |
References ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::assignMidPointOfShiftVrtcs(), createMidVrtx(), ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckShiftVrtcs(), and UG_LOG.
Referenced by establishElems2BeQuenched().
|
private |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::get_edge(), ug::Grid::get_face(), m_grid, m_sh, ug::Volume::num_edges(), ug::Volume::num_faces(), ug::VolumeVertices::num_vertices(), UG_LOG, and ug::VolumeVertices::vertex().
Referenced by postprocessNewDiamVols(), and splitThreeCrossLargeDiams().
|
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_dv(), m_attAccsCenterVrtxOfShiftVrtx, m_attAccsEdgeCanBeRemoved, m_attAccsEdgeIsShiftEdge, m_attAccsElmGrpVrtx2BQnchd, m_attAccsFacIsShiftFac, m_attAccsFacIsShiftQuadriliteralFac, m_attAccsFacIsShiftTriangleFac, m_attAccsFacIsTwinFac, m_attAccsInfoVecSudosTouchingVrtx, m_attAccsMidPtVrtxOfShiftVrtx, m_attAccsNewSudoOfVrtx, m_attAccsVolGetsShrinked, m_attAccsVrtVecVol, m_attAccsVrtxIsCenterVrtx, m_attAccsVrtxIsMidPtOfShiftVrtcs, m_attAccsVrtxIsShiftVrtx, m_attCenterVrtxOfShiftVrtx, m_attEdgeCanBeRemoved, m_attElmGrpVrtx2BQnchd, m_attInfoVecSudosTouchingVrtx, m_attMarkEdgeIsShiftEdge, m_attMarkShiftFace, m_attMarkShiftQuadriliteralFace, m_attMarkShiftTriangleFace, m_attMarkTwinFace, m_attMarkVolGetsShrinked, m_attMarkVrtxIsCenterVrtx, m_attMarkVrtxIsShiftVrtx, m_attMidPtVrtxOfShiftVrtx, m_attNewSudoOfVrtx, m_attVrtVec, m_attVrtxIsMidPtOfShiftVrtx, and m_grid.
Referenced by createTheDiamonds().
|
private |
References m_attAccsCenterVrtxOfShiftVrtx.
|
private |
References m_attAccsVrtVecVol, m_sel, ug::VolumeVertices::num_vertices(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
Referenced by createTheDiamonds().
|
private |
References ug::Grid::create(), m_aaPos, m_grid, m_vecCombiShiftVrtxMidVrtx, ug::VecAdd(), and ug::VecScale().
Referenced by assignMidPointOfShiftVrtcs().
| bool ug::arte::diamonds::DiamondsEstablish3D::createTheDiamonds | ( | ) |
References assignBasicAtts(), attachMarkers(), createConditionForNewVrtcs(), detachMarkers(), detectRemovableEdges(), determineShiftFaces(), distributeInfosForShrinkingVols(), ug::ISelector::enable_selection_inheritance(), establishElems2BeQuenched(), figureOutTheEdges(), findRegions2BShrinked(), initialize(), m_sel, postprocessNewDiamVols(), setSelector(), shrinkVolumes(), sortElems2BQuenched(), trafoCollectedInfo2Attachments(), and UG_LOG.
Referenced by ug::arte::ArteExpandFracs3D::createTheDiamonds().
|
private |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), m_aaPos, m_grid, m_sh, ug::ISubsetHandler::num_subsets(), ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckCenterVertex(), ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckPairLowDimElem(), ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckVecFullLowDimManifQuintuplet(), UG_LOG, ug::FaceVertices::vertex(), and ug::VolumeVertices::vertex().
|
private |
References ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Grid::detach_from_volumes(), m_attCenterVrtxOfShiftVrtx, m_attEdgeCanBeRemoved, m_attElmGrpVrtx2BQnchd, m_attInfoVecSudosTouchingVrtx, m_attMarkEdgeIsShiftEdge, m_attMarkShiftFace, m_attMarkShiftQuadriliteralFace, m_attMarkShiftTriangleFace, m_attMarkTwinFace, m_attMarkVolGetsShrinked, m_attMarkVrtxIsCenterVrtx, m_attMarkVrtxIsShiftVrtx, m_attMidPtVrtxOfShiftVrtx, m_attNewSudoOfVrtx, m_attVrtVec, m_attVrtxIsMidPtOfShiftVrtx, and m_grid.
Referenced by createTheDiamonds().
|
private |
|
private |
References ug::Selector::begin(), ug::CalculateCenter(), ug::Selector::end(), m_aaPos, m_attAccsFacIsShiftFac, m_attAccsFacIsShiftQuadriliteralFac, m_attAccsFacIsShiftTriangleFac, m_attAccsVrtxIsCenterVrtx, m_attAccsVrtxIsShiftVrtx, m_sel, ug::FaceVertices::num_vertices(), UG_LOG, and ug::FaceVertices::vertex().
Referenced by createTheDiamonds().
|
private |
References m_vecElemGroupVrtx2BQuenched, teachMidVrtx2Vol(), and UG_LOG.
Referenced by createTheDiamonds().
|
private |
References assignMidPointOfShiftVrtcs(), ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::checkIntegrity(), ug::arte::diamonds::ElemsToBeQuenched4DiamSpace< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::checkIntegrity(), m_vecElems2BQuenched, m_vecVolElmFac5, ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckPairLowDimElem(), ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::swapEntries(), and UG_LOG.
Referenced by createTheDiamonds().
|
private |
|
private |
References m_grid, m_vecVolManifVrtxCombiToShrink4Diams, and UG_LOG.
Referenced by createTheDiamonds().
|
private |
References ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::checkIntegrity(), m_vecVolElmFac5, m_vecVolManifVrtxCombiToShrink4Diams, ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckManif(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckOldAndShiftVrtx(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckSudo(), trafoVolFacVrtxCombiPair2FullLowDimManifQuintuplet(), and UG_LOG.
Referenced by createTheDiamonds().
|
private |
References m_attAccsVrtVecVol.
Referenced by shrinkVolumes().
|
private |
References ug::arte::diamonds::addElem(), ug::GridSubsetHandler::assign_subset(), m_attAccsNewSudoOfVrtx, m_sh, m_sudosTable, m_vecCombiCntrVrtxSudo, ug::ISubsetHandler::num_subsets(), and UG_LOG.
Referenced by assignBasicAtts().
|
private |
References ug::aPosition, ug::Grid::has_vertex_attachment(), m_aaPos, m_grid, and UG_LOG.
Referenced by createTheDiamonds().
|
private |
|
private |
|
private |
References ug::Selector::begin(), ug::CalculateCenter(), ug::Grid::create(), ug::Grid::create_by_cloning(), ug::Selector::end(), ug::Grid::erase(), findShiftFaceVertices(), ug::Grid::get_edge(), ug::Grid::get_face(), ug::Grid::get_side(), ug::Volume::get_vertex_indices_of_edge(), ug::Volume::get_vertex_indices_of_face(), ug::ISelector::is_selected(), m_aaPos, m_attAccsEdgeCanBeRemoved, m_attAccsFacIsShiftFac, m_attAccsFacIsShiftQuadriliteralFac, m_attAccsInfoVecSudosTouchingVrtx, m_attAccsVrtVecVol, m_attAccsVrtxIsCenterVrtx, m_attAccsVrtxIsShiftVrtx, m_grid, m_sel, m_sh, m_vecCombiNewVolsThreeCross, m_vecCombiNewVolsTwoCross, 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::VolumeVertices::vertex(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
Referenced by createTheDiamonds().
|
private |
|
private |
References ug::arte::diamonds::addElem(), assignSudoOfNewVols2VolAndSubElems(), ug::Grid::create(), ug::DropAPerpendicular(), ug::EdgeContains(), ug::Grid::erase(), ug::FaceContains(), ug::Grid::get_edge(), ug::Grid::get_face(), m_aaPos, m_attAccsNewSudoOfVrtx, m_edges2BDeletedAtLastStep, m_faces2BDeletedAtLastStep, m_grid, ug::Volume::num_edges(), ug::Volume::num_faces(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::schluckNewSplitVrtx(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::spuckCenterVrtcsSudos(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::spuckFulldimElem(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::spuckMidPtVrtcs(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::spuckShiftVrtcs(), ug::arte::diamonds::CombiEntitiesProperties< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VRTXTYPE, INDEXTYP, typename, typename, typename, typename >::spuckThreeCrossIndex(), and UG_LOG.
Referenced by postprocessNewDiamVols().
|
private |
References ug::GridSubsetHandler::assign_subset(), m_attAccsVrtVecVol, m_sh, ug::ISubsetHandler::num_subsets(), and UG_LOG.
Referenced by distributeInfosForShrinkingVols().
|
private |
|
private |
References m_attAccsEdgeIsShiftEdge, m_attAccsFacIsTwinFac, m_attAccsVolGetsShrinked, m_attAccsVrtxIsShiftVrtx, m_sel, ug::ISelector::select(), ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckManifElem(), ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckPairFullLowDimTwin(), and ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckShiftVrtcs().
Referenced by trafoCollectedInfo2Attachments().
|
private |
References ug::arte::diamonds::FullLowDimManifQuintuplet< FULLDIMELEM, MANIFELEM, LOWDIMELEM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::checkIntegrity(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckFulldimElem(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckLowDimElem(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckManif(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckOldAndShiftVrtx(), ug::arte::diamonds::VolManifVrtxCombi< FULLDIMELEM, MANIFELEM, LOWDIMELM, VERTEXTYP, INDEXTYP, typename, typename, typename, typename >::spuckSudo(), and UG_LOG.
Referenced by findRegions2BShrinked().
|
private |
Referenced by createMidVrtx(), debugE2bQ(), determineShiftFaces(), initialize(), shrinkVolumes(), and splitThreeCrossLargeDiams().
|
private |
Referenced by attachMarkers(), checkAttsOfShiftFaceVrtcs(), and trafoCollectedInfo2Attachments().
|
private |
Referenced by attachMarkers(), detectRemovableEdges(), and shrinkVolumes().
|
private |
Referenced by attachMarkers(), and trafoQuintupleInfo2Attachments().
|
private |
Referenced by assignBasicAtts(), and attachMarkers().
|
private |
Referenced by attachMarkers(), determineShiftFaces(), and shrinkVolumes().
|
private |
Referenced by attachMarkers(), determineShiftFaces(), and shrinkVolumes().
|
private |
Referenced by attachMarkers(), and determineShiftFaces().
|
private |
Referenced by attachMarkers(), detectRemovableEdges(), and trafoQuintupleInfo2Attachments().
|
private |
Referenced by assignBasicAtts(), attachMarkers(), and shrinkVolumes().
|
private |
Referenced by attachMarkers(), and trafoCollectedInfo2Attachments().
|
private |
Referenced by attachMarkers(), generateNewDiamSudos(), and splitThreeCrossLargeDiams().
|
private |
Referenced by attachMarkers(), and trafoQuintupleInfo2Attachments().
|
private |
Referenced by attachMarkers(), createConditionForNewVrtcs(), findShiftFaceVertices(), shrinkVolumes(), and teachMidVrtx2Vol().
|
private |
Referenced by assignBasicAtts(), attachMarkers(), detectRemovableEdges(), determineShiftFaces(), and shrinkVolumes().
|
private |
Referenced by attachMarkers(), and trafoCollectedInfo2Attachments().
|
private |
Referenced by attachMarkers(), determineShiftFaces(), shrinkVolumes(), and trafoQuintupleInfo2Attachments().
|
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(), 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(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
Referenced by attachMarkers(), and detachMarkers().
|
private |
|
private |
|
private |
Referenced by postprocessNewDiamVols(), and splitThreeCrossLargeDiams().
|
private |
Referenced by postprocessNewDiamVols(), and splitThreeCrossLargeDiams().
|
private |
|
private |
|
private |
Referenced by assignSudoOfNewVols2VolAndSubElems(), debugE2bQ(), generateNewDiamSudos(), shrinkVolumes(), and teachMidVrtx2Vol().
|
private |
Referenced by generateNewDiamSudos().
|
private |
Referenced by generateNewDiamSudos(), and postprocessNewDiamVols().
|
private |
Referenced by postprocessNewDiamVols(), and shrinkVolumes().
|
private |
Referenced by postprocessNewDiamVols(), and shrinkVolumes().
|
private |
Referenced by createMidVrtx().
|
private |
|
private |
Referenced by establishElems2BeQuenched(), and sortElems2BQuenched().
|
private |
Referenced by establishElems2BeQuenched(), and findRegions2BShrinked().
|
private |
Referenced by figureOutTheEdges(), and findRegions2BShrinked().