|
ug4
|
Namespaces | |
| namespace | diamonds |
| namespace | support |
Classes | |
| class | ArteExpandFracs3D |
| class | CrossingVertexInfo |
| class | MatrixTwoIndices |
| class | T_min |
| class | VertexFractureProperties |
| class | VertexFractureTriple |
Typedefs | |
| using | AttVrtVec = Attachment< std::vector< Vertex * > > |
| using | CrossVertInf = CrossingVertexInfo< Vertex *, IndexType > |
| using | ExpandCrossFracInfo = VertexFractureTriple< std::pair< Edge *, Edge * >, Face *, std::pair< Vertex *, Vertex * > > |
| using | IndexType = unsigned short |
| using | SegmentsFractExtrus = std::vector< VecVertexOfFaceInfo > |
| using | VecEdge = std::vector< Edge * > |
| using | VecExpandCrossFracInfo = std::vector< ExpandCrossFracInfo > |
| using | VecFace = std::vector< Face * > |
| using | VecVertexOfFaceInfo = std::vector< VertexOfFaceInfo > |
| using | VecVertFracTrip = std::vector< VertFracTrip > |
| using | VertexOfFaceInfo = VertexFractureTriple< std::pair< Edge *, Edge * >, Face *, std::pair< vector3, vector3 > > |
| using | VertFracTrip = VertexFractureTriple< Edge *, Face *, vector3 > |
Functions | |
| void | assignFaceSubsetToClosedFace (std::vector< Face * > &faceVec, Grid &grid, SubsetHandler &sh) |
| void | computeDiamondPointXCrossType (ExpandCrossFracInfo &expCFIBeforeFracEdg, ExpandCrossFracInfo &expCFIAfterFracEdg, Vertex *const &crossPt, Grid::VertexAttachmentAccessor< APosition > &aaPos, SubsetHandler &sh, Grid &grid, IndexType const &diamantSubsNum, vector3 &distVecNewVrt2SCrossPt, bool useTrianglesInDiamonds=false) |
| void | createDiamondFacesXCrossType (ExpandCrossFracInfo &expCFIBeforeFracEdg, ExpandCrossFracInfo &expCFIAfterFracEdg, std::vector< Face * > &newDiamFaceVec, SubsetHandler &sh, Grid &grid, IndexType diamantSubsNum, Vertex *&crossPt, bool isFreeTEnd=false) |
| void | createNewFacesForExtXCrossFracs (ExpandCrossFracInfo const &ecf, std::vector< Face * > &newFracFaceVec, bool &boundAtShiftVrtEdg, SubsetHandler &sh, Grid &grid, Vertex *const &crossPt, std::vector< IndexType > const &subdomList) |
| bool | determineOrderOfFaces (VecVertFracTrip const &vecVertFracTrip, VecFace const &assoFaces, VecVertexOfFaceInfo &orderedFaces, SegmentsFractExtrus &segments, IndexType startIndex, std::vector< Edge * > const &allAssoEdges, SubsetHandler &sh, Grid::EdgeAttachmentAccessor< ABool > const &aaMarkEdgeB, std::vector< Edge * > const &adjBndEdgs=std::vector< Edge * >(), Face *const &attFaceOf1stBndEdg=nullptr) |
| bool | ExpandFractures2dArte (Grid &grid, SubsetHandler &sh, std::vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
| bool | ExpandFractures2dArte (Grid &grid, SubsetHandler &sh, vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
| bool | ExpandFractures3dArte (Grid &grid, SubsetHandler &sh, std::vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
| template<typename ASOF > | |
| bool | expandSingleFractureAtGivenSide (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, ASOF const &assoFaces, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV) |
| template<typename ASOF > | |
| bool | expandSingleFractureAtGivenSide (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, ASOF const &assoFaces, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV, CrossVertInf &crossVrtInf, bool insertCrossVrtInf=true) |
| template<> | |
| bool | expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, VecVertexOfFaceInfo const &segPart, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *crossPt, CrossVertInf &crossVrtInf, bool insertCrossVrtInf) |
| template<> | |
| bool | expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, VecVertexOfFaceInfo const &segPart, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV) |
| bool | SortFaces4DiamondCreation (SubsetHandler &sh, std::vector< Face * > &assoFacCrossCop, Edge *&firstEdgeFac, Edge *&secondEdgeFac, Face *&assoFacConsider, VecEdge const &origFracEdg, std::vector< Vertex * > const &shiftVrtcs, Vertex *const &crossPt, Edge *&assoFacEdgBeg2Fix, Edge *&assoFacEdgEnd2Fix, Grid &grid, VecExpandCrossFracInfo &vecExpCrossFI, bool isXCross=true) |
| void | teachAssoFacesNewVrtx (VecVertexOfFaceInfo const &segPart, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, Vertex *const &crossPt, Vertex *const &newShiftVrtx) |
| using ug::arte::AttVrtVec = typedef Attachment<std::vector<Vertex*> > |
| using ug::arte::CrossVertInf = typedef CrossingVertexInfo<Vertex*, IndexType > |
| using ug::arte::ExpandCrossFracInfo = typedef VertexFractureTriple< std::pair<Edge*, Edge*>, Face*, std::pair<Vertex*, Vertex*> > |
| using ug::arte::IndexType = typedef unsigned short |
| using ug::arte::SegmentsFractExtrus = typedef std::vector<VecVertexOfFaceInfo> |
| using ug::arte::VecEdge = typedef std::vector<Edge*> |
| using ug::arte::VecExpandCrossFracInfo = typedef std::vector<ExpandCrossFracInfo> |
| using ug::arte::VecFace = typedef std::vector<Face*> |
| using ug::arte::VecVertexOfFaceInfo = typedef std::vector<VertexOfFaceInfo> |
| using ug::arte::VecVertFracTrip = typedef std::vector<VertFracTrip> |
| using ug::arte::VertexOfFaceInfo = typedef VertexFractureTriple< std::pair<Edge*, Edge*>, Face*, std::pair<vector3,vector3> > |
| using ug::arte::VertFracTrip = typedef VertexFractureTriple<Edge*, Face*, vector3> |
| void ug::arte::assignFaceSubsetToClosedFace | ( | std::vector< Face * > & | faceVec, |
| Grid & | grid, | ||
| SubsetHandler & | sh | ||
| ) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::get_edge(), and ug::ISubsetHandler::get_subset_index().
Referenced by ExpandFractures2dArte().
| void ug::arte::computeDiamondPointXCrossType | ( | ExpandCrossFracInfo & | expCFIBeforeFracEdg, |
| ExpandCrossFracInfo & | expCFIAfterFracEdg, | ||
| Vertex *const & | crossPt, | ||
| Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
| SubsetHandler & | sh, | ||
| Grid & | grid, | ||
| IndexType const & | diamantSubsNum, | ||
| vector3 & | distVecNewVrt2SCrossPt, | ||
| bool | useTrianglesInDiamonds = false |
||
| ) |
| void ug::arte::createDiamondFacesXCrossType | ( | ExpandCrossFracInfo & | expCFIBeforeFracEdg, |
| ExpandCrossFracInfo & | expCFIAfterFracEdg, | ||
| std::vector< Face * > & | newDiamFaceVec, | ||
| SubsetHandler & | sh, | ||
| Grid & | grid, | ||
| IndexType | diamantSubsNum, | ||
| Vertex *& | crossPt, | ||
| bool | isFreeTEnd = false |
||
| ) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), message(), ug::FaceVertices::num_vertices(), UG_LOG, UG_THROW, and ug::FaceVertices::vertex().
Referenced by ExpandFractures2dArte().
| void ug::arte::createNewFacesForExtXCrossFracs | ( | ExpandCrossFracInfo const & | ecf, |
| std::vector< Face * > & | newFracFaceVec, | ||
| bool & | boundAtShiftVrtEdg, | ||
| SubsetHandler & | sh, | ||
| Grid & | grid, | ||
| Vertex *const & | crossPt, | ||
| std::vector< IndexType > const & | subdomList | ||
| ) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), ug::ISubsetHandler::get_subset_index(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::FaceVertices::num_vertices(), UG_LOG, UG_THROW, and ug::FaceVertices::vertex().
Referenced by ExpandFractures2dArte().
| bool ug::arte::determineOrderOfFaces | ( | VecVertFracTrip const & | vecVertFracTrip, |
| VecFace const & | assoFaces, | ||
| VecVertexOfFaceInfo & | orderedFaces, | ||
| SegmentsFractExtrus & | segments, | ||
| IndexType | startIndex, | ||
| std::vector< Edge * > const & | allAssoEdges, | ||
| SubsetHandler & | sh, | ||
| Grid::EdgeAttachmentAccessor< ABool > const & | aaMarkEdgeB, | ||
| std::vector< Edge * > const & | adjBndEdgs = std::vector<Edge* >(), |
||
| Face *const & | attFaceOf1stBndEdg = nullptr |
||
| ) |
References ug::GridSubsetHandler::assign_subset(), ug::FaceContains(), ug::ISubsetHandler::num_subsets(), UG_LOG, and UG_THROW.
Referenced by ExpandFractures2dArte().
| bool ug::arte::ExpandFractures2dArte | ( | Grid & | grid, |
| SubsetHandler & | sh, | ||
| std::vector< FractureInfo > const & | fracInfos, | ||
| bool | useTrianglesInDiamonds, | ||
| bool | establishDiamonds | ||
| ) |
2 dimensional fracture expansion for finite extensions, using the Arte algorithm
References ug::aPosition, ug::GridSubsetHandler::assign_subset(), assignFaceSubsetToClosedFace(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), ug::CalculateCenter(), ug::CalculateCreaseNormal(), computeDiamondPointXCrossType(), ug::Grid::create(), ug::Grid::create_by_cloning(), createDiamondFacesXCrossType(), createNewFacesForExtXCrossFracs(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), determineOrderOfFaces(), ug::DropAPerpendicular(), ug::EdgeContains(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), expandSingleFractureAtGivenSide(), ug::FaceContains(), ug::FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), ug::IsBoundaryEdge2D(), ug::IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::ISubsetHandler::set_subset_name(), ug::FaceDescriptor::set_vertex(), SortFaces4DiamondCreation(), teachAssoFacesNewVrtx(), UG_LOG, UG_THROW, ug::VecAdd(), ug::VecDot(), ug::VecLength(), ug::VecNormalize(), ug::VecScale(), ug::VecSubtract(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), and ug::Selector::vertices_end().
| bool ug::arte::ExpandFractures2dArte | ( | Grid & | grid, |
| SubsetHandler & | sh, | ||
| std::vector< FractureInfo > const & | fracInfos, | ||
| bool | useTrianglesInDiamonds, | ||
| bool | establishDiamonds | ||
| ) |
2 dimensional fracture expansion for finite extensions, using the Arte algorithm
References ug::aPosition, ug::GridSubsetHandler::assign_subset(), assignFaceSubsetToClosedFace(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), ug::CalculateCenter(), ug::CalculateCreaseNormal(), computeDiamondPointXCrossType(), ug::Grid::create(), ug::Grid::create_by_cloning(), createDiamondFacesXCrossType(), createNewFacesForExtXCrossFracs(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), determineOrderOfFaces(), ug::DropAPerpendicular(), ug::EdgeContains(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), expandSingleFractureAtGivenSide(), ug::FaceContains(), ug::FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::arte::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), ug::IsBoundaryEdge2D(), ug::IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::ISubsetHandler::set_subset_name(), ug::FaceDescriptor::set_vertex(), SortFaces4DiamondCreation(), teachAssoFacesNewVrtx(), UG_LOG, UG_THROW, ug::VecAdd(), ug::VecDot(), ug::VecLength(), ug::VecNormalize(), ug::VecScale(), ug::VecSubtract(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), and ug::Selector::vertices_end().
| bool ug::arte::ExpandFractures3dArte | ( | Grid & | grid, |
| SubsetHandler & | sh, | ||
| std::vector< FractureInfo > const & | fracInfos, | ||
| bool | useTrianglesInDiamonds, | ||
| bool | establishDiamonds | ||
| ) |
References ug::arte::ArteExpandFracs3D::run().
| bool ug::arte::expandSingleFractureAtGivenSide | ( | vector3 const & | nOne, |
| vector3 const & | nTwo, | ||
| Edge * | edgeOne, | ||
| Edge * | edgeTwo, | ||
| Face * | facOne, | ||
| Face * | facTwo, | ||
| vector< FractureInfo > const & | fracInfosBySubset, | ||
| vector3 const & | posOldVrt, | ||
| Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
| Grid & | grid, | ||
| SubsetHandler & | sh, | ||
| ASOF const & | assoFaces, | ||
| std::vector< Vertex * > const & | nextFracVrt, | ||
| Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
| int & | dbg_flachen_passiert, | ||
| Vertex * | iterV | ||
| ) |
| bool ug::arte::expandSingleFractureAtGivenSide | ( | vector3 const & | nOne, |
| vector3 const & | nTwo, | ||
| Edge * | edgeOne, | ||
| Edge * | edgeTwo, | ||
| Face * | facOne, | ||
| Face * | facTwo, | ||
| vector< FractureInfo > const & | fracInfosBySubset, | ||
| vector3 const & | posOldVrt, | ||
| Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
| Grid & | grid, | ||
| SubsetHandler & | sh, | ||
| ASOF const & | assoFaces, | ||
| std::vector< Vertex * > const & | nextFracVrt, | ||
| Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
| int & | dbg_flachen_passiert, | ||
| Vertex * | iterV, | ||
| CrossVertInf & | crossVrtInf, | ||
| bool | insertCrossVrtInf = true |
||
| ) |
References ug::GridSubsetHandler::assign_subset(), ug::CalculateCenter(), ug::Grid::create(), ug::DropAPerpendicular(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), UG_LOG, UG_THROW, ug::VecAdd(), ug::VecDot(), ug::VecLength(), ug::VecNormalize(), ug::VecScale(), ug::VecSubtract(), and ug::EdgeVertices::vertex().
| bool ug::arte::expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > | ( | vector3 const & | nOne, |
| vector3 const & | nTwo, | ||
| Edge * | edgeOne, | ||
| Edge * | edgeTwo, | ||
| Face * | facOne, | ||
| Face * | facTwo, | ||
| vector< FractureInfo > const & | fracInfosBySubset, | ||
| vector3 const & | posOldVrt, | ||
| Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
| Grid & | grid, | ||
| SubsetHandler & | sh, | ||
| VecVertexOfFaceInfo const & | segPart, | ||
| std::vector< Vertex * > const & | nextFracVrt, | ||
| Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
| int & | dbg_flachen_passiert, | ||
| Vertex * | crossPt, | ||
| CrossVertInf & | crossVrtInf, | ||
| bool | insertCrossVrtInf | ||
| ) |
| bool ug::arte::expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > | ( | vector3 const & | nOne, |
| vector3 const & | nTwo, | ||
| Edge * | edgeOne, | ||
| Edge * | edgeTwo, | ||
| Face * | facOne, | ||
| Face * | facTwo, | ||
| vector< FractureInfo > const & | fracInfosBySubset, | ||
| vector3 const & | posOldVrt, | ||
| Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
| Grid & | grid, | ||
| SubsetHandler & | sh, | ||
| VecVertexOfFaceInfo const & | segPart, | ||
| std::vector< Vertex * > const & | nextFracVrt, | ||
| Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
| int & | dbg_flachen_passiert, | ||
| Vertex * | iterV | ||
| ) |
References expandSingleFractureAtGivenSide().
| bool ug::arte::SortFaces4DiamondCreation | ( | SubsetHandler & | sh, |
| std::vector< Face * > & | assoFacCrossCop, | ||
| Edge *& | firstEdgeFac, | ||
| Edge *& | secondEdgeFac, | ||
| Face *& | assoFacConsider, | ||
| VecEdge const & | origFracEdg, | ||
| std::vector< Vertex * > const & | shiftVrtcs, | ||
| Vertex *const & | crossPt, | ||
| Edge *& | assoFacEdgBeg2Fix, | ||
| Edge *& | assoFacEdgEnd2Fix, | ||
| Grid & | grid, | ||
| VecExpandCrossFracInfo & | vecExpCrossFI, | ||
| bool | isXCross = true |
||
| ) |
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::EdgeContains(), ug::FaceContains(), UG_LOG, and UG_THROW.
Referenced by ExpandFractures2dArte().
| void ug::arte::teachAssoFacesNewVrtx | ( | VecVertexOfFaceInfo const & | segPart, |
| Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
| Vertex *const & | crossPt, | ||
| Vertex *const & | newShiftVrtx | ||
| ) |
References UG_THROW.
Referenced by ExpandFractures2dArte().