| OpenMesh

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenMesh::SmartTaggerT< Mesh, EHandle, EPHandle > Class Template Reference

Smart Tagger. More...

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

Collaboration diagram for OpenMesh::SmartTaggerT< Mesh, EHandle, EPHandle >:
[legend]

## 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
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);

## 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() [1/2]

template<class Mesh , class EHandle , class EPHandle >

void OpenMesh::SmartTaggerT< Mesh, EHandle, EPHandle >::untag_all | ( |  | ) |
| inline

untag all elements

## ◆ untag_all() [2/2]

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