vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType > Class Template Reference

#include <tri_edge_collapse_quadric.h>

Inheritance diagram for vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >:
Inheritance graph
[legend]

List of all members.

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 QParameterParams ()
static void SetDefaultParams ()
static void SetHint (Hint hn)
static std::vector< typename
TriMeshType::VertexPointer > & 
WV ()

Detailed Description

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
class vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >

Definition at line 164 of file tri_edge_collapse_quadric.h.


Member Typedef Documentation

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
typedef HelperType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QH

Definition at line 177 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
typedef TriEdgeCollapseQuadricParameter vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QParameter

Definition at line 176 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
typedef math::Quadric< double > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::QuadricType

Definition at line 173 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
typedef vcg::tri::TriEdgeCollapse< TriMeshType, MYTYPE > vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::TEC

Definition at line 167 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.


Member Enumeration Documentation

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
enum vcg::tri::TriEdgeCollapseQuadric::Hint
Enumerator:
HNHasFFTopology 
HNHasVFTopology 
HNHasBorderFlag 

Definition at line 183 of file tri_edge_collapse_quadric.h.


Constructor & Destructor Documentation

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::TriEdgeCollapseQuadric ( const EdgeType p,
int  i 
) [inline]

Definition at line 200 of file tri_edge_collapse_quadric.h.


Member Function Documentation

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ClearHint ( Hint  hn  )  [inline, static]

Definition at line 192 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
CoordType vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::ComputeMinimal (  )  [inline]

Definition at line 606 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static int& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Hnt (  )  [inline, static]

Definition at line 189 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::InitQuadric ( TriMeshType m  )  [inline, static]

Definition at line 521 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsSetHint ( Hint  hn  )  [inline, static]

Definition at line 193 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static bool vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::IsVertexStable (  )  [inline, static]

Definition at line 345 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static QParameter& vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::Params (  )  [inline, static]

Definition at line 179 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::SetDefaultParams (  )  [inline, static]

Definition at line 346 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
static void vcg::tri::TriEdgeCollapseQuadric< TriMeshType, MYTYPE, HelperType >::SetHint ( Hint  hn  )  [inline, static]

Definition at line 191 of file tri_edge_collapse_quadric.h.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.

template<class TriMeshType, class MYTYPE, class HelperType = QInfoStandard<typename TriMeshType::VertexType>>
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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:35 2013