Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ACG::SmartTaggerT< Mesh, EHandle, EPHandle > Class Template Reference

Smart Tagger. More...

#include <ACG/Mesh/SmartTaggerT.hh>

Public Member Functions

 SmartTaggerT (Mesh &_mesh, unsigned int _tag_range=1)
 Constructor.
 
 ~SmartTaggerT ()
 Destructor.
 
void untag_all ()
 untag all elements More...
 
void untag_all (const unsigned int _new_tag_range)
 untag all elements and set new tag_range More...
 
void set_tag (const EHandle _eh, unsigned int _tag=1)
 set tag to a value in [0..tag_range] More...
 
unsigned int get_tag (const EHandle _eh) const
 get tag value in range [0..tag_range] More...
 
bool is_tagged (const EHandle _eh) const
 overloaded member for boolean tags More...
 
void set_tag_range (const unsigned int _tag_range)
 set new tag range and untag_all More...
 

Protected Member Functions

void all_tags_to_zero ()
 

Protected Attributes

Meshmesh_
 
EPHandle ep_tag_
 
unsigned int current_base_
 
unsigned int tag_range_
 

Detailed Description

template<class Mesh, class EHandle, class EPHandle>
class ACG::SmartTaggerT< Mesh, EHandle, EPHandle >

Smart Tagger.

A tagger class to be used on OpenMesh. It provides an O(1) reset function for the property.

Usage:

SmartTaggerVT< MeshType >* tagger = new SmartTaggerVT< MeshType > (mesh_);
// Reset tagged flag on all vertices
tagger.untag_all();
// Check if something is tagged
bool tag = tagger.is_tagged(vh);
// Set tagged:
tagger.set_tag(vh);

Definition at line 106 of file SmartTaggerT.hh.

Member Function Documentation

template<class Mesh , class EHandle, class EPHandle >
unsigned int ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::get_tag ( const EHandle  _eh) const
inline

get tag value in range [0..tag_range]

Parameters
_ehEdge handle for the tag
Returns
Current tag value at that edge

Definition at line 152 of file SmartTaggerT.cc.

template<class Mesh , class EHandle, class EPHandle >
bool ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::is_tagged ( const EHandle  _eh) const
inline

overloaded member for boolean tags

Parameters
_ehEdge handle for the tag
Returns
Current tag value at that edge

Definition at line 172 of file SmartTaggerT.cc.

template<class Mesh , class EHandle, class EPHandle >
void ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::set_tag ( const EHandle  _eh,
unsigned int  _tag = 1 
)
inline

set tag to a value in [0..tag_range]

Parameters
_ehEdge handle for the tag
_tagTag value

Definition at line 135 of file SmartTaggerT.cc.

template<class Mesh , class EHandle , class EPHandle >
void ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::set_tag_range ( const unsigned int  _tag_range)
inline

set new tag range and untag_all

Set new tag range and reset tagger

Parameters
_tag_rangeNew tag range of the tagger

Definition at line 184 of file SmartTaggerT.cc.

template<class Mesh , class EHandle , class EPHandle >
void ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::untag_all ( )
inline

untag all elements

Definition at line 100 of file SmartTaggerT.cc.

template<class Mesh , class EHandle , class EPHandle >
void ACG::SmartTaggerT< Mesh, EHandle, EPHandle >::untag_all ( const unsigned int  _new_tag_range)
inline

untag all elements and set new tag_range

Parameters
_new_tag_rangeNew tag range of the tagger

Definition at line 124 of file SmartTaggerT.cc.


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