44 #ifndef POLYLINE_COLLECTION_NODE_T_HH 45 #define POLYLINE_COLLECTION_NODE_T_HH 50 #include <ACG/Scenegraph/BaseNode.hh> 51 #include <ACG/Scenegraph/DrawModes.hh> 52 #include <ACG/GL/VertexDeclaration.hh> 53 #include <ACG/GL/IRenderer.hh> 54 #include <ACG/GL/GLPrimitives.hh> 55 #include <ACG/GL/globjects.hh> 56 #include <ObjectTypes/PolyLine/PolyLineNodeT.hh> 75 template <
class PolyLineCollection>
81 typedef typename PolyLineCollection::PolyLine::Point Point;
140 void pick_vertices(
GLState& _state);
141 void pick_edges(
GLState& _state,
unsigned int _offset = 0);
163 std::vector< PolyLineNodeT<typename PolyLineCollection::PolyLine>* > polylineNodes_;
165 size_t total_vertex_count_;
166 size_t total_segment_count_;
174 #if defined(INCLUDE_TEMPLATES) && !defined(ACG_POLYLINECOLLECTIONNODET_C) 175 #define ACG_POLYLINECOLLECTIONNODET_TEMPLATES 176 #include "PolyLineCollectionNodeT_impl.hh" 180 #endif // POLYLINE_COLLECTION_NODE_T_HH void draw(GLState &, const DrawModes::DrawMode &_drawMode) override
draw lines and normals
void getRenderObjects(ACG::IRenderer *_renderer, ACG::GLState &_state, const ACG::SceneGraph::DrawModes::DrawMode &_drawMode, const ACG::SceneGraph::Material *_mat) override
Add the objects to the given renderer.
Namespace providing different geometric functions concerning angles.
void boundingBox(Vec3d &_bbMin, Vec3d &_bbMax) override
update bounding box
Class to define the vertex input layout.
PolyLineCollectionNodeT & operator=(const PolyLineCollectionNodeT &_rhs)
Assignment operator (not used)
bool updateVBO_
Flag to trigger update of vbo.
PickTarget
What target to use for picking.
ACG_CLASSNAME(PolyLineCollectionNodeT)
static name of this class
PolyLineCollection & polyline_collection_
The associated poly line collection.
void update()
Trigger an update of the vbo.
void pick(GLState &_state, PickTarget _target) override
picking
PolyLineCollectionNodeT(PolyLineCollection &_pl, BaseNode *_parent=0, std::string _name="<PolyLineCollectionNode>")
Constructor.
void updateVBO()
Trigger an update of the vbo.
ACG::VertexDeclaration vertexDecl_
Buffer organization.
IndexBuffer ibo_
IBO used to render the poly line.
GeometryBuffer vbo_
VBO used to render the poly line.
DrawModes::DrawMode availableDrawModes() const override
return available draw modes
std::vector< std::pair< size_t, size_t > > offsets_
(Offset in vbo, Vertex count in vbo) for each poly line
GLSphere * sphere_
Sphere for VertexSphere DrawMode.
virtual ~PolyLineCollectionNodeT()
Destructor.