ug4
selection_util.h File Reference

Go to the source code of this file.

Namespaces

 ug
 the ug namespace
 

Functions

template<class TElem , class TSelector >
void ug::AssignSelectionStateToSides (TSelector &sel, bool recursive)
 Assigns the selection state of selected elements to associated sides. More...
 
template<class TAAPosVRT >
bool ug::CalculateCenter (typename TAAPosVRT::ValueType &centerOut, Selector &sel, TAAPosVRT &aaPos)
 calculates the center of selected objects More...
 
template<class TSelector >
UG_API void ug::CloseSelection (TSelector &sel)
 Selects all associated elements of lower dimensions. More...
 
size_t ug::CollectVerticesTouchingSelection (std::vector< Vertex * > &vrtsOut, ISelector &sel)
 Collects all vertices which are selected or which touch a selected element. More...
 
template<class TSelector >
void ug::DeselectBoundarySelectionEdges (TSelector &sel)
 deselects all edges that are connected to unselected elements. More...
 
template<class TSelector >
void ug::DeselectBoundarySelectionFaces (TSelector &sel)
 deselects all faces that are connected to unselected elements. More...
 
template<class TSelector >
void ug::DeselectBoundarySelectionVertices (TSelector &sel)
 deselects all vertices that are connected to unselected elements. More...
 
template<class TSelector >
void ug::EraseSelectedObjects (TSelector &sel)
 Erases selected objects from the associated grid. More...
 
template<class TSelector >
UG_API void ug::ExtendSelection (TSelector &sel, size_t extSize, ISelector::status_t status=ISelector::SELECTED)
 extends the selection to neighbours of selected elements. More...
 
template<class TSelector , class TAAPos >
UG_API void ug::ExtendSelectionInDirection (TSelector &sel, size_t extSize, const typename TAAPos::ValueType &dir, number minAngle, number maxAngle, const TAAPos &aaPos, ISelector::status_t status=ISelector::SELECTED)
 extends the selection to neighbours of selected elements in the given direction. More...
 
template<class TAAPosVRT >
UG_API number ug::FaceArea (ISelector &sel, TAAPosVRT &aaPos)
 
template<class TSelector >
void ug::InvertSelection (TSelector &sel)
 Inverts the selection. More...
 
template<class TSelector , class TIterator >
void ug::InvertSelection (TSelector &sel, TIterator begin, TIterator end)
 Inverts the selection of the elements between begin and end. More...
 
template<class TIter >
void ug::SelectAreaBoundary (ISelector &sel, const TIter begin, const TIter end)
 selects sides that are only adjacent to one of the given inner elements More...
 
template<class TElem , class TIterator >
void ug::SelectAssociated (ISelector &sel, TIterator begin, TIterator end, ISelector::status_t status=ISelector::SELECTED)
 Selects all elements of type TElem, which touch an element between begin and end. More...
 
template<class TSelector , class TElemIterator >
void ug::SelectAssociatedEdges (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED)
 selects all associated edges of the elements between elemsBegin and elemsEnd More...
 
template<class TSelector , class TElemIterator >
void ug::SelectAssociatedFaces (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED)
 selects all associated faces of the elements between elemsBegin and elemsEnd More...
 
void ug::SelectAssociatedGenealogy (MGSelector &msel, bool selectAssociatedElements)
 Selects the complete genealogy of all selected elements. More...
 
template<class TSelector >
UG_API void ug::SelectAssociatedGridObjects (TSelector &sel, ISelector::status_t status=ISelector::SELECTED)
 selects associated geometric objects of selected ones on each level. More...
 
template<class TSelector , class TElemIterator >
void ug::SelectAssociatedVertices (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED)
 selects all associated vertices of the elements between elemsBegin and elemsEnd More...
 
template<class TSelector , class TElemIterator >
void ug::SelectAssociatedVolumes (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED)
 selects all associated faces of the elements between elemsBegin and elemsEnd More...
 
template<class TElemIterator >
void ug::SelectBoundaryElements (ISelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd)
 selects elements that lie on the associated grid's boundary More...
 
template<class TEdgeIterator >
void ug::SelectCreaseEdges (ISelector &sel, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, number minAngle, APosition aVrtPos, bool ignoreBoundaryEdges=true, ISelector::status_t state=ISelector::SELECTED)
 Selects edges which at which triangles meet in a large angle. More...
 
template<class TAAPos >
void ug::SelectEdgesByDirection (Selector &sel, TAAPos &aaPos, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped)
 Selects all edges that face a given direction. More...
 
template<class TElemIterator >
void ug::SelectInnerElements (ISelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd)
 selects elements that do not lie on the associated grid's boundary More...
 
template<class TSelector >
void ug::SelectInnerSelectionEdges (TSelector &sel)
 selects all edges that are only connected to selected elements. More...
 
template<class TSelector >
void ug::SelectInnerSelectionFaces (TSelector &sel)
 selects all faces that are only connected to selected elements. More...
 
template<class TSelector >
void ug::SelectInnerSelectionVertices (TSelector &sel)
 selects all vertices that are only connected to selected elements. More...
 
template<class TIter >
void ug::SelectInterfaceElements (ISelector &sel, ISubsetHandler &sh, const TIter begin, const TIter end, bool regardSelectedNbrsOnly=false)
 Selects elements which are adjacent to higher dimensional elements of different subsets. More...
 
template<class TGeomObj >
void ug::SelectionFill (Selector &sel, typename Grid::traits< typename TGeomObj::side >::callback cbRegionBoundary)
 Extends the selection around selected objects until selected sides are reached. More...
 
template<class TElem >
void ug::SelectLinkedElements (ISelector &sel, typename Grid::traits< TElem >::callback cbIsSelectable=ConsiderAll(), typename Grid::traits< typename TElem::side >::callback cbIsTraversable=ConsiderAll())
 Repeatedly traverses sides of selected elements and selects associated elements. More...
 
void ug::SelectLinkedFlatAndDegeneratedFaces (Selector &sel, number maxDeviationAngle, bool ignoreOrientation=false, bool stopAtSelectedEdges=false, number degThreshold=SMALL, APosition &aPos=aPosition)
 Extends the selection of faces to all neighbouring faces that have a similar normal. More...
 
void ug::SelectLinkedFlatFaces (Selector &sel, number maxDeviationAngle, bool ignoreOrientation=false, bool stopAtSelectedEdges=false, APosition &aPos=aPosition)
 Extends the selection of faces to all neighbouring faces that have a similar normal. More...
 
template<class TGeomObj , class TAAPos >
bool ug::SelectRegion (Selector &sel, const typename TAAPos::ValueType &p, TAAPos &aaPos, typename Grid::traits< typename TGeomObj::side >::callback cbRegionBoundary)
 Selects the region which contains the given point. More...
 
template<class TAAPos >
void ug::SelectShortPolychains (ISelector &sel, number maxLength, bool closedChainsOnly, TAAPos aaPos)
 Selects regular polygonal chains which are shorter than a given threshold. More...
 
void ug::SelectSmoothEdgePath (Selector &sel, number thresholdDegree, number normalWeight, bool stopAtSelVrts=true, APosition &aPos=aPosition)
 selects for each selected edge all edges that can be reached by a smooth path. More...
 
void ug::SelectSubset (ISelector &sel, const ISubsetHandler &sh, int si, ISelector::status_t status)
 Select all elements specified by a subset index ans selection status. More...
 
template<class TAAPos >
void ug::SelectSubsetEdgesByDirection (Selector &sel, SubsetHandler &sh, int subsetIndex, TAAPos &aaPos, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped)
 Selects all subset edges that face a given direction. More...
 
template<class TElem >
void ug::SelectSubsetElements (ISelector &sel, ISubsetHandler &sh, int subsetIndex, ISelector::status_t status=ISelector::SELECTED)
 selects all elements of the given type in the given subset More...
 
template<class TAAPosVRT >
void ug::TranslateSelection (Selector &sel, const typename TAAPosVRT::ValueType &offset, TAAPosVRT &aaPos)
 moves all vertices touching the selection by the specified offset. More...
 
template<class elem_t >
void ug::GetSelectedElementIndices (const ISelector &sel, std::vector< int > &indsOut)
 Returns indices of selected elements in ascending order. More...
 
void ug::GetSelectedElementIndices (const ISelector &sel, std::vector< size_t > &vrtIndsOut, std::vector< size_t > &edgeIndsOut, std::vector< size_t > &faceIndsOut, std::vector< size_t > &volIndsOut)
 Returns indices of selected elements in ascending order. More...
 
template<class elem_t >
void ug::SelectElementsByIndex (ISelector &sel, const std::vector< size_t > &inds)
 Selects elements with the specified indices. More...
 
void ug::SelectElementsByIndex (ISelector &sel, const std::vector< size_t > &vrtInds, const std::vector< size_t > &edgeInds, const std::vector< size_t > &faceInds, const std::vector< size_t > &volInds)
 Selects elements with the specified indices. More...