Public Member Functions | Static Public Member Functions | Protected Types | Static Protected Member Functions | Protected Attributes
vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType > Class Template Reference

Class implementing simplification of quad meshes by diagonal collapses. More...

#include <quad_diag_collapse.h>

Inheritance diagram for vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

ScalarType ComputePriority ()
void Execute (MeshType &m)
virtual const char * Info (MeshType &m)
bool IsFeasible ()
ModifierType IsOfType ()
 return the type of operation
bool IsUpToDate ()
virtual ScalarType Priority () const
 QuadDiagonalCollapseBase ()
 Default Constructor.
 QuadDiagonalCollapseBase (HEdgePointer he, int mark)
void UpdateHeap (HeapType &h_ret)
 ~QuadDiagonalCollapseBase ()

Static Public Member Functions

static GRID *& grid ()
 Spatial index for smoothing.
static void Init (MeshType &m, HeapType &h_ret)
static TriMeshType *& refMesh ()
 Reference mesh used for smoothing.
static unsigned int & smoothing_iterations ()
 Number of smoothing iterations to be performed.

Protected Types

typedef MeshType::CoordType CoordType
typedef MeshType::FacePointer FacePointer
typedef vcg::GridStaticPtr
< TriFaceType, typename
TriFaceType::ScalarType
GRID
typedef LocalOptimization
< MeshType >::HeapElem 
HeapElem
typedef LocalOptimization
< MeshType >::HeapType 
HeapType
typedef MeshType::HEdgePointer HEdgePointer
typedef Pos< MeshType > PosType
typedef MeshType::ScalarType ScalarType
typedef TriMeshType::FaceType TriFaceType
typedef MeshType::VertexPointer VertexPointer

Static Protected Member Functions

static int & GlobalMark ()
 Global mark for updating.

Protected Attributes

ScalarType _priority
 Priority in the heap.
set< FacePointerfaces
 Set of modified faces.
HEdgePointer hp
 Halfedge that identifies the diagonal to collapse.
int localMark
 Local mark for updating.
VertexPointer ret
 Vertex returned by the collapse.

Detailed Description

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
class vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >

Class implementing simplification of quad meshes by diagonal collapses.

Definition at line 241 of file quad_diag_collapse.h.


Member Typedef Documentation

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef MeshType::CoordType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::CoordType [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef MeshType::FacePointer vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::FacePointer [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef vcg::GridStaticPtr<TriFaceType, typename TriFaceType::ScalarType> vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::GRID [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef LocalOptimization<MeshType>::HeapElem vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::HeapElem [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef LocalOptimization<MeshType>::HeapType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::HeapType [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef MeshType::HEdgePointer vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::HEdgePointer [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef Pos<MeshType> vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::PosType [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef MeshType::ScalarType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::ScalarType [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef TriMeshType::FaceType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::TriFaceType [protected]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
typedef MeshType::VertexPointer vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::VertexPointer [protected]

Constructor & Destructor Documentation

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::QuadDiagonalCollapseBase ( ) [inline]

Default Constructor.

Definition at line 303 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::QuadDiagonalCollapseBase ( HEdgePointer  he,
int  mark 
) [inline]

Constructor

Parameters:
hePointer to an halfedge representing a diagonal
markTemporal mark of the operation

Definition at line 311 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::~QuadDiagonalCollapseBase ( ) [inline]

Definition at line 318 of file quad_diag_collapse.h.


Member Function Documentation

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
ScalarType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::ComputePriority ( ) [inline]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
void vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::Execute ( MeshType &  m) [inline]

Performs the collapse and the optimizations

Parameters:
mMesh

Definition at line 350 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
static int& vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::GlobalMark ( ) [inline, static, protected]

Global mark for updating.

Definition at line 261 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
static GRID* & vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::grid ( ) [inline, static]

Spatial index for smoothing.

Definition at line 289 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
virtual const char* vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::Info ( MeshType &  m) [inline, virtual]

Reimplemented from vcg::LocalModification< MeshType >.

Definition at line 337 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
static void vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::Init ( MeshType &  m,
HeapType h_ret 
) [inline, static]

Initializes a heap with all the possible diagonal collapses of the mesh For each face inserts two consecutive halfedges representing the two diagonals

Parameters:
mMesh
h_retheap to be initialized

Definition at line 506 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
bool vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::IsFeasible ( ) [inline]
template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
ModifierType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::IsOfType ( ) [inline, virtual]

return the type of operation

Implements vcg::LocalModification< MeshType >.

Definition at line 448 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
bool vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::IsUpToDate ( ) [inline]

Checks if the operation is up to date

Returns:
Value indicating whether operation is up to date

Definition at line 477 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
virtual ScalarType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::Priority ( ) const [inline, virtual]

Gets the priority of the operation

Returns:
Value indicating the priority

Implements vcg::LocalModification< MeshType >.

Definition at line 493 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
static TriMeshType* & vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::refMesh ( ) [inline, static]

Reference mesh used for smoothing.

Definition at line 282 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
static unsigned int& vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::smoothing_iterations ( ) [inline, static]

Number of smoothing iterations to be performed.

Definition at line 296 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
void vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::UpdateHeap ( HeapType h_ret) [inline]

Updates the heap of operations. For each modified face inserts into the heap two consecutive halfedges representing the two diagonals

Parameters:
h_retHeap to be updated

Definition at line 422 of file quad_diag_collapse.h.


Member Data Documentation

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
ScalarType vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::_priority [protected]

Priority in the heap.

Definition at line 271 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
set<FacePointer> vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::faces [protected]

Set of modified faces.

Definition at line 274 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
HEdgePointer vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::hp [protected]

Halfedge that identifies the diagonal to collapse.

Definition at line 277 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
int vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::localMark [protected]

Local mark for updating.

Definition at line 268 of file quad_diag_collapse.h.

template<class MeshType, class MYTYPE, class TriMeshType, class OptimizationType>
VertexPointer vcg::tri::QuadDiagonalCollapseBase< MeshType, MYTYPE, TriMeshType, OptimizationType >::ret [protected]

Vertex returned by the collapse.

Definition at line 258 of file quad_diag_collapse.h.


The documentation for this class was generated from the following file:


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:43:03