|
Developer Documentation
|
#include <ACG/Scenegraph/GlutPrimitiveNode.hh>
Classes | |
| struct | Primitive |
Public Types | |
| enum | GlutPrimitiveType { CONE =0 , CUBE , DODECAHEDRON , ICOSAHEDRON , OCTAHEDRON , SPHERE , TETRAHEDRON , TORUS } |
| Lists all available primivites. More... | |
Public Types inherited from ACG::SceneGraph::BaseNode | |
| enum | StatusMode { Active = 0x1 , HideNode = 0x2 , HideChildren = 0x4 , HideSubtree = 0x8 } |
| Status modi. More... | |
| enum | TraverseMode { NodeFirst = 0x1 , ChildrenFirst = 0x2 , SecondPass = 0x4 } |
| Node traverse types. More... | |
| typedef std::vector< BaseNode * >::const_iterator | ConstChildIter |
| allows to iterate over children | |
| typedef std::vector< BaseNode * >::iterator | ChildIter |
| allows to iterate over children | |
| typedef std::vector< BaseNode * >::const_reverse_iterator | ConstChildRIter |
| allows to reverse iterate over children | |
| typedef std::vector< BaseNode * >::reverse_iterator | ChildRIter |
| allows to reverse iterate over children | |
| enum | PASSES { NOPASS = 0 , ALLPASSES = 1 << 0 , PASS_1 = 1 << 1 , PASS_2 = 1 << 2 , PASS_3 = 1 << 3 , PASS_4 = 1 << 4 , PASS_5 = 1 << 5 , PASS_6 = 1 << 6 , PASS_7 = 1 << 7 , PASS_8 = 1 << 8 } |
| This enum should be used to enable rendering of a node in different. More... | |
| typedef unsigned int | MultipassBitMask |
| Multipass pass bit mask type. | |
Public Member Functions | |
| GlutPrimitiveNode (BaseNode *_parent=0, const std::string &_name="<GlutPrimitive>") | |
| GlutPrimitiveNode (GlutPrimitiveType _type, BaseNode *_parent=0, const std::string &_name="<GlutPrimitive>") | |
| virtual | ~GlutPrimitiveNode () |
| destructor | |
| size_t | add_primitive (GlutPrimitiveType _type, Vec3d _pos, Vec3d _axis, ACG::Vec4f _color) |
| void | clear () |
| void | set_position (const Vec3d &_p, int _idx=0) |
| set position | |
| const Vec3d | get_position (int _idx=0) const |
| get position | |
| Primitive & | get_primitive (int _idx) |
| get a primitive | |
| void | set_size (double _s, int _idx=0) |
| set size | |
| double | get_size (int _idx=0) const |
| get size | |
| ACG_CLASSNAME (GlutPrimitiveNode) | |
| DrawModes::DrawMode | availableDrawModes () const override |
| return available draw modes | |
| void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override |
| update bounding box | |
| void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override |
| drawing the primitive | |
| void | draw_obj (GLState &_state, size_t _idx) const |
| void | pick (GLState &_state, PickTarget _target) override |
| picking | |
| void | setColorInternal (bool _set) |
| Disable internal color processing. | |
| void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) override |
| Add the objects to the given renderer. | |
Public Member Functions inherited from ACG::SceneGraph::BaseNode | |
| BaseNode (BaseNode *_parent=0, std::string _name="<unknown>") | |
| Default constructor. | |
| BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>") | |
| Put this node between _parent and _child. | |
| virtual | ~BaseNode () |
| Destructor. | |
| void | delete_subtree () |
| Delete the whole subtree of this node. | |
| virtual const std::string & | className () const =0 |
| Return class name (implemented by the ACG_CLASSNAME macro) | |
| virtual void | enter (GLState &, const DrawModes::DrawMode &) |
| virtual void | enter (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode) |
| virtual void | leave (GLState &, const DrawModes::DrawMode &) |
| virtual void | leave (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode) |
| virtual void | enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) |
| virtual void | leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) |
| void | enablePicking (bool _enable) |
| bool | pickingEnabled () |
| virtual void | mouseEvent (GLState &, QMouseEvent *) |
| Handle mouse event (some interaction, e.g. modeling) | |
| void | setDirty (bool _dirty=true) |
| mark node for redrawn | |
| bool | isDirty () const |
| Check if node should be redrawn. | |
| ChildIter | childrenBegin () |
| Returns: begin-iterator of children. | |
| ConstChildIter | childrenBegin () const |
Same but cont. | |
| ChildIter | childrenEnd () |
| Returns: end-iterator of children. | |
| ConstChildIter | childrenEnd () const |
Same but const. | |
| ChildRIter | childrenRBegin () |
| Returns: reverse begin-iterator of children. | |
| ConstChildRIter | childrenRBegin () const |
| Same but const. | |
| ChildRIter | childrenREnd () |
| Returns: reverse end-iterator of children. | |
| ConstChildRIter | childrenREnd () const |
Same but const. | |
| void | push_back (BaseNode *_node) |
| Insert _node at the end of the list of children. | |
| void | remove (ChildIter _pos) |
| size_t | nChildren () const |
| number of children | |
| ChildIter | find (BaseNode *_node) |
| BaseNode * | find (const std::string &_name) |
| BaseNode * | parent () |
| Get the nodes parent node. | |
| const BaseNode * | parent () const |
| Get the nodes parent node. | |
| void | set_parent (BaseNode *_parent) |
| Set the parent of this node. | |
| StatusMode | status () const |
| Get node's status. | |
| void | set_status (StatusMode _s) |
| Set the status of this node. | |
| void | hide () |
| Hide Node: set status to HideNode. | |
| void | show () |
| Show node: set status to Active. | |
| bool | visible () |
| Is node visible (status == Active)? | |
| bool | hidden () |
| Is node not visible (status != Active)? | |
| std::string | name () const |
| Returns: name of node (needs not be unique) | |
| void | name (const std::string &_name) |
| rename a node | |
| unsigned int | id () const |
| DrawModes::DrawMode | drawMode () const |
| Return the own draw modes of this node. | |
| void | drawMode (DrawModes::DrawMode _drawMode) |
| unsigned int | traverseMode () const |
| Return how the node should be traversed. | |
| void | setTraverseMode (unsigned int _mode) |
| Set traverse mode for node. | |
| MultipassBitMask | multipassStatus () const |
| Get the current multipass settings for the nodes status functions. | |
| void | setMultipassStatus (const MultipassBitMask _passStatus) |
| Set multipass settings for the nodes status functions. | |
| void | multipassStatusSetActive (const unsigned int _i, bool _active) |
| Set multipass status to traverse in a specific pass. | |
| bool | multipassStatusActive (const unsigned int _i) const |
| Get multipass status to traverse in a specific pass. | |
| MultipassBitMask | multipassNode () const |
| Get the current multipass settings for the node. | |
| void | setMultipassNode (const MultipassBitMask _passNode) |
| Set multipass settings for the node. | |
| void | multipassNodeSetActive (const unsigned int _i, bool _active) |
| Set Node status to traverse in a specific pass. | |
| bool | multipassNodeActive (const unsigned int _i) const |
| Get Node status to traverse in a specific pass. | |
| void | setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON) |
| Set custom shaders. | |
| void | setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_tessControlShaderFile, const std::string &_tessEvalShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON) |
| Set custom shaders. | |
| void | setRenderObjectUniformPool (const GLSL::UniformPool *_pool) |
| Set uniforms for shader based rendering. | |
| const GLSL::UniformPool * | getRenderObjectUniformPool () |
| Get uniforms for shader based rendering. | |
| void | setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D) |
| Set textures for shader based rendering. | |
| void | setRenderObjectModifier (RenderObjectModifier *_modifier) |
| Set modifier for render objects. | |
| RenderObjectModifier * | getRenderObjectModifier () |
| Get render-object modifier. | |
| void | applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const |
| Set shaders, textures and uniforms as provided by user to a render-object. | |
Private Attributes | |
| std::vector< Primitive > | primitives_ |
| bool | setColor_ |
| ACG::GLSphere * | sphere_ |
| ACG::GLCone * | cone_ |
This class is able to render all glut primitives (listed in GlutPrimitiveType).
Definition at line 82 of file GlutPrimitiveNode.hh.
Lists all available primivites.
Definition at line 88 of file GlutPrimitiveNode.hh.
| ACG::SceneGraph::GlutPrimitiveNode::GlutPrimitiveNode | ( | BaseNode * | _parent = 0, |
| const std::string & | _name = "<GlutPrimitive>" |
||
| ) |
Definition at line 69 of file GlutPrimitiveNode.cc.
| ACG::SceneGraph::GlutPrimitiveNode::GlutPrimitiveNode | ( | GlutPrimitiveType | _type, |
| BaseNode * | _parent = 0, |
||
| const std::string & | _name = "<GlutPrimitive>" |
||
| ) |
Definition at line 83 of file GlutPrimitiveNode.cc.
|
inlinevirtual |
destructor
Definition at line 181 of file GlutPrimitiveNode.hh.
| size_t ACG::SceneGraph::GlutPrimitiveNode::add_primitive | ( | GlutPrimitiveType | _type, |
| Vec3d | _pos, | ||
| Vec3d | _axis, | ||
| ACG::Vec4f | _color | ||
| ) |
Adds a primitive and returns its index.
Definition at line 296 of file GlutPrimitiveNode.cc.
|
overridevirtual |
return available draw modes
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 158 of file GlutPrimitiveNode.cc.
|
overridevirtual |
update bounding box
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 144 of file GlutPrimitiveNode.cc.
|
inline |
Definition at line 195 of file GlutPrimitiveNode.hh.
|
overridevirtual |
drawing the primitive
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 172 of file GlutPrimitiveNode.cc.
| void ACG::SceneGraph::GlutPrimitiveNode::draw_obj | ( | GLState & | _state, |
| size_t | _idx | ||
| ) | const |
Definition at line 307 of file GlutPrimitiveNode.cc.
| const Vec3d ACG::SceneGraph::GlutPrimitiveNode::get_position | ( | int | _idx = 0 | ) | const |
get position
Definition at line 111 of file GlutPrimitiveNode.cc.
|
inline |
get a primitive
Definition at line 203 of file GlutPrimitiveNode.hh.
| double ACG::SceneGraph::GlutPrimitiveNode::get_size | ( | int | _idx = 0 | ) | const |
get size
Definition at line 133 of file GlutPrimitiveNode.cc.
|
overridevirtual |
Add the objects to the given renderer.
| _renderer | The renderer which will be used. Add your geometry into this class |
| _state | The current GL State when this object is called |
| _drawMode | The active draw mode |
| _mat | Current material |
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 414 of file GlutPrimitiveNode.cc.
|
overridevirtual |
picking
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 380 of file GlutPrimitiveNode.cc.
| void ACG::SceneGraph::GlutPrimitiveNode::set_position | ( | const Vec3d & | _p, |
| int | _idx = 0 |
||
| ) |
set position
Definition at line 101 of file GlutPrimitiveNode.cc.
| void ACG::SceneGraph::GlutPrimitiveNode::set_size | ( | double | _s, |
| int | _idx = 0 |
||
| ) |
set size
Definition at line 123 of file GlutPrimitiveNode.cc.
|
inline |
Disable internal color processing.
Disables the internal color processing of the primitives. If disabled, a Materialnodes settings will apply here.
Definition at line 230 of file GlutPrimitiveNode.hh.
|
private |
Definition at line 249 of file GlutPrimitiveNode.hh.
|
private |
Definition at line 243 of file GlutPrimitiveNode.hh.
|
private |
Definition at line 245 of file GlutPrimitiveNode.hh.
|
private |
Definition at line 248 of file GlutPrimitiveNode.hh.