OpenMesh
OpenMesh::SmartTaggerT< Mesh, EHandle, EPHandle > Class Template Reference

Smart Tagger. More...

#include <OpenMesh/Tools/SmartTagger/SmartTaggerT.hh>

Public Member Functions

 SmartTaggerT (Mesh &_mesh, unsigned int _tag_range=1)
 Constructor.
 
 ~SmartTaggerT ()
 Destructor.
 
void untag_all ()
 untag all elements
 
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

Mesh & mesh_
 
EPHandle ep_tag_
 
unsigned int current_base_
 
unsigned int tag_range_
 

Detailed Description

template<class Mesh, class EHandle, class EPHandle>
class OpenMesh::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:

// 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: SmartTaggerT.hh:200
bool is_tagged(const EHandle _eh) const
overloaded member for boolean tags
Definition: SmartTaggerT_impl.hh:161
void set_tag(const EHandle _eh, unsigned int _tag=1)
set tag to a value in [0..tag_range]
Definition: SmartTaggerT_impl.hh:124
void untag_all()
untag all elements
Definition: SmartTaggerT_impl.hh:89

Member Function Documentation

◆ get_tag()

template<class Mesh , class EHandle , class EPHandle >
unsigned int OpenMesh::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

◆ is_tagged()

template<class Mesh , class EHandle , class EPHandle >
bool OpenMesh::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

◆ set_tag()

template<class Mesh , class EHandle , class EPHandle >
void OpenMesh::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

◆ set_tag_range()

template<class Mesh , class EHandle , class EPHandle >
void OpenMesh::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

◆ untag_all()

template<class Mesh , class EHandle , class EPHandle >
void OpenMesh::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

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

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .