Developer Documentation
ACG::SceneGraph::QtTranslationManipulatorNode Class Reference

#include <ACG/QtScenegraph/QtTranslationManipulatorNode.hh>

Inheritance diagram for ACG::SceneGraph::QtTranslationManipulatorNode:
ACG::SceneGraph::TranslationManipulatorNode ACG::SceneGraph::TransformNode ACG::SceneGraph::ACG::SceneGraph::BaseNode

Signals

void manipulatorMoved (QtTranslationManipulatorNode *_node, QMouseEvent *_event)
 This signal is emitted every time the manipulator is moved by the user via mouse. More...
 
void visibilityChanged (QtTranslationManipulatorNode *_node, bool _visible)
 
void positionChanged (QtTranslationManipulatorNode *_node)
 This signal is emitted every time the position of the manipulator is changed. More...
 

Public Member Functions

 QtTranslationManipulatorNode (BaseNode *_parent=0, const std::string &_name="<QtTranslationManipulatorNode>")
 Default constructor.
 
 ~QtTranslationManipulatorNode ()
 Destructor.
 
 ACG_CLASSNAME (QtTranslationManipulatorNode)
 class name
 
void mouseEvent (GLState &_state, QMouseEvent *_event)
 get mouse events
 
void setIdentifier (int _id)
 Set an identifier for that manipulator.
 
int getIdentifier ()
 Get an identifier for that manipulator.
 
void setData (QVariant _data)
 Set additional data for the node.
 
QVariant getData ()
 Get additional data for the node.
 
void show ()
 
void hide ()
 
void set_center (const Vec3d &_c)
 
- Public Member Functions inherited from ACG::SceneGraph::TranslationManipulatorNode
 TranslationManipulatorNode (BaseNode *_parent=0, const std::string &_name="<TranslationTranslationManipulatorNode>")
 Default constructor.
 
 ~TranslationManipulatorNode ()
 Destructor.
 
 ACG_CLASSNAME (TranslationManipulatorNode)
 class name
 
virtual void setIdentity ()
 
void set_draw_cylinder (bool _b)
 set draw_cylinder_
 
bool draw_manipulator () const
 get drawCylinder
 
void set_direction (const Vec3d &_directionX, const Vec3d &_directionY)
 Set direction in world coordinates.
 
Vec3d directionX () const
 Get current direction of x-Axis in world coordinates.
 
Vec3d directionY () const
 Get current direction of y-Axis in world coordinates.
 
Vec3d directionZ () const
 Get current direction of z-Axis in world coordinates.
 
void set_size (double _size)
 set cylindersize (height + radius). _size parameter has to be greater than zero
 
double size () const
 get cylindersize
 
void set_autosize (AutoSizeMode _mode)
 set auto size mode
 
AutoSizeMode autosize () const
 get autosize mode
 
void enable_rotations (ActiveRotations _active)
 Enable or disable manipulator handles for specific orientations. More...
 
ActiveRotations enabled_rotations () const
 Get the current setting, which rotation handles are active. More...
 
void rotate (double _angle, Vec3d _axis)
 
void draw (GLState &_state, const DrawModes::DrawMode &_drawMode)
 draw the cylinder (if enabled)
 
void getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 create renderobjects for shaderpipeline renderer
 
GLMatrixd computeWorldMatrix ()
 computes world matrix, transforms from model to world space
 
void pick (GLState &_state, PickTarget _target)
 leave node More...
 
void boundingBox (Vec3d &_bbMin, Vec3d &_bbMax)
 bounding box of node
 
void setMode (ManipulatorMode _mode)
 set current operation mode
 
ManipulatorMode getMode () const
 get current mode
 
- 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 Vec3dcenter () const
 get center
 
void loadIdentity ()
 
void translate (const Vec3d &_v)
 Add a translation to the current Transformation.
 
void setTranslation (const Vec3d &_v)
 translation setter
 
void rotate (double _angle, const Vec3d &_axis)
 
void setRotation (const Quaterniond &rotation)
 rotation setter
 
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 GLMatrixdmatrix () const
 Returns a const reference to the current transformation matrix.
 
const GLMatrixdinverse_matrix () const
 return inverse matrix
 
void rotation (Vec3d &_axis, double &_angle) const
 return rotation axis & angle
 
const GLMatrixdrotation () const
 return rotation matrix
 
const GLMatrixdinverse_rotation () const
 return inverse rotation matrix
 
const Vec3dtranslation () const
 returns ref. to translation vector
 
const GLMatrixdscale () const
 return scale matrix
 
const GLMatrixdinverse_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 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)
 
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)
 
BaseNodefind (const std::string &_name)
 
BaseNodeparent ()
 Get the nodes parent node.
 
const BaseNodeparent () 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::UniformPoolgetRenderObjectUniformPool ()
 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...
 
RenderObjectModifiergetRenderObjectModifier ()
 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 Attributes

int identifier_
 
QVariant data_
 

Additional Inherited Members

- Public Types inherited from ACG::SceneGraph::TranslationManipulatorNode
enum  AutoSizeMode { Never, Once, Always }
 
enum  ManipulatorMode {
  Rotation, TranslationRotation, LocalRotation, Resize,
  Place
}
 enum to define the manipulator mode More...
 
enum  ActiveRotations { X_AXIS = 1, Y_AXIS = 1 << 1, Z_AXIS = 1 << 2, ALL_AXIS = X_AXIS | Y_AXIS | Z_AXIS }
 enum to define which rotation axis should be enabled More...
 
- 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::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.
 
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_
 
- Protected Attributes inherited from ACG::SceneGraph::TranslationManipulatorNode
bool touched_
 stores if this manipulator was used in order to avoid emitting manipulatorMoved unnecessarily
 

Detailed Description

Additional overlay class for emitting signals if manipulator is moved

Definition at line 81 of file QtTranslationManipulatorNode.hh.

Member Function Documentation

◆ manipulatorMoved

void ACG::SceneGraph::QtTranslationManipulatorNode::manipulatorMoved ( QtTranslationManipulatorNode _node,
QMouseEvent *  _event 
)
signal

This signal is emitted every time the manipulator is moved by the user via mouse.

Note
Do not traverse Scenegraph when called by this function or you end up in an endless loop!!

◆ positionChanged

void ACG::SceneGraph::QtTranslationManipulatorNode::positionChanged ( QtTranslationManipulatorNode _node)
signal

This signal is emitted every time the position of the manipulator is changed.

This slot is only triggered, when the center of the manipulator has been changed. Changes in orientation are not triggering this signal

◆ visibilityChanged

void ACG::SceneGraph::QtTranslationManipulatorNode::visibilityChanged ( QtTranslationManipulatorNode _node,
bool  _visible 
)
signal

The visibility of this node has changed

Parameters
_nodeThe node whose visibility has been changed
_visibleIs it now visible?

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