44#include "MovePlugin.hh"
45#include <ACG/QtScenegraph/QtManipulatorNode.hh>
52 int nodeId = contextObject.toInt();
84 emit nodeVisibilityChanged(obj->
id());
91 int nodeId = contextObject.toInt();
122 pW->setWindowTitle(QString((mNode->
name()).c_str()));
124 connect(pW->posButton, SIGNAL(clicked() ),
this, SLOT(
slotSetPosition()));
125 connect(pW->axisAButton, SIGNAL(clicked() ),
this, SLOT(
slotToggleAxisA()));
126 connect(pW->axisBButton, SIGNAL(clicked() ),
this, SLOT(
slotToggleAxisB()));
129 connect(pW->transButton, SIGNAL(clicked() ),
this, SLOT(
slotTranslation()));
130 connect(pW->rotButton, SIGNAL(clicked() ),
this, SLOT(
slotRotate()));
131 connect(pW->scaleButton, SIGNAL(clicked() ),
this, SLOT(
slotScale()));
147 num = QString::number(pos[0]);
148 pW->posx->setText(num);
149 num = QString::number(pos[1]);
150 pW->posy->setText(num);
151 num = QString::number(pos[2]);
152 pW->posz->setText(num);
155 num = QString::number(direction[0]);
156 pW->dirxx->setText(num);
157 num = QString::number(direction[1]);
158 pW->dirxy->setText(num);
159 num = QString::number(direction[2]);
160 pW->dirxz->setText(num);
162 direction =
object->manipulatorNode()->directionY();
163 num = QString::number(direction[0]);
164 pW->diryx->setText(num);
165 num = QString::number(direction[1]);
166 pW->diryy->setText(num);
167 num = QString::number(direction[2]);
168 pW->diryz->setText(num);
170 direction =
object->manipulatorNode()->directionZ();
171 num = QString::number(direction[0]);
172 pW->dirzx->setText(num);
173 num = QString::number(direction[1]);
174 pW->dirzy->setText(num);
175 num = QString::number(direction[2]);
176 pW->dirzz->setText(num);
std::string name() const
Returns: name of node (needs not be unique)
bool visible()
Is node visible (status == Active)?
int getIdentifier()
Get an identifier for that manipulator.
QtTranslationManipulatorNode * manipulatorNode()
bool manipPlaced()
Check if the manipulator has been placed.
void slotTranslation()
perform a translation for Manipulator in tab
void slotSetDirection()
Set Direction of manipulator in tab changed.
void slotScale()
Scale (with values from Tab)
void slotSetPosition()
Position of manipulator in tab changed.
void slotEnableSelectionMode()
stores the current axes in the tool
void slotEnableObjectMode()
stores the current axes in the tool
QAction * contextActionHide_
Context menu entry to hide a manipulator.
void slotToggleAxisB()
Toggle the second axis for changing direction in tab.
movePropsWidget * getDialogWidget(BaseObjectData *_obj)
Get properties dialog widget that is attached to BaseDataObject obj.
void showProps()
Show properties of move manipulator in a dialog ( Called via context for picking. Get the picked id f...
void hideManipulator()
Hide the manipulator( Called via context for picking. Get the picked id from the Qvariant attached to...
QList< movePropsWidget * > propsWindows_
List of properties dialogs (each corresponding to one manipulator)
void slotToggleAxisA()
Toggle the first axis for changing direction in tab.
QAction * contextAction_
Context menu entry for showing per manipulator settings.
void ManipulatorPositionChanged(QtTranslationManipulatorNode *_node)
update object when its manipulator changes position
void slotRotate()
Rotate Manipulator (with values from Tab)
void setPickModeProps(movePropsWidget *_pW, const std::string &_pickmode)
List of properties dialogs (each corresponding to one manipulator)
void slotProjectToTangentPlane()
Project the current manipulator onto the tangent plane of the object.
int lastActiveManipulator_
Stores the last manipulator which has been clicked ( used for the toolbox dialog)
void manipulatorMoved(QtTranslationManipulatorNode *_node, QMouseEvent *_event)
move the object when its manipulator moves
void slotMoveManipToCOG()
Move the current manipulator to the cog of the object.
BaseNode * find_node(BaseNode *_root, unsigned int _node_idx)
Find a node in the scene graph.
bool getObject(const int _identifier, BaseObject *&_object)
Get the object which has the given identifier.
const std::string pickMode()
Get the current Picking mode.
ACG::SceneGraph::BaseNode * getSceneGraphRootNode()
get scenegraph root node