Developer Documentation
|
Public Types | |
using | Plane = ACG::Geometry::Plane |
![]() | |
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 More... | |
typedef std::vector< BaseNode * >::iterator | ChildIter |
allows to iterate over children More... | |
typedef std::vector< BaseNode * >::const_reverse_iterator | ConstChildRIter |
allows to reverse iterate over children More... | |
typedef std::vector< BaseNode * >::reverse_iterator | ChildRIter |
allows to reverse iterate over children More... | |
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. More... | |
Public Member Functions | |
PlaneNode (Plane &_plane, BaseNode *_parent=0, std::string _name="<PlaneNode>") | |
Construct a plane rendering node. More... | |
~PlaneNode () | |
destructor More... | |
ACG_CLASSNAME (PlaneNode) | |
static name of this class | |
ACG::SceneGraph::DrawModes::DrawMode | availableDrawModes () const override |
return available draw modes More... | |
void | boundingBox (ACG::Vec3d &_bbMin, ACG::Vec3d &_bbMax) override |
update bounding box More... | |
void | draw (ACG::GLState &_state, const ACG::SceneGraph::DrawModes::DrawMode &_drawMode) override |
draw Plane More... | |
void | pick (ACG::GLState &_state, ACG::SceneGraph::PickTarget _target) override |
draw Plane for object picking More... | |
ACG::Vec3d | position () |
get center position of the plane More... | |
ACG::Vec3d | normal () |
get current normal More... | |
ACG::Vec3d | xDirection () |
local x direction (multiplied with width) More... | |
ACG::Vec3d | yDirection () |
local y direction (multiplied with height) More... | |
Plane & | getPlane () |
Get the currently rendered plane. More... | |
void | setPlane (Plane plane) |
Set a new plane for rendering. More... | |
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. More... | |
void | update () |
updates the plane before the next render call More... | |
![]() | |
BaseNode (BaseNode *_parent=0, std::string _name="<unknown>") | |
Default constructor. More... | |
BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>") | |
Put this node between _parent and _child. More... | |
virtual | ~BaseNode () |
Destructor. More... | |
void | delete_subtree () |
Delete the whole subtree of this node. More... | |
virtual const std::string & | className () const =0 |
Return class name (implemented by the ACG_CLASSNAME macro) | |
virtual DrawModes::DrawMode | availableDrawModes () const |
virtual void | boundingBox (Vec3d &, Vec3d &) |
virtual void | enter (GLState &, const DrawModes::DrawMode &) |
virtual void | enter (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode) |
virtual void | draw (GLState &, const DrawModes::DrawMode &) |
Draw this node using the draw modes _drawMode. More... | |
virtual void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) |
Deferred draw call with shader based renderer. More... | |
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 | pick (GLState &, PickTarget) |
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) More... | |
void | setDirty (bool _dirty=true) |
mark node for redrawn More... | |
bool | isDirty () const |
Check if node should be redrawn. More... | |
ChildIter | childrenBegin () |
Returns: begin-iterator of children. More... | |
ConstChildIter | childrenBegin () const |
Same but cont . More... | |
ChildIter | childrenEnd () |
Returns: end-iterator of children. More... | |
ConstChildIter | childrenEnd () const |
Same but const . More... | |
ChildRIter | childrenRBegin () |
Returns: reverse begin-iterator of children. More... | |
ConstChildRIter | childrenRBegin () const |
Same but const. More... | |
ChildRIter | childrenREnd () |
Returns: reverse end-iterator of children. More... | |
ConstChildRIter | childrenREnd () const |
Same but const . More... | |
void | push_back (BaseNode *_node) |
Insert _node at the end of the list of children. More... | |
void | remove (ChildIter _pos) |
size_t | nChildren () const |
number of children More... | |
ChildIter | find (BaseNode *_node) |
BaseNode * | find (const std::string &_name) |
BaseNode * | parent () |
Get the nodes parent node. More... | |
const BaseNode * | parent () const |
Get the nodes parent node. More... | |
void | set_parent (BaseNode *_parent) |
Set the parent of this node. More... | |
StatusMode | status () const |
Get node's status. More... | |
void | set_status (StatusMode _s) |
Set the status of this node. More... | |
void | hide () |
Hide Node: set status to HideNode. More... | |
void | show () |
Show node: set status to Active. More... | |
bool | visible () |
Is node visible (status == Active)? More... | |
bool | hidden () |
Is node not visible (status != Active)? More... | |
std::string | name () const |
Returns: name of node (needs not be unique) More... | |
void | name (const std::string &_name) |
rename a node More... | |
unsigned int | id () const |
DrawModes::DrawMode | drawMode () const |
Return the own draw modes of this node. More... | |
void | drawMode (DrawModes::DrawMode _drawMode) |
unsigned int | traverseMode () const |
Return how the node should be traversed. More... | |
void | setTraverseMode (unsigned int _mode) |
Set traverse mode for node. More... | |
MultipassBitMask | multipassStatus () const |
Get the current multipass settings for the nodes status functions. More... | |
void | setMultipassStatus (const MultipassBitMask _passStatus) |
Set multipass settings for the nodes status functions. More... | |
void | multipassStatusSetActive (const unsigned int _i, bool _active) |
Set multipass status to traverse in a specific pass. More... | |
bool | multipassStatusActive (const unsigned int _i) const |
Get multipass status to traverse in a specific pass. More... | |
MultipassBitMask | multipassNode () const |
Get the current multipass settings for the node. More... | |
void | setMultipassNode (const MultipassBitMask _passNode) |
Set multipass settings for the node. More... | |
void | multipassNodeSetActive (const unsigned int _i, bool _active) |
Set Node status to traverse in a specific pass. More... | |
bool | multipassNodeActive (const unsigned int _i) const |
Get Node status to traverse in a specific pass. More... | |
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. More... | |
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. More... | |
void | setRenderObjectUniformPool (const GLSL::UniformPool *_pool) |
Set uniforms for shader based rendering. More... | |
const GLSL::UniformPool * | getRenderObjectUniformPool () |
Get uniforms for shader based rendering. More... | |
void | setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D) |
Set textures for shader based rendering. More... | |
void | setRenderObjectModifier (RenderObjectModifier *_modifier) |
Set modifier for render objects. More... | |
RenderObjectModifier * | getRenderObjectModifier () |
Get render-object modifier. More... | |
void | applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const |
Set shaders, textures and uniforms as provided by user to a render-object. More... | |
Private Member Functions | |
void | drawPlane (ACG::GLState &_state) |
void | drawManipulator (ACG::GLState &_state) |
void | drawManipulatorPick (ACG::GLState &_state) |
void | updateVBO () |
create and update VBO More... | |
void | addSphereAt (ACG::Vec3d _pos, ACG::IRenderer *_renderer, ACG::GLState &_state, ACG::RenderObject *_ro) |
Private Attributes | |
Plane & | plane_ |
unsigned int | vbo_ |
VBO used to render the plane. More... | |
bool | vboNeedsUpdate_ |
ACG::VertexDeclaration | vertexDecl_ |
ACG::GLSphere * | sphere_ |
Definition at line 74 of file PlaneNode.hh.
using PlaneNode::Plane = ACG::Geometry::Plane |
Definition at line 77 of file PlaneNode.hh.
Construct a plane rendering node.
_parent | The parent node in the scenegraph |
_name | The name of the new node (visible in the scenegraph dialogs) |
_plane | A pointer to an existing plane |
Definition at line 60 of file PlaneNode.cc.
PlaneNode::~PlaneNode | ( | ) |
destructor
Definition at line 76 of file PlaneNode.cc.
|
private |
Definition at line 443 of file PlaneNode.cc.
|
overridevirtual |
return available draw modes
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 112 of file PlaneNode.cc.
|
overridevirtual |
update bounding box
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 80 of file PlaneNode.cc.
|
overridevirtual |
draw Plane
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 194 of file PlaneNode.cc.
|
private |
Definition at line 122 of file PlaneNode.cc.
PlaneNode::Plane & PlaneNode::getPlane | ( | ) |
Get the currently rendered plane.
Definition at line 432 of file PlaneNode.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 |
quads are not accepted here in opengl core. this has to be updated
quads are not accepted here in opengl core. this has to be updated
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 537 of file PlaneNode.cc.
ACG::Vec3d PlaneNode::normal | ( | ) |
get current normal
Definition at line 420 of file PlaneNode.cc.
|
overridevirtual |
draw Plane for object picking
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 222 of file PlaneNode.cc.
ACG::Vec3d PlaneNode::position | ( | ) |
get center position of the plane
Definition at line 416 of file PlaneNode.cc.
void PlaneNode::setPlane | ( | Plane | plane | ) |
Set a new plane for rendering.
Definition at line 436 of file PlaneNode.cc.
void PlaneNode::update | ( | ) |
updates the plane before the next render call
Definition at line 465 of file PlaneNode.cc.
|
private |
create and update VBO
Definition at line 478 of file PlaneNode.cc.
ACG::Vec3d PlaneNode::xDirection | ( | ) |
local x direction (multiplied with width)
Definition at line 424 of file PlaneNode.cc.
ACG::Vec3d PlaneNode::yDirection | ( | ) |
local y direction (multiplied with height)
Definition at line 428 of file PlaneNode.cc.
|
private |
Definition at line 146 of file PlaneNode.hh.
|
private |
Definition at line 155 of file PlaneNode.hh.
|
private |
VBO used to render the plane.
Definition at line 149 of file PlaneNode.hh.
|
private |
Definition at line 151 of file PlaneNode.hh.
|
private |
Definition at line 153 of file PlaneNode.hh.