#include <tri_edge_collapse_quadric.h>
Public Types | |
typedef TriMeshType::CoordType | CoordType |
The coordinate type. | |
typedef TEC::EdgeType | EdgeType |
half edge type | |
typedef TriMeshType::FaceType | FaceType |
The tetrahedron type. | |
typedef TriEdgeCollapse < TriMeshType, MYTYPE > ::HeapElem | HeapElem |
typedef TriEdgeCollapse < TriMeshType, MYTYPE > ::HeapType | HeapType |
enum | Hint { HNHasFFTopology = 0x0001, HNHasVFTopology = 0x0002, HNHasBorderFlag = 0x0004 } |
typedef HelperType | QH |
typedef TriEdgeCollapseQuadricParameter | QParameter |
typedef math::Quadric< double > | QuadricType |
typedef TriMeshType::ScalarType | ScalarType |
typedef vcg::tri::TriEdgeCollapse < TriMeshType, MYTYPE > | TEC |
typedef TriMeshType::VertexType | VertexType |
The vertex type. | |
Public Member Functions | |
CoordType | ComputeMinimal () |
ScalarType | ComputePriority () |
* | |
void | Execute (TriMeshType &m) |
bool | IsFeasible () |
return true if no constraint disallow this operation to be performed (ex: change of topology in edge collapses) | |
TriEdgeCollapseQuadric (const EdgeType &p, int i) | |
void | UpdateHeap (HeapType &h_ret) |
Static Public Member Functions | |
static void | ClearHint (Hint hn) |
static void | Finalize (TriMeshType &m, HeapType &) |
static float | HeapSimplexRatio () |
static int & | Hnt () |
static void | Init (TriMeshType &m, HeapType &h_ret) |
static void | InitQuadric (TriMeshType &m) |
static bool | IsSetHint (Hint hn) |
static bool | IsSymmetric () |
static bool | IsVertexStable () |
static QParameter & | Params () |
static void | SetDefaultParams () |
static void | SetHint (Hint hn) |
static std::vector< typename TriMeshType::VertexPointer > & | WV () |
Definition at line 164 of file tri_edge_collapse_quadric.h.
typedef TriMeshType::CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::CoordType |
The coordinate type.
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 171 of file tri_edge_collapse_quadric.h.
typedef TEC::EdgeType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::EdgeType |
half edge type
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Reimplemented in MyTriEdgeCollapse.
Definition at line 168 of file tri_edge_collapse_quadric.h.
typedef TriMeshType::FaceType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::FaceType |
The tetrahedron type.
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 174 of file tri_edge_collapse_quadric.h.
typedef TriEdgeCollapse<TriMeshType, MYTYPE>::HeapElem vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::HeapElem |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 170 of file tri_edge_collapse_quadric.h.
typedef TriEdgeCollapse<TriMeshType, MYTYPE>::HeapType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::HeapType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 169 of file tri_edge_collapse_quadric.h.
typedef HelperType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QH |
Definition at line 177 of file tri_edge_collapse_quadric.h.
typedef TriEdgeCollapseQuadricParameter vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QParameter |
Definition at line 176 of file tri_edge_collapse_quadric.h.
typedef math::Quadric< double > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QuadricType |
Definition at line 173 of file tri_edge_collapse_quadric.h.
typedef TriMeshType::ScalarType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ScalarType |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 172 of file tri_edge_collapse_quadric.h.
typedef vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::TEC |
Definition at line 167 of file tri_edge_collapse_quadric.h.
typedef TriMeshType::VertexType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::VertexType |
The vertex type.
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 175 of file tri_edge_collapse_quadric.h.
enum vcg::tri::TriEdgeCollapseQuadric::Hint |
Definition at line 183 of file tri_edge_collapse_quadric.h.
vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::TriEdgeCollapseQuadric | ( | const EdgeType & | p, | |
int | i | |||
) | [inline] |
Definition at line 200 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ClearHint | ( | Hint | hn | ) | [inline, static] |
Definition at line 192 of file tri_edge_collapse_quadric.h.
CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ComputeMinimal | ( | ) | [inline] |
Definition at line 606 of file tri_edge_collapse_quadric.h.
ScalarType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ComputePriority | ( | ) | [inline, virtual] |
*
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 370 of file tri_edge_collapse_quadric.h.
void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Execute | ( | TriMeshType & | m | ) | [inline] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 215 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Finalize | ( | TriMeshType & | m, | |
HeapType & | ||||
) | [inline, static] |
Definition at line 230 of file tri_edge_collapse_quadric.h.
static float vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::HeapSimplexRatio | ( | ) | [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 343 of file tri_edge_collapse_quadric.h.
static int& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Hnt | ( | ) | [inline, static] |
Definition at line 189 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Init | ( | TriMeshType & | m, | |
HeapType & | h_ret | |||
) | [inline, static] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 252 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::InitQuadric | ( | TriMeshType & | m | ) | [inline, static] |
Definition at line 521 of file tri_edge_collapse_quadric.h.
bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsFeasible | ( | ) | [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, MYTYPE >.
Definition at line 209 of file tri_edge_collapse_quadric.h.
static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsSetHint | ( | Hint | hn | ) | [inline, static] |
Definition at line 193 of file tri_edge_collapse_quadric.h.
static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsSymmetric | ( | ) | [inline, static] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 344 of file tri_edge_collapse_quadric.h.
static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsVertexStable | ( | ) | [inline, static] |
Definition at line 345 of file tri_edge_collapse_quadric.h.
static QParameter& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Params | ( | ) | [inline, static] |
Definition at line 179 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::SetDefaultParams | ( | ) | [inline, static] |
Definition at line 346 of file tri_edge_collapse_quadric.h.
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::SetHint | ( | Hint | hn | ) | [inline, static] |
Definition at line 191 of file tri_edge_collapse_quadric.h.
void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::UpdateHeap | ( | HeapType & | h_ret | ) | [inline] |
Reimplemented from vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE >.
Definition at line 463 of file tri_edge_collapse_quadric.h.
static std::vector<typename TriMeshType::VertexPointer>& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::WV | ( | ) | [inline, static] |
Definition at line 196 of file tri_edge_collapse_quadric.h.