49 #ifndef OPENMESH_STRIPIFIERT_HH
50 #define OPENMESH_STRIPIFIERT_HH
56 #include <OpenMesh/Core/Utils/Property.hh>
81 typedef unsigned int Index;
82 typedef std::vector<Index> Strip;
83 typedef typename Strip::const_iterator IndexIterator;
84 typedef std::vector<Strip> Strips;
85 typedef typename Strips::const_iterator StripsIterator;
98 void clear() { Strips().swap(strips_); }
107 StripsIterator
begin()
const {
return strips_.begin(); }
109 StripsIterator
end()
const {
return strips_.end(); }
114 typedef std::vector<typename Mesh::FaceHandle> FaceHandles;
121 void build_strip(
typename Mesh::HalfedgeHandle _start_hh,
123 FaceHandles& _faces);
126 return mesh_.property(processed_, _fh);
128 FPropHandleT<bool>::reference used(
typename Mesh::FaceHandle _fh) {
129 return mesh_.property(used_, _fh);
138 FPropHandleT<bool> processed_, used_;
145 #if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_STRIPIFIERT_C)
146 #define OPENMESH_STRIPIFIERT_TEMPLATES
147 #include "StripifierT.cc"
150 #endif // OPENMESH_STRIPIFIERT_HH defined
void clear()
delete all strips
Definition: StripifierT.hh:98
~StripifierT()
Destructor.
Definition: StripifierT.cc:73
size_t n_strips() const
returns number of strips
Definition: StripifierT.hh:101
bool is_valid() const
are strips computed?
Definition: StripifierT.hh:104
StripifierT(Mesh &_mesh)
Default constructor.
Definition: StripifierT.cc:65
StripsIterator end() const
Access strips.
Definition: StripifierT.hh:109
Handle representing a face property.
Definition: Property.hh:518
size_t stripify()
Compute triangle strips, returns number of strips.
Definition: StripifierT.cc:80
StripsIterator begin() const
Access strips.
Definition: StripifierT.hh:107
This class decomposes a triangle mesh into several triangle strips.
Definition: StripifierT.hh:77