ug4
subset_util.h File Reference
#include <vector>
#include "lib_grid/lg_base.h"
#include "common/ug_config.h"
#include "subset_util_impl.hpp"

Go to the source code of this file.

Namespaces

 ug
 the ug namespace
 

Functions

void ug::AdjustSubsetsForLgmNg (Grid &grid, SubsetHandler &sh, bool keepExistingInterfaceSubsets=false)
 reorders subsets in a way that allows for easy export to lgm-ng. More...
 
template<class TSubsetHandler >
void ug::AdjustSubsetsForSimulation (TSubsetHandler &sh, bool preserveExistingSubsets)
 Adjust the grid so that it is ready for simulation with ug4. More...
 
template<class TElem , class TSubsetHandler >
void ug::AssignAssociatedEdgesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler)
 Assigns associated edges of elements of type TElem in sh to sh. More...
 
template<class TElem , class TSubsetHandler >
void ug::AssignAssociatedFacesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler)
 Assigns associated faces of elements of type TElem in sh to sh. More...
 
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc >
void ug::AssignAssociatedLowerDimElemsToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler)
 Assigns associated elements of elements of type TElem in sh to sh. More...
 
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc >
void ug::AssignAssociatedSidesToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler)
 Assigns associated sides of elements of type TElem in sh to sh. More...
 
template<class TIterator >
void ug::AssignAssociatedVerticesToSubset (ISubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, int subsetIndex)
 assigns vertices of the given elements to the subset at subsetIndex More...
 
template<class TElem , class TSubsetHandler >
void ug::AssignAssociatedVerticesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler)
 Assigns associated vertices of elements of type TElem in sh to sh. More...
 
void ug::AssignFaceInterfaceEdgesToSubsets (Grid &grid, SubsetHandler &sh)
 assigns edges which belong to no subset and are adjacent to faces of different subsets to new subsets. More...
 
void ug::AssignGridToSubset (Grid &g, ISubsetHandler &sh, int subsetInd)
 Assigns all elements of the given grid to the given subset. More...
 
void ug::AssignInnerAndBoundarySubsets (Grid &grid, ISubsetHandler &shOut, int inSubset, int bndSubset)
 assigns objects to subsets depending on whether they are inner or boundary objects. More...
 
void ug::AssignRegionToSubset (Grid &grid, ISubsetHandler &shVolsOut, const ISubsetHandler &shFaces, Volume *proxyVol, int newSubsetIndex)
 assigns a region of volumes to a subset. More...
 
void ug::AssignSelectionToSubset (ISelector &sel, ISubsetHandler &sh, int subsetInd)
 Assigns all selected elements to the specified subset. More...
 
template<class TElem >
void ug::AssignSidesToSubsets (ISubsetHandler &sh, ISelector *psel=NULL)
 Assigns all sides of elements of the given type to a separate subset. More...
 
void ug::AssignSubsetColors (ISubsetHandler &sh)
 assigns a different color to each subset More...
 
template<class TElem , class TSubsetHandler >
void ug::AssignUnassignedElemsToSubset (TSubsetHandler &sh, int si)
 Assigns all elements of type TElem with subset index -1 to subset at index si. More...
 
void ug::AssignVolumeInterfaceFacesToSubsets (Grid &grid, SubsetHandler &sh)
 assigns faces which belong to no subset and are adjacent to volumes of different subsets to new subsets. More...
 
void ug::ComputeLocalSubsetDimensions (ISubsetHandler &sh, AChar aDimension, bool includeUnassigned)
 Computes the local subset dimension for each element and stores it in the given attachment. More...
 
void ug::CopySubsetIndicesToSides (ISubsetHandler &sh, bool toUnassignedOnly)
 copies subset-indices to sides of all elements in the subset handler More...
 
void ug::CopySubsetIndicesToSides (ISubsetHandler &sh, GridObjectCollection goc, bool toUnassignedOnly)
 copies subset-indices to sides of the specified elements More...
 
void ug::CopySubsetIndicesToSides (ISubsetHandler &sh, ISelector &sel, bool toUnassignedOnly)
 copies subset-indices to sides of the elements selected in 'sel' More...
 
template<class TIterator >
void ug::CopySubsetIndicesToSides (ISubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, bool toUnassignedOnly)
 copies subset-indices to side-elements More...
 
template<class TAAPosVRT >
UG_API number ug::FaceArea (ISubsetHandler &sh, int si, size_t lvl, TAAPosVRT &aaPos)
 Returns the area sum of convex faces given by subset index and level. More...
 
template<typename TBaseObj >
void ug::FindSubsetGroups (std::vector< int > &minCondInd, const std::vector< bool > &isMarked, const ISubsetHandler &sh, const NeighborhoodType nbhType=NHT_VERTEX_NEIGHBORS)
 
vector3 ug::GetColorFromStandardPalette (int index)
 Returns an rgb vector (values ranging from 0 to 1), with the i-th default color. More...
 
int ug::GetFirstFreeSubset (const ISubsetHandler &sh)
 returns the first subset, which does not contain any elements at all More...
 
template<class TElem >
int ug::GetMaxSubsetIndex (SubsetHandler &sh)
 returns the index of the last subset, that contains elements of type TElem. More...
 
template<class TElem >
void ug::MakeSubsetsConsecutive (SubsetHandler &sh)
 moves subsets so that no empty subset of type TElem is between filled ones. More...
 
void ug::SeparateFaceSubsetsByNormal (Grid &grid, SubsetHandler &sh, APosition aPos=aPosition, ANormal *paNorm=NULL, int applyToSubset=-2)
 separates faces by orthogonal axis-aligned normals. More...
 
void ug::SeparateFaceSubsetsByNormal (Grid &grid, SubsetHandler &sh, std::vector< vector3 > vNormals, APosition aPos=aPosition, ANormal *paNorm=NULL, int applyToSubset=-2)
 separates subset by the given normals. More...
 
bool ug::SeparateRegions (Grid &grid, ISubsetHandler &shVolsOut, const ISubsetHandler &shFaces, const MarkerPointManager &mpm, int firstSubsetIndex)
 finds regions by marker-points More...
 
template<class TElem >
void ug::SeparateSubsetsByLowerDimSelection (Grid &grid, SubsetHandler &sh, Selector &sel, bool appendAtEnd=false)
 Assigns all elements of the given type to subsets. More...
 
template<class TElem >
void ug::SeparateSubsetsByLowerDimSeparators (Grid &grid, SubsetHandler &sh, bool appendAtEnd, boost::function< bool(typename TElem::lower_dim_base_object *)> cbIsSeparator)
 Assigns all elements of the given type to subsets. More...
 
template<class TElem >
void ug::SeparateSubsetsByLowerDimSubsets (Grid &grid, SubsetHandler &sh, bool appendAtEnd=false)
 Assigns all elements of the given type to subsets. More...
 
bool ug::SplitIrregularManifoldSubset (SubsetHandler &sh, int srcIndex, int targetIndex, bool strictSplitting=false)
 Keeps a regular part in the subset and assigns all other faces to another one. More...
 
void ug::AssignSubsetsByElementType (ISubsetHandler &sh)
 Assigns subset depending on the element type. More...
 
void ug::AssignSubsetsByElementType (ISubsetHandler &sh, GridObjectCollection g)
 Assigns subset depending on the element type. More...