VCG Library
Classes | Functions
vcg::face Namespace Reference

Classes

class  VertexRef
 The references to the vertexes of a triangular face. More...
 
class  BitFlags
 Component: Per face Flags More...
 
class  Mark
 Per vertex Incremental Mark. More...
 
class  VFAdj
 Component: Per Face Vertex-Face adjacency relation More...
 
class  FFAdj
 Component: Per Face Face-Face adjacency relation More...
 

Functions

template<class FaceType >
bool IsManifold (FaceType const &f, const int j)
 
template<class FaceType >
bool IsBorder (FaceType const &f, const int j)
 
template<class FaceType >
FaceType::ScalarType DihedralAngleRad (FaceType &f, const int i)
 Compute the signed dihedral angle between the normals of two adjacent faces.
 
template<class FaceType >
FaceType::ScalarType WedgeAngleRad (FaceType &f, const int i)
 Return the internal angle (in radians) of the i-th wedge of the triangle.
 
template<class FaceType >
int BorderCount (FaceType const &f)
 Count border edges of the face.
 
template<class FaceType >
int ComplexSize (FaceType &f, const int e)
 Counts the number of incident faces in a complex edge.
 
template<class FaceType >
bool FFCorrectness (FaceType &f, const int e)
 
template<class FaceType >
void FFDetachManifold (FaceType &f, const int e)
 
template<class FaceType >
void FFDetach (FaceType &f, const int e)
 
template<class FaceType >
void FFAttach (FaceType *&f, int z1, FaceType *&f2, int z2)
 
template<class FaceType >
void FFAttachManifold (FaceType *&f1, int z1, FaceType *&f2, int z2)
 
template<class FaceType >
bool CheckOrientation (FaceType &f, int z)
 
template<class FaceType >
void SwapEdge (FaceType &f, const int z)
 
template<class FaceType >
bool FFLinkCondition (FaceType &f, const int z)
 
template<class MeshType >
void FFEdgeCollapse (MeshType &m, typename MeshType::FaceType &f, const int z)
 
template<class FaceType >
bool CheckFlipEdgeNormal (FaceType &f, const int z, const float angleRad)
 
template<class FaceType >
bool CheckFlipEdge (FaceType &f, int z)
 
template<class FaceType >
void FlipEdge (FaceType &f, const int z)
 
template<class FaceType >
void VFAppend (FaceType *&f, int z)
 Append a face in VF list of vertex f->V(z)
 
template<class FaceType >
void VVStarVF (typename FaceType::VertexType *vp, std::vector< typename FaceType::VertexType * > &starVec)
 Compute the set of vertices adjacent to a given vertex using VF adjacency.
 
template<class FaceType >
void VVExtendedStarVF (typename FaceType::VertexType *vp, const int num_step, std::vector< typename FaceType::VertexType * > &vertVec)
 Compute the set of vertices adjacent to a given vertex using VF adjacency.
 
template<class FaceType >
void VFStarVF (typename FaceType::VertexType *vp, std::vector< FaceType * > &faceVec, std::vector< int > &indexes)
 Compute the set of faces adjacent to a given vertex using VF adjacency.
 
template<class FaceType >
void EFStarFF (FaceType *fp, int ei, std::vector< FaceType * > &faceVec, std::vector< int > &indVed)
 Compute the set of faces incident onto a given edge using FF adjacency.
 
template<class FaceType >
void VFExtendedStarVF (typename FaceType::VertexType *vp, const int num_step, std::vector< FaceType * > &faceVec)
 Compute the set of faces adjacent to a given vertex using VF adjacency.
 
template<class FaceType >
void VVOrderedStarFF (Pos< FaceType > &startPos, std::vector< typename FaceType::VertexType * > &vertexVec)
 Compute the ordered set of vertices adjacent to a given vertex using FF adiacency.
 
template<class FaceType >
void VFOrderedStarFF (const Pos< FaceType > &startPos, std::vector< Pos< FaceType > > &posVec)
 Compute the ordered set of faces adjacent to a given vertex using FF adiacency.
 
template<class FaceType >
void VFOrderedStarFF (const Pos< FaceType > &startPos, std::vector< FaceType * > &faceVec, std::vector< int > &edgeVec)
 Compute the ordered set of faces adjacent to a given vertex using FF adiacency.
 
template<class FaceType >
bool ShareEdgeFF (FaceType *f0, FaceType *f1, int *i0=0, int *i1=0)
 
template<class FaceType >
int CountSharedVertex (FaceType *f0, FaceType *f1)
 
template<class FaceType >
bool FindSharedVertex (FaceType *f0, FaceType *f1, int &i, int &j)
 
template<class FaceType >
bool FindSharedEdge (FaceType *f0, FaceType *f1, int &i, int &j)
 
template<class FaceType >
bool FindSharedFaces (typename FaceType::VertexType *v0, typename FaceType::VertexType *v1, FaceType *&f0, FaceType *&f1, int &e0, int &e1)
 

Detailed Description

Global algorithms and classes working on generic faces are defined in this namespace. Typical example are the topological surgery functions (like vcg::face::Detach and vcg::face::IsBorder) and the class vcg::face::Pos for defining positions over a mesh. Note that for sake of brevity the main face class is defined outside this namespace.