Loading...
Searching...
No Matches
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
void | set_tag (const EHandle _eh, unsigned int _tag=1)
| set tag to a value in [0..tag_range]
unsigned int | get_tag (const EHandle _eh) const
| get tag value in range [0..tag_range]
bool | is_tagged (const EHandle _eh) const
| overloaded member for boolean tags
void | set_tag_range (const unsigned int _tag_range)
| set new tag range and untag_all

## 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.

- Smarttagging for vertices: SmartTaggerVT;
- Smarttagging for edges: SmartTaggerET;
- Smarttagging for faces: SmartTaggerFT;
- Smarttagging for halfedges: SmartTaggerHT;

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

  _eh | Edge 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

  _eh | Edge 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

  _eh | Edge handle for the tag
  _tag | Tag 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_range | New 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_range | New tag range of the tagger

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

- OpenMesh/Tools/SmartTagger/SmartTaggerT.hh
- OpenMesh/Tools/SmartTagger/SmartTaggerT_impl.hh