Developer Documentation
OpenMesh::StripifierT< Mesh > Class Template Reference

#include <OpenMesh/Tools/Utils/StripifierT.hh>

Public Types

typedef unsigned int Index
 
typedef std::vector< Index > Strip
 
typedef Strip::const_iterator IndexIterator
 
typedef std::vector< Strip > Strips
 
typedef Strips::const_iterator StripsIterator
 

Public Member Functions

 StripifierT (Mesh &_mesh)
 Default constructor. More...
 
 ~StripifierT ()
 Destructor. More...
 
size_t stripify ()
 Compute triangle strips, returns number of strips. More...
 
void clear ()
 delete all strips More...
 
size_t n_strips () const
 returns number of strips More...
 
bool is_valid () const
 are strips computed? More...
 
StripsIterator begin () const
 Access strips. More...
 
StripsIterator end () const
 Access strips. More...
 

Private Types

typedef std::vector< typename Mesh::FaceHandleFaceHandles
 

Private Member Functions

void build_strips ()
 this method does the main work More...
 
void build_strip (typename Mesh::HalfedgeHandle _start_hh, Strip &_strip, FaceHandles &_faces)
 build a strip from a given halfedge (in both directions) More...
 
FPropHandleT< bool >::reference processed (typename Mesh::FaceHandle _fh)
 
FPropHandleT< bool >::reference used (typename Mesh::FaceHandle _fh)
 

Private Attributes

Meshmesh_
 
Strips strips_
 
FPropHandleT< bool > processed_
 
FPropHandleT< bool > used_
 

Detailed Description

template<class Mesh>
class OpenMesh::StripifierT< Mesh >

This class decomposes a triangle mesh into several triangle strips.

Definition at line 79 of file StripifierT.hh.

Member Typedef Documentation

◆ FaceHandles

template<class Mesh >
typedef std::vector<typename Mesh::FaceHandle> OpenMesh::StripifierT< Mesh >::FaceHandles
private

Definition at line 116 of file StripifierT.hh.

◆ Index

template<class Mesh >
typedef unsigned int OpenMesh::StripifierT< Mesh >::Index

Definition at line 83 of file StripifierT.hh.

◆ IndexIterator

template<class Mesh >
typedef Strip::const_iterator OpenMesh::StripifierT< Mesh >::IndexIterator

Definition at line 85 of file StripifierT.hh.

◆ Strip

template<class Mesh >
typedef std::vector<Index> OpenMesh::StripifierT< Mesh >::Strip

Definition at line 84 of file StripifierT.hh.

◆ Strips

template<class Mesh >
typedef std::vector<Strip> OpenMesh::StripifierT< Mesh >::Strips

Definition at line 86 of file StripifierT.hh.

◆ StripsIterator

template<class Mesh >
typedef Strips::const_iterator OpenMesh::StripifierT< Mesh >::StripsIterator

Definition at line 87 of file StripifierT.hh.

Constructor & Destructor Documentation

◆ StripifierT()

template<class Mesh >
OpenMesh::StripifierT< Mesh >::StripifierT ( Mesh _mesh)
explicit

Default constructor.

Definition at line 66 of file StripifierT_impl.hh.

◆ ~StripifierT()

template<class Mesh >
OpenMesh::StripifierT< Mesh >::~StripifierT

Destructor.

Definition at line 74 of file StripifierT_impl.hh.

Member Function Documentation

◆ begin()

template<class Mesh >
StripsIterator OpenMesh::StripifierT< Mesh >::begin ( ) const
inline

Access strips.

Definition at line 109 of file StripifierT.hh.

◆ build_strip()

template<class Mesh >
void OpenMesh::StripifierT< Mesh >::build_strip ( typename Mesh::HalfedgeHandle  _start_hh,
Strip &  _strip,
FaceHandles &  _faces 
)
private

build a strip from a given halfedge (in both directions)

Definition at line 191 of file StripifierT_impl.hh.

◆ build_strips()

template<class Mesh >
void OpenMesh::StripifierT< Mesh >::build_strips
private

this method does the main work

Definition at line 107 of file StripifierT_impl.hh.

◆ clear()

template<class Mesh >
void OpenMesh::StripifierT< Mesh >::clear ( void  )
inline

delete all strips

Definition at line 100 of file StripifierT.hh.

◆ end()

template<class Mesh >
StripsIterator OpenMesh::StripifierT< Mesh >::end ( ) const
inline

Access strips.

Definition at line 111 of file StripifierT.hh.

◆ is_valid()

template<class Mesh >
bool OpenMesh::StripifierT< Mesh >::is_valid ( void  ) const
inline

are strips computed?

Definition at line 106 of file StripifierT.hh.

◆ n_strips()

template<class Mesh >
size_t OpenMesh::StripifierT< Mesh >::n_strips ( ) const
inline

returns number of strips

Definition at line 103 of file StripifierT.hh.

◆ processed()

template<class Mesh >
FPropHandleT< bool >::reference OpenMesh::StripifierT< Mesh >::processed ( typename Mesh::FaceHandle  _fh)
inlineprivate

Definition at line 127 of file StripifierT.hh.

◆ stripify()

template<class Mesh >
size_t OpenMesh::StripifierT< Mesh >::stripify

Compute triangle strips, returns number of strips.

Definition at line 81 of file StripifierT_impl.hh.

◆ used()

template<class Mesh >
FPropHandleT< bool >::reference OpenMesh::StripifierT< Mesh >::used ( typename Mesh::FaceHandle  _fh)
inlineprivate

Definition at line 130 of file StripifierT.hh.

Member Data Documentation

◆ mesh_

template<class Mesh >
Mesh& OpenMesh::StripifierT< Mesh >::mesh_
private

Definition at line 138 of file StripifierT.hh.

◆ processed_

template<class Mesh >
FPropHandleT<bool> OpenMesh::StripifierT< Mesh >::processed_
private

Definition at line 140 of file StripifierT.hh.

◆ strips_

template<class Mesh >
Strips OpenMesh::StripifierT< Mesh >::strips_
private

Definition at line 139 of file StripifierT.hh.

◆ used_

template<class Mesh >
FPropHandleT<bool> OpenMesh::StripifierT< Mesh >::used_
private

Definition at line 140 of file StripifierT.hh.


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