#include <tri_edge_collapse_quadric.h>

Public Types | |
| typedef TriMeshType::CoordType | CoordType |
| typedef TriMeshType::FaceIterator | FaceIterator |
| typedef TriMeshType::FaceType | FaceType |
| typedef TriEdgeCollapse < TriMeshType, VertexPair, MYTYPE >::HeapElem | HeapElem |
| typedef TriEdgeCollapse < TriMeshType, VertexPair, MYTYPE >::HeapType | HeapType |
| typedef HelperType | QH |
| typedef TriEdgeCollapseQuadricParameter | QParameter |
| typedef math::Quadric< double > | QuadricType |
| typedef TriMeshType::ScalarType | ScalarType |
| typedef vcg::tri::TriEdgeCollapse < TriMeshType, VertexPair, MYTYPE > | TEC |
| typedef TriMeshType::VertexIterator | VertexIterator |
| typedef TriMeshType::VertexType | VertexType |
| typedef vcg::face::VFIterator < FaceType > | VFIterator |
Public Member Functions | |
| void | AddCollapseToHeap (HeapType &h_ret, VertexType *v0, VertexType *v1, BaseParameterClass *_pp) |
| CoordType | ComputeMinimal () |
| CoordType | ComputePosition (BaseParameterClass *_pp) |
| ScalarType | ComputePriority (BaseParameterClass *_pp) |
| void | Execute (TriMeshType &m, BaseParameterClass *_pp) |
| bool | IsFeasible (BaseParameterClass *_pp) |
| return true if no constraint disallow this operation to be performed (ex: change of topology in edge collapses) | |
| TriEdgeCollapseQuadric () | |
| TriEdgeCollapseQuadric (const VertexPair &p, int i, BaseParameterClass *pp) | |
| void | UpdateHeap (HeapType &h_ret, BaseParameterClass *_pp) |
| Update the heap as a consequence of this operation. | |
Static Public Member Functions | |
| static void | Finalize (TriMeshType &m, HeapType &, BaseParameterClass *_pp) |
| static float | HeapSimplexRatio (BaseParameterClass *_pp) |
| static void | Init (TriMeshType &m, HeapType &h_ret, BaseParameterClass *_pp) |
| static void | InitQuadric (TriMeshType &m, BaseParameterClass *_pp) |
| static bool | IsSymmetric (BaseParameterClass *_pp) |
| static bool | IsVertexStable (BaseParameterClass *_pp) |
| static std::vector< typename TriMeshType::VertexPointer > & | WV () |
Definition at line 136 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::CoordType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 142 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::FaceIterator vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::FaceIterator |
Definition at line 147 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::FaceType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::FaceType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 144 of file tri_edge_collapse_quadric.h.
| typedef TriEdgeCollapse<TriMeshType, VertexPair, MYTYPE>::HeapElem vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::HeapElem |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 141 of file tri_edge_collapse_quadric.h.
| typedef TriEdgeCollapse<TriMeshType, VertexPair, MYTYPE>::HeapType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::HeapType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 140 of file tri_edge_collapse_quadric.h.
| typedef HelperType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::QH |
Definition at line 151 of file tri_edge_collapse_quadric.h.
| typedef TriEdgeCollapseQuadricParameter vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::QParameter |
Definition at line 150 of file tri_edge_collapse_quadric.h.
| typedef math::Quadric< double > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::QuadricType |
Definition at line 149 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::ScalarType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::ScalarType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 143 of file tri_edge_collapse_quadric.h.
| typedef vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::TEC |
Definition at line 139 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::VertexIterator vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::VertexIterator |
Definition at line 146 of file tri_edge_collapse_quadric.h.
| typedef TriMeshType::VertexType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::VertexType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 145 of file tri_edge_collapse_quadric.h.
| typedef vcg::face::VFIterator<FaceType> vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::VFIterator |
Definition at line 148 of file tri_edge_collapse_quadric.h.
| vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::TriEdgeCollapseQuadric | ( | ) | [inline] |
Definition at line 159 of file tri_edge_collapse_quadric.h.
| vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::TriEdgeCollapseQuadric | ( | const VertexPair & | p, |
| int | i, | ||
| BaseParameterClass * | pp | ||
| ) | [inline] |
Definition at line 161 of file tri_edge_collapse_quadric.h.
| void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::AddCollapseToHeap | ( | HeapType & | h_ret, |
| VertexType * | v0, | ||
| VertexType * | v1, | ||
| BaseParameterClass * | _pp | ||
| ) | [inline] |
Definition at line 414 of file tri_edge_collapse_quadric.h.
| CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::ComputeMinimal | ( | ) | [inline] |
Definition at line 536 of file tri_edge_collapse_quadric.h.
| CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::ComputePosition | ( | BaseParameterClass * | _pp | ) | [inline] |
Definition at line 178 of file tri_edge_collapse_quadric.h.
| ScalarType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::ComputePriority | ( | BaseParameterClass * | _pp | ) | [inline, virtual] |
Evaluate the priority (error) for an edge collapse
It simulate the collapse and compute the quadric error generated by this collapse. This error is weighted with
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 315 of file tri_edge_collapse_quadric.h.
| void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::Execute | ( | TriMeshType & | m, |
| BaseParameterClass * | _pp | ||
| ) | [inline] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 191 of file tri_edge_collapse_quadric.h.
| static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::Finalize | ( | TriMeshType & | m, |
| HeapType & | , | ||
| BaseParameterClass * | _pp | ||
| ) | [inline, static] |
Definition at line 200 of file tri_edge_collapse_quadric.h.
| static float vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::HeapSimplexRatio | ( | BaseParameterClass * | ) | [inline, static] |
An approximation of the size of the heap with respect of the number of simplex of the mesh. When this number is exceeded a clear heap purging is performed. so it is should be reasonably larger than the minimum expected size to avoid too frequent clear heap For example for symmetric edge collapse a 5 is a good guess. while for non symmetric edge collapse a larger number like 9 is a better choice
Reimplemented from vcg::LocalModification< MeshType >.
Definition at line 303 of file tri_edge_collapse_quadric.h.
| static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::Init | ( | TriMeshType & | m, |
| HeapType & | h_ret, | ||
| BaseParameterClass * | _pp | ||
| ) | [inline, static] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 219 of file tri_edge_collapse_quadric.h.
| static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::InitQuadric | ( | TriMeshType & | m, |
| BaseParameterClass * | _pp | ||
| ) | [inline, static] |
Definition at line 456 of file tri_edge_collapse_quadric.h.
| bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::IsFeasible | ( | BaseParameterClass * | pp | ) | [inline, virtual] |
return true if no constraint disallow this operation to be performed (ex: change of topology in edge collapses)
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 169 of file tri_edge_collapse_quadric.h.
| static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::IsSymmetric | ( | BaseParameterClass * | _pp | ) | [inline, static] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 304 of file tri_edge_collapse_quadric.h.
| static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::IsVertexStable | ( | BaseParameterClass * | _pp | ) | [inline, static] |
Definition at line 305 of file tri_edge_collapse_quadric.h.
| void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::UpdateHeap | ( | HeapType & | , |
| BaseParameterClass * | pp | ||
| ) | [inline, virtual] |
Update the heap as a consequence of this operation.
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, VertexPair, MYTYPE >.
Definition at line 425 of file tri_edge_collapse_quadric.h.
| static std::vector<typename TriMeshType::VertexPointer>& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, VertexPair, MYTYPE, HelperType >::WV | ( | ) | [inline, static] |
Definition at line 155 of file tri_edge_collapse_quadric.h.