ug4
selection_util_impl.hpp File Reference
#include <vector>
#include <queue>
#include "lib_grid/algorithms/geom_obj_util/geom_obj_util.h"
#include "common/util/metaprogramming_util.h"

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 , class TAAPos >
void ug::ExtendSelectionInDirection (TSelector &sel, size_t extSize, const typename TAAPos::ValueType &dir, number minAngle, number maxAngle, const TAAPos &aaPos, ISelector::status_t status)
 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 , 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...
 
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 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 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...
 
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...
 
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...