54#ifndef ACG_TRISTRIPNODET_HH
55#define ACG_TRISTRIPNODET_HH
61#include <OpenMesh/Tools/Utils/StripifierT.hh>
62#include "MeshNodeDeprecatedT.hh"
87 typedef MeshNodeDeprecatedT<Mesh> Base;
88 typedef typename Base::FaceMode FaceMode;
94 std::string _name=
"<TriStripNodeDeprecatedT>" )
95 : Base(_mesh, _parent, _name),
110 std::vector<unsigned int>().swap(Base::indices_);
119 Base::update_topology();
126 virtual void draw_faces(FaceMode _mode)
128 if (Base::mesh_.is_trimesh() &&
129 _mode == Base::PER_VERTEX &&
132 typename MyStripifier::StripsIterator strip_it = strips_.
begin();
133 typename MyStripifier::StripsIterator strip_last = strips_.
end();
135 for (; strip_it!=strip_last; ++strip_it)
136 glDrawElements(GL_TRIANGLE_STRIP,
141 else Base::draw_faces(_mode);
145 MyStripifier strips_;
void update_strips()
build triangle strips, delete face indices
virtual void update_topology()
build face indices, delete strips
~TriStripNodeDeprecatedT()
Destructor.
TriStripNodeDeprecatedT(Mesh &_mesh, BaseNode *_parent=0, std::string _name="<TriStripNodeDeprecatedT>")
Default constructor.
void clear()
delete all strips
StripsIterator end() const
Access strips.
size_t stripify()
Compute triangle strips, returns number of strips.
bool is_valid() const
are strips computed?
StripsIterator begin() const
Access strips.
Namespace providing different geometric functions concerning angles.