48#include <OpenMesh/Core/Utils/Property.hh>
54#define STV_DEBUG_CHECKS
123template <
class Mesh,
class EHandle,
class EPHandle>
143 inline void untag_all(
const unsigned int _new_tag_range);
150 inline void set_tag (
const EHandle _eh,
unsigned int _tag = 1);
157 inline unsigned int get_tag (
const EHandle _eh)
const;
176 inline void all_tags_to_zero();
187 unsigned int current_base_;
190 unsigned int tag_range_;
199 :
public SmartTaggerT< Mesh, typename Mesh::VertexHandle, OpenMesh::VPropHandleT<unsigned int> >
203 SmartTaggerVT(Mesh& _mesh,
unsigned int _tag_range = 1) : BaseType(_mesh, _tag_range) {}
208 :
public SmartTaggerT< Mesh, typename Mesh::EdgeHandle, OpenMesh::EPropHandleT<unsigned int> >
212 SmartTaggerET(Mesh& _mesh,
unsigned int _tag_range = 1) : BaseType(_mesh, _tag_range) {}
217 :
public SmartTaggerT< Mesh, typename Mesh::FaceHandle, OpenMesh::FPropHandleT<unsigned int> >
221 SmartTaggerFT(Mesh& _mesh,
unsigned int _tag_range = 1): BaseType(_mesh, _tag_range) {}
226 :
public SmartTaggerT< Mesh, typename Mesh::HalfedgeHandle, OpenMesh::HPropHandleT<unsigned int> >
230 SmartTaggerHT(Mesh& _mesh,
unsigned int _tag_range = 1): BaseType(_mesh, _tag_range){}
237#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_SMARTTAGGERT_C)
238#define OPENMESH_SMARTTAGGERT_TEMPLATES
239#include "SmartTaggerT_impl.hh"
This file provides the streams omlog, omout, and omerr.
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition MeshItems.hh:59
Definition SmartTaggerT.hh:200
Definition SmartTaggerT.hh:209
Definition SmartTaggerT.hh:218
Definition SmartTaggerT.hh:227
unsigned int get_tag(const EHandle _eh) const
get tag value in range [0..tag_range]
Definition SmartTaggerT_impl.hh:141
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 set_tag_range(const unsigned int _tag_range)
set new tag range and untag_all
Definition SmartTaggerT_impl.hh:173
void untag_all()
untag all elements
Definition SmartTaggerT_impl.hh:89
~SmartTaggerT()
Destructor.
Definition SmartTaggerT_impl.hh:77
void untag_all(const unsigned int _new_tag_range)
untag all elements and set new tag_range
Definition SmartTaggerT_impl.hh:113
SmartTaggerT(Mesh &_mesh, unsigned int _tag_range=1)
Constructor.
Definition SmartTaggerT_impl.hh:59