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

Detailed Description

Additional overlay class for emitting signals if manipulator is moved

Definition at line 81 of file QtTranslationManipulatorNode.hh.

Constructor & Destructor Documentation

◆ QtTranslationManipulatorNode()

ACG::SceneGraph::QtTranslationManipulatorNode::QtTranslationManipulatorNode ( BaseNode _parent = 0,
const std::string &  _name = "<QtTranslationManipulatorNode>" 
)

Default constructor.

Definition at line 68 of file QtTranslationManipulatorNode.cc.

◆ ~QtTranslationManipulatorNode()

ACG::SceneGraph::QtTranslationManipulatorNode::~QtTranslationManipulatorNode ( )

Destructor.

Definition at line 83 of file QtTranslationManipulatorNode.cc.

Member Function Documentation

◆ getData()

QVariant ACG::SceneGraph::QtTranslationManipulatorNode::getData ( )
inline

Get additional data for the node.

Definition at line 136 of file QtTranslationManipulatorNode.hh.

◆ getIdentifier()

int ACG::SceneGraph::QtTranslationManipulatorNode::getIdentifier ( )
inline

Get an identifier for that manipulator.

Definition at line 130 of file QtTranslationManipulatorNode.hh.

◆ hide()

void ACG::SceneGraph::QtTranslationManipulatorNode::hide ( )
inline

Definition at line 139 of file QtTranslationManipulatorNode.hh.

◆ 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!!

◆ mouseEvent()

void ACG::SceneGraph::QtTranslationManipulatorNode::mouseEvent ( GLState _state,
QMouseEvent *  _event 
)
overridevirtual

get mouse events

Reimplemented from ACG::SceneGraph::TranslationManipulatorNode.

Definition at line 76 of file QtTranslationManipulatorNode.cc.

◆ 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

◆ set_center()

void ACG::SceneGraph::QtTranslationManipulatorNode::set_center ( const Vec3d _c)
inline

Definition at line 141 of file QtTranslationManipulatorNode.hh.

◆ setData()

void ACG::SceneGraph::QtTranslationManipulatorNode::setData ( QVariant  _data)
inline

Set additional data for the node.

Definition at line 133 of file QtTranslationManipulatorNode.hh.

◆ setIdentifier()

void ACG::SceneGraph::QtTranslationManipulatorNode::setIdentifier ( int  _id)
inline

Set an identifier for that manipulator.

Definition at line 127 of file QtTranslationManipulatorNode.hh.

◆ show()

void ACG::SceneGraph::QtTranslationManipulatorNode::show ( )
inline

Definition at line 138 of file QtTranslationManipulatorNode.hh.

◆ 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?

Member Data Documentation

◆ data_

QVariant ACG::SceneGraph::QtTranslationManipulatorNode::data_
private

Definition at line 145 of file QtTranslationManipulatorNode.hh.

◆ identifier_

int ACG::SceneGraph::QtTranslationManipulatorNode::identifier_
private

Definition at line 144 of file QtTranslationManipulatorNode.hh.


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