#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.