91 typedef std::vector<Vec3d> PointVector;
92 typedef PointVector::iterator PointIter;
93 typedef PointVector::const_iterator ConstPointIter;
94 typedef std::vector<ACG::Vec3uc> ColorVector;
95 typedef ColorVector::iterator ColorIter;
96 typedef ColorVector::const_iterator ConstColorIter;
97 typedef std::vector<Color4f> Color4fVector;
98 typedef Color4fVector::iterator Color4fIter;
99 typedef Color4fVector::const_iterator ConstColor4fIter;
109 std::string _name=
"<LineNode>" );
115 void set_line_mode(LineMode _mode);
125 void boundingBox(
Vec3d& _bbMin,
Vec3d& _bbMax)
override;
158 void set_color(
const Vec4f& _c);
161 void add_point(
const Vec3d& _v);
164 void add_line(
const Vec3d& _v0,
const Vec3d& _v1);
170 void add_color(
const Color4f _c);
177 return (picking_line_width_ != std::numeric_limits<float>::infinity()) ? picking_line_width_ : line_width();
188 const PointVector&
points()
const {
return points_; }
195 ColorVector&
colors() {
return colors_; }
198 bool&
alwaysOnTop() { updateVBO_ =
true;
return draw_always_on_top; }
200 void updateVBO() { updateVBO_ =
true; };
204 typedef Vec3d value_type;
205 typedef Vec3d& reference;
206 typedef const Vec3d& const_reference;
219 void pick_vertices(
GLState& _state);
220 void pick_edges (
GLState& _state,
unsigned int _offset);
221 void pick_edgesCompat (
GLState& _state,
unsigned int _offset);
232 Color4fVector colors4f_;
236 bool draw_always_on_top;
247 std::string lineNodeName_;