OpenMesh::Decimater::ModProgMeshT< DecimaterType > Class Template Reference

#include <ModProgMeshT.hh>

Inheritance diagram for OpenMesh::Decimater::ModProgMeshT< DecimaterType >:
Inheritance graph
[legend]

List of all members.

Classes

struct  Info

Public Types

typedef std::vector< InfoInfoList
 Type of the list storing the progressive mesh info Info.

Public Member Functions

 DECIMATING_MODULE (ModProgMeshT, DecimaterType, ProgMesh)
const InfoListinfolist () const
 Reference to collected information.
bool is_binary (void) const
 Returns true if criteria returns a binary value.
 ModProgMeshT (DecimaterType &_dec)
 Constructor.
const InfoListpmi () const
void postprocess_collapse (const CollapseInfo &_ci)
bool write (const std::string &_ofname)
 ~ModProgMeshT ()
 Destructor.

Private Member Functions

void set_binary (bool _b)
 Set whether module is binary or not.

Private Attributes

VPropHandleT< int > idx_
InfoList pmi_

Detailed Description

template<class DecimaterType>
class OpenMesh::Decimater::ModProgMeshT< DecimaterType >

Collect progressive mesh information while decimating.

The progressive mesh data is stored in an internal structure, which can be evaluated after the decimation process and (!) before calling the garbage collection of the decimated mesh.

Definition at line 78 of file ModProgMeshT.hh.


Member Typedef Documentation

template<class DecimaterType >
typedef std::vector<Info> OpenMesh::Decimater::ModProgMeshT< DecimaterType >::InfoList

Type of the list storing the progressive mesh info Info.

Definition at line 103 of file ModProgMeshT.hh.


Constructor & Destructor Documentation

template<class DecimaterType >
OpenMesh::Decimater::ModProgMeshT< DecimaterType >::ModProgMeshT ( DecimaterType &  _dec  )  [inline]

Constructor.

Definition at line 109 of file ModProgMeshT.hh.

template<class DecimaterType >
OpenMesh::Decimater::ModProgMeshT< DecimaterType >::~ModProgMeshT (  )  [inline]

Destructor.

Definition at line 116 of file ModProgMeshT.hh.


Member Function Documentation

template<class DecimaterType >
OpenMesh::Decimater::ModProgMeshT< DecimaterType >::DECIMATING_MODULE ( ModProgMeshT< DecimaterType >  ,
DecimaterType  ,
ProgMesh   
)
template<class DecimaterType >
const InfoList& OpenMesh::Decimater::ModProgMeshT< DecimaterType >::infolist (  )  const [inline]

Reference to collected information.

Definition at line 168 of file ModProgMeshT.hh.

template<class DecimaterType >
bool OpenMesh::Decimater::ModProgMeshT< DecimaterType >::is_binary ( void   )  const [inline]

Returns true if criteria returns a binary value.

Reimplemented from OpenMesh::Decimater::ModBaseT< DecimaterType >.

Definition at line 137 of file ModProgMeshT.hh.

template<class DecimaterType >
const InfoList& OpenMesh::Decimater::ModProgMeshT< DecimaterType >::pmi (  )  const [inline]

Definition at line 121 of file ModProgMeshT.hh.

template<class DecimaterType >
void OpenMesh::Decimater::ModProgMeshT< DecimaterType >::postprocess_collapse ( const CollapseInfo _ci  )  [inline]

Stores collapse information in a queue.

See also:
infolist()

Definition at line 131 of file ModProgMeshT.hh.

template<class DecimaterType >
void OpenMesh::Decimater::ModProgMeshT< DecimaterType >::set_binary ( bool  _b  )  [inline, private]

Set whether module is binary or not.

Reimplemented from OpenMesh::Decimater::ModBaseT< DecimaterType >.

Definition at line 173 of file ModProgMeshT.hh.

template<class DecimaterType >
bool OpenMesh::Decimater::ModProgMeshT< DecimaterType >::write ( const std::string &  _ofname  )  [inline]

Write progressive mesh data to a file in proprietary binary format .pm.

The methods uses the collected data to write a progressive mesh file. It's a binary format with little endian byte ordering:

  • The first 8 bytes contain the word "ProgMesh".
  • 32-bit int for the number of vertices NV in the base mesh.
  • 32-bit int for the number of faces in the base mesh.
  • 32-bit int for the number of halfedge collapses (now vertex splits)
  • Positions of vertices of the base mesh (32-bit float triplets).
    [x,y,z][x,y,z]...
  • Triplets of indices (32-bit int) for each triangle (index in the list of vertices of the base mesh defined by the positions.
    [v0,v1,v2][v0,v1,v2]...
  • For each collapse/split a detail information package made of 3 32-bit floats for the positions of vertex v0, and 3 32-bit int indices for v1, vl, and vr. The index for vl or vr might be -1, if the face on this side of the edge does not exists.
Remarks:
Write file before calling the garbage collection of the mesh.
Parameters:
_ofname Name of the file, where to write the progressive mesh
Returns:
true on success of the operation, else false.

Definition at line 75 of file ModProgMeshT.cc.


Member Data Documentation

template<class DecimaterType >
VPropHandleT<int> OpenMesh::Decimater::ModProgMeshT< DecimaterType >::idx_ [private]

Definition at line 176 of file ModProgMeshT.hh.

template<class DecimaterType >
InfoList OpenMesh::Decimater::ModProgMeshT< DecimaterType >::pmi_ [private]

Definition at line 175 of file ModProgMeshT.hh.


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


openmesh
Author(s): Benjamin Pitzer
autogenerated on Fri Jan 11 12:11:17 2013