Developer Documentation

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ACG::SceneGraph::TrackballNode Class Reference

`#include <ACG/Scenegraph/TrackballNode.hh>`

Inheritance diagram for ACG::SceneGraph::TrackballNode:

## Public Member Functions
| TrackballNode (BaseNode *_parent=0, const std::string &_name="<TrackballNode>")
| Default constructor.
| ~TrackballNode ()
| Destructor.
| ACG_CLASSNAME (TrackballNode)
| Class name macro.
void | set_radius (double _r)
| Set trackball radius.
double | radius () const
| Get trackball radius.
virtual void | setIdentity ()
| override TransformNode::setIdentity() (update radius_)
void | set_draw_trackball (bool _b)
| Turn on/off drawing of the trackball.
bool | draw_trackball () const
| Is trackball-drawing on?
void | set_draw_axes (bool _b)
| Turn drawing the axes on/off.
bool | draw_axes () const
| Is axes-drawing on?
void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode)
| Draw the trackball + axes (if enabled)
virtual void | mouseEvent (GLState &_state, QMouseEvent *_event)
| get mouse events
Public Member Functions inherited from ACG::SceneGraph::TransformNode
| TransformNode (BaseNode *_parent=0, const std::string &_name="<TransformNode>")
| Constructor.
virtual | ~TransformNode ()
| Destructor.
| ACG_CLASSNAME (TransformNode)
| set name
void | enter (GLState &_state, const DrawModes::DrawMode &_drawmode)
| set current GL-color and GL-material
void | leave (GLState &_state, const DrawModes::DrawMode &_drawmode)
| restores original GL-color and GL-material
void | set_center (const Vec3d &_c)
| set center
const Vec3d & | center () const
| get center
void | loadIdentity ()
void | translate (const Vec3d &_v)
| Add a translation to the current Transformation.
void | rotate (double _angle, const Vec3d &_axis)
void | scale (double _s)
| Add scaling to the current Transformation.
void | scale (const Vec3d &_s)
| Add scaling to the current Transformation.
void | scale (const GLMatrixd &_m)
| Add scaling to the current Transformation.
const GLMatrixd & | matrix () const
| Returns a const reference to the current transformation matrix.
const GLMatrixd & | inverse_matrix () const
| return inverse matrix
void | rotation (Vec3d &_axis, double &_angle) const
| return rotation axis & angle
const GLMatrixd & | rotation () const
| return rotation matrix
const GLMatrixd & | inverse_rotation () const
| return inverse rotation matrix
const Vec3d & | translation () const
| returns ref. to translation vector
const GLMatrixd & | scale () const
| return scale matrix
const GLMatrixd & | inverse_scale () const
| return inverse scale matrix
bool | apply_transformation ()
void | apply_transformation (bool _applyTransformation)
bool | is2D ()
void | set2D (bool _2d)
bool | isPerSkeletonObject ()
void | setPerSkeletonObject (bool _is)
void | setPerSkeletonModelView (GLMatrixd _is)
void | ortho2DMode (GLState &_state)
void | perSkeletonMode (GLState &_state)
void | update2DOffset (ACG::Vec2d _offset)
void | scale2D (double _scale)
void | setImageDimensions (ACG::Vec2i _dim)
Public Member Functions inherited from ACG::SceneGraph::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. 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 | 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 | 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)
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. More...
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. 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
bool | mapToSphere (GLState &_state, const Vec2i &_v2, Vec3d &_v3)
| Map 2D-screen-coords to trackball.

## Private Attributes
bool | drawTrackball_
bool | drawAxes_
double | radius_
Vec3d | xAxis_
Vec3d | yAxis_
Vec3d | zAxis_
Vec2i | oldPoint2D_

## Additional Inherited Members
Public Types inherited from ACG::SceneGraph::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::list< BaseNode * > ::const_iterator | ConstChildIter
| allows to iterate over children
typedef std::list< BaseNode * > ::iterator | ChildIter
| allows to iterate over children
typedef std::list< BaseNode * > ::const_reverse_iterator | ConstChildRIter
| allows to reverse iterate over children
typedef std::list< 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.
typedef unsigned int | MultipassBitMask
| Multipass pass bit mask type.
Public Attributes inherited from ACG::SceneGraph::TransformNode
bool | is2DObject_
bool | isPerSkeletonObject_
GLMatrixd | perSkeletonModelView_
double | scaleFactor2D_
ACG::Vec2i | imageDimensions_
ACG::Vec2d | offset_

## Detailed Description

Use a virtual trackball to rotate, translate and scale the children of this node. If you want to do translations use the ManipulatorNode.

See also
  ACG::SceneGraph::ManipulatorNode

Definition at line 104 of file TrackballNode.hh.

The documentation for this class was generated from the following files:

- ACG/Scenegraph/TrackballNode.hh
- ACG/Scenegraph/TrackballNode.cc