The class provides methods for detecting doublets and singlets and removing them. More...
#include <halfedge_quad_clean.h>
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) |
The class provides methods for detecting doublets and singlets and removing them.
Definition at line 21 of file halfedge_quad_clean.h.
typedef MeshType::EdgeIterator vcg::tri::HalfedgeQuadClean< MeshType >::EdgeIterator [protected] |
Definition at line 32 of file halfedge_quad_clean.h.
typedef MeshType::EdgePointer vcg::tri::HalfedgeQuadClean< MeshType >::EdgePointer [protected] |
Definition at line 27 of file halfedge_quad_clean.h.
typedef MeshType::FaceIterator vcg::tri::HalfedgeQuadClean< MeshType >::FaceIterator [protected] |
Definition at line 34 of file halfedge_quad_clean.h.
typedef MeshType::FacePointer vcg::tri::HalfedgeQuadClean< MeshType >::FacePointer [protected] |
Definition at line 29 of file halfedge_quad_clean.h.
typedef MeshType::HEdgeIterator vcg::tri::HalfedgeQuadClean< MeshType >::HEdgeIterator [protected] |
Definition at line 33 of file halfedge_quad_clean.h.
typedef MeshType::HEdgePointer vcg::tri::HalfedgeQuadClean< MeshType >::HEdgePointer [protected] |
Definition at line 28 of file halfedge_quad_clean.h.
typedef MeshType::VertexIterator vcg::tri::HalfedgeQuadClean< MeshType >::VertexIterator [protected] |
Definition at line 31 of file halfedge_quad_clean.h.
typedef MeshType::VertexPointer vcg::tri::HalfedgeQuadClean< MeshType >::VertexPointer [protected] |
Definition at line 26 of file halfedge_quad_clean.h.
| 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
| q | Queue of faces |
| vp | Pointer to the vertex |
Definition at line 42 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
| hedges | Vector of halfedges representing the edges to rotate |
| faces | Set of modified faces (every modified face will be inserted into this set) |
Definition at line 365 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
Definition at line 409 of file halfedge_quad_clean.h.
| static bool vcg::tri::HalfedgeQuadClean< MeshType >::has_doublets | ( | MeshType & | m | ) | [inline, static] |
Checks if a mesh has doublets
| m | Mesh |
Definition at line 341 of file halfedge_quad_clean.h.
| static bool vcg::tri::HalfedgeQuadClean< MeshType >::has_singlets | ( | MeshType & | m | ) | [inline, static] |
Checks if a mesh has singlets
| m | Mesh |
Definition at line 320 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
| fp | Pointer to the face to clean from doublets |
| Queue | of faces to check for new doublets |
Definition at line 83 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
| faces | Set of all faces modified by the removals |
| q | Queue of faces to clean |
Definition at line 60 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
| Set | of all faces modified by the removals |
| vertices | Vector of vertices that will be |
Definition at line 198 of file halfedge_quad_clean.h.
| 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
| m | Mesh |
| vertices | Vector of vertices that will be |
Definition at line 223 of file halfedge_quad_clean.h.
| static void vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets | ( | MeshType & | m, |
| set< FacePointer > & | faces | ||
| ) | [inline, static] |
Removes doublets from a set of faces
| m | Mesh |
| set | of faces to clean |
Definition at line 236 of file halfedge_quad_clean.h.
| static int vcg::tri::HalfedgeQuadClean< MeshType >::remove_doublets | ( | MeshType & | m | ) | [inline, static] |
Removes all doublets from a mesh
| m | Mesh |
Definition at line 259 of file halfedge_quad_clean.h.
| static int vcg::tri::HalfedgeQuadClean< MeshType >::remove_singlets | ( | MeshType & | m | ) | [inline, static] |
Removes all singlets from a mesh
| m | Mesh |
Definition at line 288 of file halfedge_quad_clean.h.