![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <ecvGraphicalTransformationTool.h>


Public Member Functions | |
| ccGraphicalTransformationTool (QWidget *parent) | |
| Default constructor. More... | |
| virtual | ~ccGraphicalTransformationTool () |
| Default destructor. More... | |
| virtual bool | linkWith (QWidget *win) override |
| Links the overlay dialog with a MDI window. More... | |
| virtual bool | start () override |
| Starts process. More... | |
| virtual void | stop (bool state) override |
| Stops process/dialog. More... | |
| bool | setTansformTool (ecvGenericTransformTool *tool) |
| bool | addEntity (ccHObject *anObject) |
| Adds an entity to the 'selected' entities set. More... | |
| unsigned | getNumberOfValidEntities () const |
| Returns the number of valid entities (see addEntity) More... | |
| const ccHObject & | getValidEntities () const |
| Returns the 'to be transformed' entities set (see addEntity) More... | |
| void | setRotationCenter (CCVector3d ¢er) |
| Sets the rotation center. More... | |
| void | exportNewEntities () |
| void | clear () |
| Clear all variables and 'unlink' dialog. More... | |
Public Member Functions inherited from ccOverlayDialog | |
| ccOverlayDialog (QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::FramelessWindowHint|Qt::Tool) | |
| Default constructor. More... | |
| ~ccOverlayDialog () override | |
| Destructor. More... | |
| void | reject () override |
| void | addOverridenShortcut (Qt::Key key) |
| bool | started () const |
| Returns whether the tool is currently started or not. More... | |
Protected Slots | |
| void | apply () |
| Applies transformation to selected entities. More... | |
| void | reset () |
| Resets transformation. More... | |
| void | cancel () |
| Cancels (no transformation is applied) More... | |
| void | pause (bool) |
| Pauses the transformation mode. More... | |
| void | onShortcutTriggered (int) |
| To capture overridden shortcuts (pause button, etc.) More... | |
| void | onScaleEnabled (bool dummy) |
| void | onShearEnabled (bool dummy) |
| void | onRotationModeChanged (int dummy) |
| void | onTranlationModeChanged (bool dummy) |
Protected Slots inherited from ccOverlayDialog | |
| virtual void | onLinkedWindowDeletion (QObject *object=nullptr) |
| Slot called when the linked window is deleted (calls 'onClose') More... | |
Protected Attributes | |
| ccHObject | m_toTransform |
| List of entities to be transformed. More... | |
| CCVector3d | m_rotationCenter |
| Rotation center. More... | |
| ecvGenericTransformTool * | m_tool |
Protected Attributes inherited from ccOverlayDialog | |
| QWidget * | m_associatedWin |
| Associated (MDI) window. More... | |
| bool | m_processing |
| Running/processing state. More... | |
| QList< int > | m_overriddenKeys |
| Overridden keys. More... | |
Additional Inherited Members | |
Signals inherited from ccOverlayDialog | |
| void | processFinished (bool accepted) |
| Signal emitted when process is finished. More... | |
| void | shortcutTriggered (int key) |
| Signal emitted when an overridden key shortcut is pressed. More... | |
| void | shown () |
| Signal emitted when a 'show' event is detected. More... | |
Protected Member Functions inherited from ccOverlayDialog | |
| bool | eventFilter (QObject *obj, QEvent *e) override |
Definition at line 21 of file ecvGraphicalTransformationTool.h.
|
explicit |
Default constructor.
Definition at line 20 of file ecvGraphicalTransformationTool.cpp.
References ccOverlayDialog::addOverridenShortcut(), apply(), cancel(), onRotationModeChanged(), onScaleEnabled(), onShearEnabled(), onShortcutTriggered(), onTranlationModeChanged(), pause(), reset(), and ccOverlayDialog::shortcutTriggered().
|
virtual |
Default destructor.
Definition at line 57 of file ecvGraphicalTransformationTool.cpp.
References clear().
| bool ccGraphicalTransformationTool::addEntity | ( | ccHObject * | anObject | ) |
Adds an entity to the 'selected' entities set.
Only the 'selected' entities are moved.
Definition at line 212 of file ecvGraphicalTransformationTool.cpp.
References ccHObject::addChild(), CV_TYPES::COORDINATESYSTEM, ccHObject::detachChild(), ccHObject::DP_NONE, CV_TYPES::FACET, ccHObject::getChild(), ccHObject::getChildrenNumber(), ccObject::getName(), ccHObject::getParent(), ccObject::isA(), ccHObject::isAncestorOf(), ccObject::isKindOf(), ccObject::isLocked(), m_toTransform, CV_TYPES::MESH, CV_TYPES::SENSOR, and CVLog::Warning().
|
protectedslot |
Applies transformation to selected entities.
Definition at line 377 of file ecvGraphicalTransformationTool.cpp.
References ccHObject::applyGLTransformation_recursive(), clear(), ccGLMatrixTpl< T >::data(), exportNewEntities(), ccHObject::getChild(), ccHObject::getChildrenNumber(), ecvGenericTransformTool::getFinalTransformation(), ccGLMatrixTpl< T >::getParameters(), ccHObject::getParent(), ccMesh::hasTriNormals(), ccGLMatrixTpl< T >::initFromParameters(), ccObject::isA(), ccHObject::isAncestorOf(), ccObject::isKindOf(), m_tool, m_toTransform, CV_TYPES::MESH, CV_TYPES::POINT_CLOUD, CVLog::Print(), CVLog::PrintDebug(), MainWindow::putObjectBackIntoDBTree(), ecvDisplayTools::RedrawDisplay(), MainWindow::removeObjectTemporarilyFromDBTree(), ccDrawableObject::setGLTransformation(), ccHObject::setRedrawFlagRecursive(), ecvDisplayTools::SetRedrawRecursive(), ccGLMatrixTpl< T >::setTranslation(), stop(), MainWindow::TheInstance(), ccGLMatrixTpl< T >::toString(), ccMesh::transformTriNormals(), ccGLMatrixTpl< T >::transposed(), CVLog::Warning(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ccGraphicalTransformationTool().
|
protectedslot |
Cancels (no transformation is applied)
Definition at line 504 of file ecvGraphicalTransformationTool.cpp.
References clear(), ccHObject::getChild(), ccHObject::getChildrenNumber(), m_toTransform, reset(), ccDrawableObject::resetGLTransformation(), ccDrawableObject::setRedraw(), and stop().
Referenced by ccGraphicalTransformationTool().
| void ccGraphicalTransformationTool::clear | ( | void | ) |
Clear all variables and 'unlink' dialog.
Definition at line 200 of file ecvGraphicalTransformationTool.cpp.
References ecvGenericTransformTool::clear(), ccHObject::detachAllChildren(), ecvDisplayTools::DisplayNewMessage(), m_tool, m_toTransform, and ecvDisplayTools::UPPER_CENTER_MESSAGE.
Referenced by apply(), cancel(), and ~ccGraphicalTransformationTool().
| void ccGraphicalTransformationTool::exportNewEntities | ( | ) |
Definition at line 343 of file ecvGraphicalTransformationTool.cpp.
References ccHObject::addChild(), MainWindow::addToDB(), ccHObject::getChild(), ccObject::getName(), getNumberOfValidEntities(), ecvGenericTransformTool::getOutput(), ccHObject::getParent(), ccObject::getUniqueID(), m_tool, m_toTransform, reset(), result, ccObject::setEnabled(), MainWindow::TheInstance(), and CVLog::Warning().
Referenced by apply().
| unsigned ccGraphicalTransformationTool::getNumberOfValidEntities | ( | ) | const |
Returns the number of valid entities (see addEntity)
Definition at line 268 of file ecvGraphicalTransformationTool.cpp.
References ccHObject::getChildrenNumber(), and m_toTransform.
Referenced by exportNewEntities().
|
inline |
Returns the 'to be transformed' entities set (see addEntity)
Definition at line 49 of file ecvGraphicalTransformationTool.h.
References m_toTransform.
|
overridevirtual |
Links the overlay dialog with a MDI window.
Warning: link can't be modified while dialog is displayed/process is running!
Reimplemented from ccOverlayDialog.
Definition at line 276 of file ecvGraphicalTransformationTool.cpp.
References ccOverlayDialog::linkWith().
|
protectedslot |
Definition at line 95 of file ecvGraphicalTransformationTool.cpp.
References m_tool, and ecvGenericTransformTool::setRotationMode().
Referenced by ccGraphicalTransformationTool(), and start().
|
protectedslot |
Definition at line 79 of file ecvGraphicalTransformationTool.cpp.
References m_tool, and ecvGenericTransformTool::setScaleEnabled().
Referenced by ccGraphicalTransformationTool(), and start().
|
protectedslot |
Definition at line 87 of file ecvGraphicalTransformationTool.cpp.
References m_tool, and ecvGenericTransformTool::setShearEnabled().
Referenced by ccGraphicalTransformationTool(), and start().
|
protectedslot |
To capture overridden shortcuts (pause button, etc.)
Definition at line 59 of file ecvGraphicalTransformationTool.cpp.
Referenced by ccGraphicalTransformationTool().
|
protectedslot |
Definition at line 117 of file ecvGraphicalTransformationTool.cpp.
References m_tool, and ecvGenericTransformTool::setTranlationMode().
Referenced by ccGraphicalTransformationTool(), and start().
|
protectedslot |
Pauses the transformation mode.
Definition at line 166 of file ecvGraphicalTransformationTool.cpp.
References ecvDisplayTools::DisplayNewMessage(), ecvDisplayTools::GetCurrentScreen(), m_tool, ecvDisplayTools::MANUAL_TRANSFORMATION_MESSAGE, ecvDisplayTools::RedrawDisplay(), ecvDisplayTools::SetRedrawRecursive(), ecvGenericTransformTool::showInteractor(), and ecvDisplayTools::UPPER_CENTER_MESSAGE.
Referenced by ccGraphicalTransformationTool(), and start().
|
protectedslot |
Resets transformation.
Definition at line 332 of file ecvGraphicalTransformationTool.cpp.
References m_tool, ecvGenericTransformTool::reset(), and CVLog::Warning().
Referenced by cancel(), ccGraphicalTransformationTool(), and exportNewEntities().
| void ccGraphicalTransformationTool::setRotationCenter | ( | CCVector3d & | center | ) |
Sets the rotation center.
Definition at line 272 of file ecvGraphicalTransformationTool.cpp.
References m_rotationCenter.
Referenced by MainWindow::onItemPicked().
| bool ccGraphicalTransformationTool::setTansformTool | ( | ecvGenericTransformTool * | tool | ) |
Definition at line 322 of file ecvGraphicalTransformationTool.cpp.
References m_tool.
|
overridevirtual |
Starts process.
Reimplemented from ccOverlayDialog.
Definition at line 285 of file ecvGraphicalTransformationTool.cpp.
References ccHObject::getChildrenNumber(), ecvDisplayTools::GetCurrentScreen(), ccOverlayDialog::m_processing, m_tool, m_toTransform, onRotationModeChanged(), onScaleEnabled(), onShearEnabled(), onTranlationModeChanged(), pause(), ecvGenericTransformTool::setInputData(), ccOverlayDialog::start(), and ecvGenericTransformTool::start().
|
overridevirtual |
Stops process/dialog.
Automatically emits the 'processFinished' signal (with input state as argument).
| accepted | process/dialog result |
Reimplemented from ccOverlayDialog.
Definition at line 311 of file ecvGraphicalTransformationTool.cpp.
References ecvGenericTransformTool::clear(), m_tool, ecvGenericTransformTool::stop(), and ccOverlayDialog::stop().
|
protected |
Rotation center.
The rotation center is actually the center of gravity of the selected 'entities'
Definition at line 89 of file ecvGraphicalTransformationTool.h.
Referenced by setRotationCenter().
|
protected |
Definition at line 91 of file ecvGraphicalTransformationTool.h.
Referenced by apply(), clear(), exportNewEntities(), onRotationModeChanged(), onScaleEnabled(), onShearEnabled(), onTranlationModeChanged(), pause(), reset(), setTansformTool(), start(), and stop().
|
protected |
List of entities to be transformed.
Definition at line 83 of file ecvGraphicalTransformationTool.h.
Referenced by addEntity(), apply(), cancel(), clear(), exportNewEntities(), getNumberOfValidEntities(), getValidEntities(), and start().