ug4
face_util.cpp File Reference
#include <vector>
#include <stack>
#include <cassert>
#include "vertex_util.h"
#include "face_util.h"
#include "../attachment_util.h"

Namespaces

 ug
 the ug namespace
 

Functions

void ug::CalculateFaceNormals (Grid &grid, const FaceIterator &facesBegin, const FaceIterator &facesEnd, AVector3 &aPos, AVector3 &aNorm)
 calculates the normal of each face. Presumes that all faces are flat. More...
 
void ug::CalculateNormal (vector3 &vNormOut, const FaceVertices *face, Grid::AttachmentAccessor< Vertex, APosition > &aaPos)
 calculates the normal of the given face More...
 
void ug::CalculateNormalNoNormalize (vector3 &vNormOut, FaceVertices *face, Grid::AttachmentAccessor< Vertex, APosition > &aaPos)
 calculates the normal of the given face More...
 
number ug::FaceQuality (FaceVertices *f, Grid::VertexAttachmentAccessor< APosition > aaPos)
 a simple measure for the quality of a face More...
 
int ug::GetFaceIndex (Volume *vol, Face *f)
 returns the index at which face f is found in the given object More...
 
void ug::GetNeighbours (std::vector< Face * > &vFacesOut, Grid &grid, Face *f, int side, bool clearContainer=true)
 collects neighbours of the given side of a face. More...
 
void ug::InsertCenterVertex (Grid &g, Face *f, Vertex *vrt, bool eraseOldFace)
 Refines the face by connecting its sides with the new center. More...
 
bool ug::IsVolumeBoundaryFace (Grid &grid, ConstrainedFace *f)
 returns true if the given face is a boundary face. More...
 
bool ug::IsVolumeBoundaryFace (Grid &grid, ConstrainingFace *f)
 returns true if the given face is a boundary face. More...
 
bool ug::IsVolumeBoundaryFace (Grid &grid, Face *f)
 returns true if the given face is a boundary face. More...
 
int ug::NumAssociatedVolumes (Grid &grid, Face *f)
 returns the number of associated volumes of the specified face More...
 
number ug::TriangleQuality (vector3 &v1, vector3 &v2, vector3 &v3)
 a simple measure for the quality of a triangle More...
 
void ug::Triangulate (Grid &grid, Quadrilateral *q, Grid::VertexAttachmentAccessor< APosition > *paaPos=NULL)
 removes the quadrilateral and replaces it by two triangles. More...
 
void ug::Triangulate (Grid &grid, QuadrilateralIterator iterBegin, QuadrilateralIterator iterEnd, Grid::VertexAttachmentAccessor< APosition > *paaPos=NULL)
 replaces all specified quadrilaterals by triangles. More...