48 #include <OpenMesh/Core/Utils/Property.hh> 54 #define STV_DEBUG_CHECKS 123 template <
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;
164 inline bool is_tagged(
const EHandle _eh)
const;
176 inline void all_tags_to_zero();
187 unsigned int current_base_;
190 unsigned int tag_range_;
197 template<
class Mesh>
199 :
public SmartTaggerT< Mesh, typename Mesh::VertexHandle, OpenMesh::VPropHandleT<unsigned int> >
203 SmartTaggerVT(Mesh& _mesh,
unsigned int _tag_range = 1) : BaseType(_mesh, _tag_range) {}
206 template<
class Mesh>
208 :
public SmartTaggerT< Mesh, typename Mesh::EdgeHandle, OpenMesh::EPropHandleT<unsigned int> >
212 SmartTaggerET(Mesh& _mesh,
unsigned int _tag_range = 1) : BaseType(_mesh, _tag_range) {}
215 template<
class Mesh>
217 :
public SmartTaggerT< Mesh, typename Mesh::FaceHandle, OpenMesh::FPropHandleT<unsigned int> >
221 SmartTaggerFT(Mesh& _mesh,
unsigned int _tag_range = 1): BaseType(_mesh, _tag_range) {}
224 template<
class Mesh>
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" void set_tag_range(const unsigned int _tag_range)
set new tag range and untag_all
Definition: SmartTaggerT_impl.hh:173
void set_tag(const EHandle _eh, unsigned int _tag=1)
set tag to a value in [0..tag_range]
Definition: SmartTaggerT_impl.hh:124
Smart Tagger.
Definition: SmartTaggerT.hh:124
SmartTaggerT(Mesh &_mesh, unsigned int _tag_range=1)
Constructor.
Definition: SmartTaggerT_impl.hh:59
This file provides the streams omlog, omout, and omerr.
Definition: SmartTaggerT.hh:65
Definition: SmartTaggerT.hh:69
Definition: SmartTaggerT.hh:63
~SmartTaggerT()
Destructor.
Definition: SmartTaggerT_impl.hh:77
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
Definition: SmartTaggerT.hh:67
void untag_all()
untag all elements
Definition: SmartTaggerT_impl.hh:89
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