Static Public Member Functions | Protected Types | Static Protected Member Functions
vcg::tri::HalfedgeQuadClean< MeshType > Class Template Reference

The class provides methods for detecting doublets and singlets and removing them. More...

#include <halfedge_quad_clean.h>

List of all members.

Static Public Member Functions

template<class PriorityType >
static void flip_edges (MeshType &m, vector< HEdgePointer > &hedges, set< FacePointer > &faces)
template<class PriorityType >
static int flip_edges (MeshType &m)
static bool has_doublets (MeshType &m)
static bool has_singlets (MeshType &m)
static void remove_doublets (MeshType &m, set< FacePointer > &faces, vector< VertexPointer > vertices)
static void remove_doublets (MeshType &m, vector< VertexPointer > vertices)
static void remove_doublets (MeshType &m, set< FacePointer > &faces)
static int remove_doublets (MeshType &m)
static int remove_singlets (MeshType &m)

Protected Types

typedef MeshType::EdgeIterator EdgeIterator
typedef MeshType::EdgePointer EdgePointer
typedef MeshType::FaceIterator FaceIterator
typedef MeshType::FacePointer FacePointer
typedef MeshType::HEdgeIterator HEdgeIterator
typedef MeshType::HEdgePointer HEdgePointer
typedef MeshType::VertexIterator VertexIterator
typedef MeshType::VertexPointer VertexPointer

Static Protected Member Functions

static void add_faces (queue< FacePointer > &q, VertexPointer vp)
static FacePointer remove_doublet (MeshType &m, FacePointer fp, queue< FacePointer > *q=NULL)
static void remove_doublets (MeshType &m, set< FacePointer > &faces, queue< FacePointer > &q)

Detailed Description

template<class MeshType>
class vcg::tri::HalfedgeQuadClean< MeshType >

The class provides methods for detecting doublets and singlets and removing them.

Definition at line 21 of file halfedge_quad_clean.h.


Member Typedef Documentation

template<class MeshType >
typedef MeshType::EdgeIterator vcg::tri::HalfedgeQuadClean< MeshType >::EdgeIterator [protected]

Definition at line 32 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::EdgePointer vcg::tri::HalfedgeQuadClean< MeshType >::EdgePointer [protected]

Definition at line 27 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::FaceIterator vcg::tri::HalfedgeQuadClean< MeshType >::FaceIterator [protected]

Definition at line 34 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::FacePointer vcg::tri::HalfedgeQuadClean< MeshType >::FacePointer [protected]

Definition at line 29 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::HEdgeIterator vcg::tri::HalfedgeQuadClean< MeshType >::HEdgeIterator [protected]

Definition at line 33 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::HEdgePointer vcg::tri::HalfedgeQuadClean< MeshType >::HEdgePointer [protected]

Definition at line 28 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::VertexIterator vcg::tri::HalfedgeQuadClean< MeshType >::VertexIterator [protected]

Definition at line 31 of file halfedge_quad_clean.h.

template<class MeshType >
typedef MeshType::VertexPointer vcg::tri::HalfedgeQuadClean< MeshType >::VertexPointer [protected]

Definition at line 26 of file halfedge_quad_clean.h.


Member Function Documentation

template<class MeshType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::add_faces ( queue< FacePointer > &  q,
VertexPointer  vp 
) [inline, static, protected]

Adds to a queue all faces on the 1-ring of a given vertex

Parameters:
qQueue of faces
vpPointer to the vertex

Definition at line 42 of file halfedge_quad_clean.h.

template<class MeshType >
template<class PriorityType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::flip_edges ( MeshType &  m,
vector< HEdgePointer > &  hedges,
set< FacePointer > &  faces 
) [inline, static]

Performs rotation of selected edges computing the best rotation

Parameters:
mMesh
hedgesVector of halfedges representing the edges to rotate
facesSet of modified faces (every modified face will be inserted into this set)

Definition at line 365 of file halfedge_quad_clean.h.

template<class MeshType >
template<class PriorityType >
static int vcg::tri::HalfedgeQuadClean< MeshType >::flip_edges ( MeshType &  m) [inline, static]

Performs edge rotations on the entire mesh computing the best rotation for each edge

Parameters:
mMesh

Definition at line 409 of file halfedge_quad_clean.h.

template<class MeshType >
static bool vcg::tri::HalfedgeQuadClean< MeshType >::has_doublets ( MeshType &  m) [inline, static]

Checks if a mesh has doublets

Parameters:
mMesh
Returns:
Value indicating whether mesh has doublets

Definition at line 341 of file halfedge_quad_clean.h.

template<class MeshType >
static bool vcg::tri::HalfedgeQuadClean< MeshType >::has_singlets ( MeshType &  m) [inline, static]

Checks if a mesh has singlets

Parameters:
mMesh
Returns:
Value indicating whether mesh has singlets

Definition at line 320 of file halfedge_quad_clean.h.

template<class MeshType >
static FacePointer vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublet ( MeshType &  m,
FacePointer  fp,
queue< FacePointer > *  q = NULL 
) [inline, static, protected]

Removes a doublet and all the other ones that the removal may have generated

Parameters:
mMesh
fpPointer to the face to clean from doublets
Queueof faces to check for new doublets
Returns:
The new face generated after doublet removal

Definition at line 83 of file halfedge_quad_clean.h.

template<class MeshType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets ( MeshType &  m,
set< FacePointer > &  faces,
queue< FacePointer > &  q 
) [inline, static, protected]

Removes doublets from all the faces into a queue until the queue empties

Parameters:
mMesh
facesSet of all faces modified by the removals
qQueue of faces to clean

Definition at line 60 of file halfedge_quad_clean.h.

template<class MeshType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets ( MeshType &  m,
set< FacePointer > &  faces,
vector< VertexPointer vertices 
) [inline, static]

Removes doublets from all the faces on the 1-ring of the given vertices

Parameters:
mMesh
Setof all faces modified by the removals
verticesVector of vertices that will be

Definition at line 198 of file halfedge_quad_clean.h.

template<class MeshType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets ( MeshType &  m,
vector< VertexPointer vertices 
) [inline, static]

Removes doublets from all the faces on the 1-ring of the given vertices

Parameters:
mMesh
verticesVector of vertices that will be

Definition at line 223 of file halfedge_quad_clean.h.

template<class MeshType >
static void vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets ( MeshType &  m,
set< FacePointer > &  faces 
) [inline, static]

Removes doublets from a set of faces

Parameters:
mMesh
setof faces to clean

Definition at line 236 of file halfedge_quad_clean.h.

template<class MeshType >
static int vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets ( MeshType &  m) [inline, static]

Removes all doublets from a mesh

Parameters:
mMesh
Returns:
Number of doublets removed

Definition at line 259 of file halfedge_quad_clean.h.

template<class MeshType >
static int vcg::tri::HalfedgeQuadClean< MeshType >::remove_singlets ( MeshType &  m) [inline, static]

Removes all singlets from a mesh

Parameters:
mMesh
Returns:
Number of singlets removed

Definition at line 288 of file halfedge_quad_clean.h.


The documentation for this class was generated from the following file:


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:42:34