ug4
vertex_util.h File Reference

Go to the source code of this file.

Namespaces

 ug
 the ug namespace
 

Functions

template<class TVrtIter , class TAPosition >
UG_API TAPosition::ValueType ug::CalculateBarycenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::VertexAttachmentAccessor< TAPosition > &aaPos)
 calculates the barycenter of a set of vertices More...
 
template<class TAAPosVRT >
UG_API void ug::CalculateBoundaryVertexNormal2D (typename TAAPosVRT::ValueType &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos)
 calculates the normal of a boundary vertex using associated faces More...
 
template<class TAAPosVRT >
UG_API void ug::CalculateBoundaryVertexNormal3D (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos)
 calculates the normal of a boundary vertex using associated volumes More...
 
template<class TVrtIter , class TAPosition >
UG_API void ug::CalculateBoundingBox (typename TAPosition::ValueType &vMinOut, typename TAPosition::ValueType &vMaxOut, TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos)
 calculates the BoundingBox More...
 
template<class TVrtIter , class TAPosition >
UG_API TAPosition::ValueType ug::CalculateCenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos)
 calculates the center of a set of vertices. More...
 
template<class TAAPosVRT >
UG_API void ug::CalculateVertexNormal (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos)
 calculates the normal of a vertex using associated faces More...
 
bool ug::CollectSurfaceNeighborsSorted (std::vector< Vertex * > &vNeighborsOut, Grid &grid, Vertex *v)
 Collects neighbor-vertices in either clockwise or counter clockwise order. More...
 
template<class vector_t , class TAAPos >
UG_API bool ug::ContainsPoint (const Vertex *v, const vector_t &p, TAAPos aaPos)
 Returns true if the given point lies on the given vertex. More...
 
Vertex * ug::FindVertexByCoordiante (vector3 &coord, VertexIterator iterBegin, VertexIterator iterEnd, Grid::VertexAttachmentAccessor< APosition > &aaPos)
 returns the vertex that is the closest to the given coordinate More...
 
template<size_t dim>
int ug::FindVertexByCoordinate (const MathVector< dim > &coord, size_t ncoords, const MathVector< dim > vCoords[])
 returns (non-unique?) index of closest vertex More...
 
Edge * ug::GetConnectedEdge (Grid &g, Vertex *vrt, Face *tri)
 returns the edge in the triangle tri, which does not contain vrt. More...
 
Vertex * ug::GetConnectedVertex (Edge *e, Vertex *v)
 returns the vertex that is connected to v via e. More...
 
Vertex * ug::GetConnectedVertex (EdgeVertices *e, Face *f)
 returns the index of the first vertex that is contained in f and is not contained in e. More...
 
int ug::GetConnectedVertexIndex (Face *f, const EdgeDescriptor &ed)
 returns the index of the first vertex that is contained in the specified face and is not contained in the given edge. More...
 
int ug::GetConnectedVertexIndex (Face *f, const EdgeVertices *e)
 
Vertex * ug::GetSharedVertex (IVertexGroup *vrts0, IVertexGroup *vrts1)
 returns the first vertex of vrts0 that is also contained in vrts1 (or NULL if no such vertex exists) More...
 
size_t ug::GetSharedVertices (std::vector< Vertex * > &vrtsOut, IVertexGroup *vrts0, IVertexGroup *vrts1)
 fills a vector with the vertices that are both contained in vrts0 and vrts1. More...
 
int ug::GetVertexIndex (EdgeVertices *e, Vertex *v)
 returns the index at which vertex v is found in the given edge More...
 
int ug::GetVertexIndex (FaceVertices *f, Vertex *v)
 returns the index at which vertex v is found in the given face More...
 
int ug::GetVertexIndex (VolumeVertices *vol, Vertex *v)
 returns the index at which vertex v is found in the given volume More...
 
bool ug::IsBoundaryVertex1D (Grid &grid, Vertex *v, Grid::edge_traits::callback cbConsiderEdge=ConsiderAll())
 returns whether a vertex lies on the boundary of a polygonal chain. More...
 
bool ug::IsBoundaryVertex2D (Grid &grid, Vertex *v)
 returns whether a vertex lies on the boundary of a 2D grid. More...
 
bool ug::IsBoundaryVertex3D (Grid &grid, Vertex *v)
 returns true if a vertex lies on the boundary of a 3D grid. More...
 
bool ug::IsRegularSurfaceVertex (Grid &grid, Vertex *v)
 returns true if the vertex lies inside a regular surface More...
 
bool ug::LiesOnBoundary (Grid &grid, Vertex *v)
 returns true, if the vertex lies on a 1d, 2d or 3d boundary More...
 
void ug::MarkFixedCreaseVertices (Grid &grid, SubsetHandler &sh, int creaseSI, int fixedSI)
 
template<class TVrtIterator >
UG_API Vertex * ug::MergeMultipleVertices (Grid &grid, TVrtIterator vrtsBegin, TVrtIterator vrtsEnd)
 Merges all vertices between the given iterators into a single vertex. More...
 
void ug::MergeVertices (Grid &grid, Vertex *v1, Vertex *v2)
 merges two vertices and restructures the adjacent elements. More...
 
template<class TIterator , class TAAPos >
void ug::MoveVertices (TIterator vrtsBegin, TIterator vrtsEnd, TAAPos aaPos, const typename TAAPos::ValueType &offset)
 moves vertices by the specified offset More...
 
int ug::NumAssociatedEdges (Grid &grid, Vertex *v)
 returns the number of associated edges of the given vertex More...
 
int ug::NumAssociatedFaces (Grid &grid, Vertex *v)
 returns the number of associated faces of the given vertex More...
 
size_t ug::NumSharedVertices (IVertexGroup *vrts0, IVertexGroup *vrts1)
 Returns the number of shared vertices between vrts0 and vrts1. More...
 
template<class TAAPos >
UG_API void ug::TransformVertex (Vertex *vrt, matrix33 &m, TAAPos &aaPos)
 transforms a vertex by a given matrix More...
 
template<class TIterator , class TAAPos >
UG_API void ug::TransformVertices (TIterator vrtsBegin, TIterator vrtsEnd, matrix33 &m, TAAPos &aaPos)
 transforms all given vertices by a given matrix More...
 
template<class TAAPos >
UG_API number ug::VertexDistance (Vertex *v0, Vertex *v1, TAAPos &aaPos)
 Returns the distance between two vertices. More...
 
template<class TAAPos >
UG_API number ug::VertexDistanceSq (Vertex *v0, Vertex *v1, TAAPos &aaPos)
 Returns the squared distance between two vertices. More...
 
bool ug::CalculateVertexNormals (Grid &grid, APosition &aPos, ANormal &aNorm)
 calculates the normals of all vertices in grid and stores them in aNorm. More...
 
bool ug::CalculateVertexNormals (Grid &grid, Grid::AttachmentAccessor< Vertex, APosition > &aaPos, Grid::AttachmentAccessor< Vertex, ANormal > &aaNorm)
 calculates the normals of all vertices in grid and stores them in aNorm. More...
 
template<int dim, class TVrtIterator >
UG_API void ug::RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, Attachment< MathVector< dim > > &aPos, number threshold)
 merges all vertices that are closer to each other than the specified threshold. More...
 
template<int dim, class TVrtIterator , class TAAPos >
UG_API void ug::RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, TAAPos aaPos, number threshold)
 merges all vertices that are closer to each other than the specified threshold. More...
 
template<class TAAPosVRT , class TAAWeightVRT >
UG_API TAAPosVRT::ValueType ug::CalculateCenter (const Vertex *v, TAAPosVRT &aaPos, TAAWeightVRT &aaWeight)
 returns the position of the vertex. More...
 
template<class TVertexPositionAttachmentAccessor >
UG_API TVertexPositionAttachmentAccessor::ValueType ug::CalculateCenter (const Vertex *v, TVertexPositionAttachmentAccessor &aaPosVRT)
 returns the position of the vertex. More...