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


Classes | |
| struct | EntityContext |
| Original cloud context. More... | |
| struct | EntityContexts |
| Set of contexts. More... | |
Public Member Functions | |
| ccPointPairRegistrationDlg (ccPickingHub *pickingHub, ecvMainAppInterface *app, QWidget *parent=nullptr) | |
| Default constructor. More... | |
| bool | linkWith (QWidget *win) override |
| Links the overlay dialog with a MDI window. More... | |
| bool | start () override |
| Starts process. More... | |
| void | stop (bool state) override |
| Stops process/dialog. More... | |
| bool | init (QWidget *win, const ccHObject::Container &alignedEntities, const ccHObject::Container *referenceEntities=nullptr) |
| Inits dialog. More... | |
| void | clear () |
| Clears dialog. More... | |
| void | pause (bool state) |
| Pauses the dialog. More... | |
| bool | addAlignedPoint (CCVector3d &P, ccHObject *entity=nullptr, bool shifted=true) |
| Adds a point to the 'align' set. More... | |
| bool | addReferencePoint (CCVector3d &P, ccHObject *entity=nullptr, bool shifted=true) |
| Adds a point to the 'reference' set. More... | |
| void | removeAlignedPoint (int index, bool autoRemoveDualPoint=true) |
| Removes a point from the 'align' set. More... | |
| void | removeRefPoint (int index, bool autoRemoveDualPoint=true) |
| Removes a point from the 'reference' set. More... | |
| void | updateRefMarkers (int index) |
| void | onItemPicked (const PickedItem &pi) override |
| Inherited from ccPickingListener. 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... | |
Public Member Functions inherited from ccPickingListener | |
| virtual | ~ccPickingListener ()=default |
Protected Slots | |
| void | showAlignedEntities (bool) |
| Slot called to change aligned cloud visibility. More... | |
| void | showReferenceEntities (bool) |
| Slot called to change reference cloud visibility. More... | |
| void | addManualAlignedPoint () |
| Slot called to add a manual point to the 'align' set. More... | |
| void | addManualRefPoint () |
| Slot called to add a manual point to the 'reference' set. More... | |
| void | unstackAligned () |
| Slot called to remove the last point on the 'align' stack. More... | |
| void | updateSphereMarks (ccHObject *obj, bool remove) |
| void | updateAlignedMarkers (int index) |
| void | unstackRef () |
| Slot called to remove the last point on the 'reference' stack. More... | |
| void | onDelButtonPushed () |
| Slot called when a "delete" button is pushed. More... | |
| void | updateAlignInfo () |
| Updates the registration info and buttons states. More... | |
| void | apply () |
| void | align () |
| void | reset () |
| void | cancel () |
| void | updateAllMarkers (float markerSize) |
| void | label2DMove (int x, int y, int dx, int dy) |
Protected Slots inherited from ccOverlayDialog | |
| virtual void | onLinkedWindowDeletion (QObject *object=nullptr) |
| Slot called when the linked window is deleted (calls 'onClose') More... | |
Protected Member Functions | |
| void | zoomGlobalOnRegistrationEntities () |
| void | transformAlignedEntity (const ccGLMatrix &transMat, bool apply=true) |
| void | onPointCountChanged () |
| Enables (or not) buttons depending on the number of points in both lists. More... | |
| bool | callHornRegistration (cloudViewer::PointProjectionTools::Transformation &trans, double &rms, bool autoUpdateTab) |
| Calls Horn registration (cloudViewer::HornRegistrationTools) More... | |
| void | clearRMSColumns () |
| Clears the RMS rows. More... | |
| void | addPointToTable (QTableWidget *tableWidget, int rowIndex, const CCVector3d &P, QString pointLabel) |
| Adds a point to one of the table (ref./aligned) More... | |
| bool | convertToSphereCenter (CCVector3d &P, ccHObject *entity, PointCoordinateType &sphereRadius) |
| Converts a picked point to a sphere center (if necessary) More... | |
| void | resetTitle () |
| Resets the displayed title (3D view) More... | |
Protected Member Functions inherited from ccOverlayDialog | |
| bool | eventFilter (QObject *obj, QEvent *e) override |
Protected Attributes | |
| EntityContexts | m_alignedEntities |
| Aligned entity. More... | |
| ccPointCloud | m_alignedPoints |
| Aligned points set. More... | |
| EntityContexts | m_referenceEntities |
| Reference entity (if any) More... | |
| ccPointCloud | m_refPoints |
| Reference points set. More... | |
| ccHObject | m_refLabels |
| ccHObject | m_alignedLabels |
| ccGLMatrix | m_transMatHistory |
| bool | m_paused |
| Whether the dialog is paused or not. More... | |
| ccPickingHub * | m_pickingHub |
| Picking hub. More... | |
| ecvMainAppInterface * | m_app |
| Main application interface. More... | |
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... | |
Definition at line 30 of file ecvPointPairRegistrationDlg.h.
|
explicit |
Default constructor.
Definition at line 46 of file ecvPointPairRegistrationDlg.cpp.
References addManualAlignedPoint(), addManualRefPoint(), align(), apply(), cancel(), m_alignedPoints, m_pickingHub, m_refPoints, reset(), ccObject::setEnabled(), ccDrawableObject::setVisible(), showAlignedEntities(), showReferenceEntities(), unstackAligned(), unstackRef(), and updateAlignInfo().
| bool ccPointPairRegistrationDlg::addAlignedPoint | ( | CCVector3d & | P, |
| ccHObject * | entity = nullptr, |
||
| bool | shifted = true |
||
| ) |
Adds a point to the 'align' set.
Definition at line 825 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::addChild(), cloudViewer::PointCloudTpl< T >::addPoint(), addPointToTable(), cloudViewer::PointCloudTpl< T >::capacity(), convertToSphereCenter(), CreateLabel(), CVLog::Error(), ccShiftedObject::getGlobalScale(), ccShiftedObject::getGlobalShift(), cloudViewer::PointCloudTpl< T >::getPoint(), cloudViewer::LessThanEpsilon(), m_alignedEntities, m_alignedLabels, m_alignedPoints, onPointCountChanged(), PC_ONE, ecvColor::red(), ccPointCloud::reserve(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccDrawableObject::setTempColor(), ccGLMatrixTpl< T >::setTranslation(), ccDrawableObject::showNameIn3D(), cloudViewer::PointCloudTpl< T >::size(), ccHObjectCaster::ToGenericPointCloud(), ccShiftedObject::toGlobal3d(), ccShiftedObject::toLocal3pc(), cc2DLabel::updateLabel(), and updateSphereMarks().
Referenced by addManualAlignedPoint(), and onItemPicked().
|
protectedslot |
Slot called to add a manual point to the 'align' set.
Definition at line 429 of file ecvPointPairRegistrationDlg.cpp.
References addAlignedPoint(), ccAskThreeDoubleValuesDlg::getCheckboxState(), ccPointPairRegistrationDlg::EntityContexts::isShifted, m_alignedEntities, s_aligned_tooltip, s_last_ax, s_last_ay, s_last_az, s_lastAlignePointIsGlobal, and ccAskThreeDoubleValuesDlg::showCheckbox().
Referenced by ccPointPairRegistrationDlg().
|
protectedslot |
Slot called to add a manual point to the 'reference' set.
Definition at line 461 of file ecvPointPairRegistrationDlg.cpp.
References addReferencePoint(), ccAskThreeDoubleValuesDlg::getCheckboxState(), ccPointPairRegistrationDlg::EntityContexts::isShifted, m_referenceEntities, s_aligned_tooltip, s_last_rx, s_last_ry, s_last_rz, s_lastRefPointisGlobal, and ccAskThreeDoubleValuesDlg::showCheckbox().
Referenced by ccPointPairRegistrationDlg().
|
protected |
Adds a point to one of the table (ref./aligned)
Definition at line 689 of file ecvPointPairRegistrationDlg.cpp.
References CreateDeleteButton(), DEL_BUTTON_COL_INDEX, onDelButtonPushed(), Tuple3Tpl< Type >::u, and XYZ_COL_INDEX.
Referenced by addAlignedPoint(), and addReferencePoint().
| bool ccPointPairRegistrationDlg::addReferencePoint | ( | CCVector3d & | P, |
| ccHObject * | entity = nullptr, |
||
| bool | shifted = true |
||
| ) |
Adds a point to the 'reference' set.
Definition at line 722 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::addChild(), cloudViewer::PointCloudTpl< T >::addPoint(), addPointToTable(), cloudViewer::PointCloudTpl< T >::capacity(), convertToSphereCenter(), CreateLabel(), ecvGlobalShiftManager::DIALOG_IF_NECESSARY, CVLog::Error(), ccShiftedObject::getGlobalScale(), ccShiftedObject::getGlobalShift(), cloudViewer::PointCloudTpl< T >::getPoint(), ecvGlobalShiftManager::Handle(), ccShiftedObject::isShifted(), cloudViewer::LessThanEpsilon(), m_referenceEntities, m_refLabels, m_refPoints, onPointCountChanged(), PC_ONE, ccPointCloud::reserve(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccDrawableObject::setTempColor(), ccGLMatrixTpl< T >::setTranslation(), ccDrawableObject::showNameIn3D(), cloudViewer::PointCloudTpl< T >::size(), ccHObjectCaster::ToGenericPointCloud(), ccShiftedObject::toGlobal3d(), ccShiftedObject::toLocal3pc(), cc2DLabel::updateLabel(), updateSphereMarks(), and ecvColor::yellow().
Referenced by addManualRefPoint(), and onItemPicked().
|
protectedslot |
Definition at line 1328 of file ecvPointPairRegistrationDlg.cpp.
References callHornRegistration(), ecvDisplayTools::DisplayNewMessage(), ccHObject::getChild(), ccHObject::getChildrenNumber(), ecvDisplayTools::GetCurrentScreen(), ccObject::isKindOf(), cloudViewer::SquareMatrixTpl< Scalar >::isValid(), CV_TYPES::LABEL_2D, m_alignedEntities, m_alignedLabels, m_transMatHistory, CVLog::Print(), cloudViewer::PointProjectionTools::Transformation::R, ecvDisplayTools::RedrawDisplay(), resetTitle(), cloudViewer::PointProjectionTools::Transformation::s, cloudViewer::SquareMatrixTpl< Scalar >::scale(), ccHObject::setRedrawFlagRecursive(), ecvDisplayTools::SetRedrawRecursive(), cloudViewer::PointProjectionTools::Transformation::T, transformAlignedEntity(), updateAllMarkers(), ecvDisplayTools::UPPER_CENTER_MESSAGE, CVLog::Warning(), and zoomGlobalOnRegistrationEntities().
Referenced by ccPointPairRegistrationDlg().
|
protectedslot |
Definition at line 1513 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::applyGLTransformation_recursive(), callHornRegistration(), ccShiftedObject::getGlobalScale(), ccShiftedObject::getGlobalShift(), ccObject::getName(), ccGLMatrixTpl< T >::inverse(), ccShiftedObject::isShifted(), cloudViewer::SquareMatrixTpl< Scalar >::isValid(), m_alignedEntities, m_alignedPoints, m_refPoints, m_transMatHistory, CVLog::Print(), cloudViewer::PointProjectionTools::Transformation::R, cloudViewer::PointProjectionTools::Transformation::s, cloudViewer::SquareMatrixTpl< Scalar >::scale(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), stop(), cloudViewer::PointProjectionTools::Transformation::T, ccHObjectCaster::ToGenericPointCloud(), ccGLMatrixTpl< T >::toString(), transformAlignedEntity(), CVLog::Warning(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ccPointPairRegistrationDlg(), and transformAlignedEntity().
|
protected |
Calls Horn registration (cloudViewer::HornRegistrationTools)
Definition at line 1193 of file ecvPointPairRegistrationDlg.cpp.
References cloudViewer::PointProjectionTools::Transformation::apply(), clearRMSColumns(), ccPointCloud::computeGravityCenter(), cloudViewer::HornRegistrationTools::ComputeRMS(), dist(), CVLog::Error(), cloudViewer::RegistrationTools::FilterTransformation(), cloudViewer::HornRegistrationTools::FindAbsoluteOrientation(), cloudViewer::PointCloudTpl< T >::getPoint(), m_alignedEntities, m_alignedPoints, m_refPoints, MIN_PAIRS_COUNT, RMS_COL_INDEX, cloudViewer::PointCloudTpl< T >::size(), cloudViewer::RegistrationTools::SKIP_RXY, cloudViewer::RegistrationTools::SKIP_RXZ, cloudViewer::RegistrationTools::SKIP_RYZ, cloudViewer::RegistrationTools::SKIP_TX, cloudViewer::RegistrationTools::SKIP_TY, cloudViewer::RegistrationTools::SKIP_TZ, and Vector3Tpl< Type >::toDouble().
Referenced by align(), apply(), and updateAlignInfo().
|
protectedslot |
Definition at line 1632 of file ecvPointPairRegistrationDlg.cpp.
References ccGLMatrixTpl< T >::inverse(), m_alignedEntities, m_transMatHistory, ecvDisplayTools::RedrawDisplay(), ecvDisplayTools::SetRedrawRecursive(), stop(), and transformAlignedEntity().
Referenced by ccPointPairRegistrationDlg().
| void ccPointPairRegistrationDlg::clear | ( | void | ) |
Clears dialog.
Definition at line 175 of file ecvPointPairRegistrationDlg.cpp.
References cc2DLabel::clearLabel(), ccHObject::getChild(), ccHObject::getChildrenNumber(), ecvDisplayTools::GetCurrentScreen(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedEntities, m_alignedLabels, m_alignedPoints, m_referenceEntities, m_refLabels, m_refPoints, ccHObject::removeAllChildren(), ccPointCloud::resize(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccHObjectCaster::To2DLabel(), and updateSphereMarks().
Referenced by ccPointPairRegistrationDlg::EntityContexts::fill(), and init().
|
protected |
Clears the RMS rows.
Definition at line 1283 of file ecvPointPairRegistrationDlg.cpp.
References RMS_COL_INDEX.
Referenced by callHornRegistration().
|
protected |
Converts a picked point to a sphere center (if necessary)
| P | input point (may be converted to a sphere center) |
| entity | associated entity |
| sphereRadius | the detected spherer radius (or -1 if no sphere) |
Definition at line 496 of file ecvPointPairRegistrationDlg.cpp.
References cloudViewer::BoundingBoxTpl< T >::add(), cloudViewer::BoundingBoxTpl< T >::clear(), ccGenericPointCloud::crop(), cloudViewer::GeometricalAnalysisTools::DetectSphereRobust(), Vector3Tpl< double >::fromArray(), Vector3Tpl< PointCoordinateType >::fromArray(), ccObject::isKindOf(), cloudViewer::GeometricalAnalysisTools::NoError, PC_ONE, CV_TYPES::POINT_CLOUD, CVLog::Print(), cloudViewer::ReferenceCloud::size(), Tuple3Tpl< Type >::u, and CVLog::Warning().
Referenced by addAlignedPoint(), and addReferencePoint().
| bool ccPointPairRegistrationDlg::init | ( | QWidget * | win, |
| const ccHObject::Container & | alignedEntities, | ||
| const ccHObject::Container * | referenceEntities = nullptr |
||
| ) |
Inits dialog.
Definition at line 333 of file ecvPointPairRegistrationDlg.cpp.
References clear(), ecvDisplayTools::DisplayNewMessage(), CVLog::Error(), ccPointPairRegistrationDlg::EntityContexts::fill(), ecvDisplayTools::GetCurrentScreen(), ecvDisplayTools::GetViewportParameters(), linkWith(), ecvDisplayTools::LOWER_LEFT_MESSAGE, m_alignedEntities, ccOverlayDialog::m_associatedWin, m_referenceEntities, MIN_PAIRS_COUNT, onPointCountChanged(), ecvDisplayTools::RedrawDisplay(), resetTitle(), SetEnabled_recursive(), ecvDisplayTools::SetRedrawRecursive(), ecvDisplayTools::SetViewportParameters(), ccDrawableObject::setVisible(), and ecvDisplayTools::ZoomGlobal().
|
protectedslot |
Definition at line 281 of file ecvPointPairRegistrationDlg.cpp.
References abs(), context, ccHObject::getChild(), ccHObject::getChildrenNumber(), ecvDisplayTools::GetContext(), ecvDisplayTools::GetCurrentScreen(), ecvDisplayTools::GetDevicePixelRatio(), ecvDisplayTools::GlHeight(), ecvDisplayTools::GlWidth(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedLabels, m_refLabels, cc2DLabel::move2D(), ccHObjectCaster::To2DLabel(), cc2DLabel::update2DLabelView(), and ccHObject::updateNameIn3DRecursive().
|
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 233 of file ecvPointPairRegistrationDlg.cpp.
References ccOverlayDialog::linkWith(), m_alignedEntities, m_referenceEntities, and ccPointPairRegistrationDlg::EntityContexts::restoreAll().
Referenced by init().
|
protectedslot |
Slot called when a "delete" button is pushed.
Definition at line 649 of file ecvPointPairRegistrationDlg.cpp.
References DEL_BUTTON_COL_INDEX, removeAlignedPoint(), and removeRefPoint().
Referenced by addPointToTable().
|
overridevirtual |
Inherited from ccPickingListener.
Implements ccPickingListener.
Definition at line 586 of file ecvPointPairRegistrationDlg.cpp.
References addAlignedPoint(), addReferencePoint(), ccPickingListener::PickedItem::entity, Vector3Tpl< double >::fromArray(), ecvDisplayTools::GetCurrentScreen(), ccObject::getName(), m_alignedEntities, m_paused, m_referenceEntities, ccPickingListener::PickedItem::P3D, Tuple3Tpl< Type >::u, and CVLog::Warning().
|
protected |
Enables (or not) buttons depending on the number of points in both lists.
Definition at line 610 of file ecvPointPairRegistrationDlg.cpp.
References m_alignedPoints, m_refPoints, MIN_PAIRS_COUNT, cloudViewer::PointCloudTpl< T >::size(), and updateAlignInfo().
Referenced by addAlignedPoint(), addReferencePoint(), init(), removeAlignedPoint(), removeRefPoint(), unstackAligned(), and unstackRef().
| void ccPointPairRegistrationDlg::pause | ( | bool | state | ) |
Pauses the dialog.
Definition at line 491 of file ecvPointPairRegistrationDlg.cpp.
References m_paused.
Referenced by MainWindow::cancelPreviousPickingOperation().
| void ccPointPairRegistrationDlg::removeAlignedPoint | ( | int | index, |
| bool | autoRemoveDualPoint = true |
||
| ) |
Removes a point from the 'align' set.
Definition at line 945 of file ecvPointPairRegistrationDlg.cpp.
References cc2DLabel::clear(), CreateLabel(), CVLog::Error(), ccHObject::getChild(), cloudViewer::PointCloudTpl< T >::getPoint(), ccPointCloud::invalidateBoundingBox(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedLabels, m_alignedPoints, m_refPoints, onPointCountChanged(), removeRefPoint(), ccPointCloud::resize(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccObject::setName(), cloudViewer::PointCloudTpl< T >::size(), updateAlignedMarkers(), cc2DLabel::updateLabel(), and updateSphereMarks().
Referenced by onDelButtonPushed(), and removeRefPoint().
| void ccPointPairRegistrationDlg::removeRefPoint | ( | int | index, |
| bool | autoRemoveDualPoint = true |
||
| ) |
Removes a point from the 'reference' set.
Definition at line 1013 of file ecvPointPairRegistrationDlg.cpp.
References cc2DLabel::clear(), CreateLabel(), CVLog::Error(), ccHObject::getChild(), cloudViewer::PointCloudTpl< T >::getPoint(), ccPointCloud::invalidateBoundingBox(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedPoints, m_refLabels, m_refPoints, onPointCountChanged(), removeAlignedPoint(), ccPointCloud::resize(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccObject::setName(), cloudViewer::PointCloudTpl< T >::size(), cc2DLabel::updateLabel(), updateRefMarkers(), and updateSphereMarks().
Referenced by onDelButtonPushed(), and removeAlignedPoint().
|
protectedslot |
Definition at line 1457 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChild(), ccHObject::getChildrenNumber(), ecvDisplayTools::GetCurrentScreen(), ccGLMatrixTpl< T >::inverse(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedEntities, m_alignedLabels, m_transMatHistory, ecvDisplayTools::RedrawDisplay(), ccHObject::setRedrawFlagRecursive(), ecvDisplayTools::SetRedrawRecursive(), ccGLMatrixTpl< T >::toIdentity(), transformAlignedEntity(), updateAlignInfo(), updateAllMarkers(), and zoomGlobalOnRegistrationEntities().
Referenced by ccPointPairRegistrationDlg().
|
protected |
Resets the displayed title (3D view)
Definition at line 1291 of file ecvPointPairRegistrationDlg.cpp.
References ecvDisplayTools::DisplayNewMessage(), ecvDisplayTools::GetCurrentScreen(), and ecvDisplayTools::UPPER_CENTER_MESSAGE.
Referenced by align(), init(), and updateAlignInfo().
|
protectedslot |
Slot called to change aligned cloud visibility.
Definition at line 1137 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChild(), ccHObject::getChildrenNumber(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedEntities, m_alignedLabels, m_alignedPoints, ecvDisplayTools::RedrawDisplay(), ccObject::setEnabled(), ecvDisplayTools::SetRedrawRecursive(), ccHObjectCaster::To2DLabel(), cc2DLabel::updateLabel(), updateSphereMarks(), and ecvDisplayTools::ZoomGlobal().
Referenced by ccPointPairRegistrationDlg().
|
protectedslot |
Slot called to change reference cloud visibility.
Definition at line 1165 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChild(), ccHObject::getChildrenNumber(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_referenceEntities, m_refLabels, m_refPoints, ecvDisplayTools::RedrawDisplay(), ccObject::setEnabled(), ecvDisplayTools::SetRedrawRecursive(), ccHObjectCaster::To2DLabel(), cc2DLabel::updateLabel(), updateSphereMarks(), and ecvDisplayTools::ZoomGlobal().
Referenced by ccPointPairRegistrationDlg().
|
overridevirtual |
Starts process.
Reimplemented from ccOverlayDialog.
Definition at line 244 of file ecvPointPairRegistrationDlg.cpp.
References ccPickingHub::addListener(), CVLog::Error(), ecvDisplayTools::GetCurrentScreen(), label2DMove(), ecvDisplayTools::labelmove2D(), m_alignedEntities, m_pickingHub, ccOverlayDialog::start(), and ecvDisplayTools::TheInstance().
|
overridevirtual |
Stops process/dialog.
Automatically emits the 'processFinished' signal (with input state as argument).
| accepted | process/dialog result |
Reimplemented from ccOverlayDialog.
Definition at line 260 of file ecvPointPairRegistrationDlg.cpp.
References ecvDisplayTools::DisplayNewMessage(), label2DMove(), ecvDisplayTools::labelmove2D(), ecvDisplayTools::LOWER_LEFT_MESSAGE, m_pickingHub, ccPickingHub::removeListener(), ccOverlayDialog::stop(), ecvDisplayTools::TheInstance(), updateAlignInfo(), and ecvDisplayTools::UPPER_CENTER_MESSAGE.
|
protected |
Definition at line 1435 of file ecvPointPairRegistrationDlg.cpp.
References apply(), ccHObject::applyGLTransformation_recursive(), m_alignedEntities, m_alignedPoints, m_app, ecvMainAppInterface::putObjectBackIntoDBTree(), ecvDisplayTools::RemoveBB(), and ecvMainAppInterface::removeObjectTemporarilyFromDBTree().
|
protectedslot |
Slot called to remove the last point on the 'align' stack.
Definition at line 898 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChildrenNumber(), m_alignedLabels, m_alignedPoints, onPointCountChanged(), ccPointCloud::resize(), cloudViewer::PointCloudTpl< T >::size(), and updateAlignedMarkers().
Referenced by ccPointPairRegistrationDlg().
|
protectedslot |
Slot called to remove the last point on the 'reference' stack.
Definition at line 919 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChildrenNumber(), m_refLabels, m_refPoints, onPointCountChanged(), ccPointCloud::resize(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), cloudViewer::PointCloudTpl< T >::size(), and updateRefMarkers().
Referenced by ccPointPairRegistrationDlg().
|
protectedslot |
Definition at line 1103 of file ecvPointPairRegistrationDlg.cpp.
References cc2DLabel::clearLabel(), ccHObject::getChild(), ecvDisplayTools::GetCurrentScreen(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_alignedLabels, ccHObject::removeChild(), ccHObjectCaster::To2DLabel(), and updateSphereMarks().
Referenced by removeAlignedPoint(), and unstackAligned().
|
protectedslot |
Updates the registration info and buttons states.
Definition at line 1301 of file ecvPointPairRegistrationDlg.cpp.
References callHornRegistration(), ecvDisplayTools::DisplayNewMessage(), ecvDisplayTools::GetCurrentScreen(), m_alignedPoints, m_refPoints, MIN_PAIRS_COUNT, ecvDisplayTools::RedrawDisplay(), resetTitle(), ecvDisplayTools::SetRedrawRecursive(), cloudViewer::PointCloudTpl< T >::size(), and ecvDisplayTools::UPPER_CENTER_MESSAGE.
Referenced by ccPointPairRegistrationDlg(), onPointCountChanged(), reset(), and stop().
|
protectedslot |
Definition at line 1406 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::getChild(), ccHObject::getChildrenNumber(), ccObject::isA(), CV_TYPES::LABEL_2D, m_alignedLabels, m_refLabels, ccObject::setEnabled(), and ccHObject::updateNameIn3DRecursive().
| void ccPointPairRegistrationDlg::updateRefMarkers | ( | int | index | ) |
Definition at line 1120 of file ecvPointPairRegistrationDlg.cpp.
References cc2DLabel::clearLabel(), ccHObject::getChild(), ecvDisplayTools::GetCurrentScreen(), ccObject::isKindOf(), CV_TYPES::LABEL_2D, m_refLabels, ccHObject::removeChild(), ccHObjectCaster::To2DLabel(), and updateSphereMarks().
Referenced by removeRefPoint(), and unstackRef().
|
protectedslot |
Definition at line 1081 of file ecvPointPairRegistrationDlg.cpp.
References CC_DRAW_2D, CC_DRAW_3D, CC_DRAW_FOREGROUND, context, ccHObject::draw(), ECV_MESH, ccHObject::getViewId(), ccObject::isA(), ecvDisplayTools::RemoveEntities(), ccDrawableObject::showNameIn3D(), and CV_TYPES::SPHERE.
Referenced by addAlignedPoint(), addReferencePoint(), clear(), removeAlignedPoint(), removeRefPoint(), showAlignedEntities(), showReferenceEntities(), updateAlignedMarkers(), and updateRefMarkers().
|
protected |
Definition at line 1492 of file ecvPointPairRegistrationDlg.cpp.
References ccHObject::addChild(), ccHObject::DP_NONE, ccHObject::getChildrenNumber(), ccHObject::getDisplayBB_recursive(), cloudViewer::BoundingBoxTpl< T >::isValid(), m_alignedEntities, m_referenceEntities, and ecvDisplayTools::UpdateConstellationCenterAndZoom().
|
protected |
Aligned entity.
Definition at line 175 of file ecvPointPairRegistrationDlg.h.
Referenced by addAlignedPoint(), addManualAlignedPoint(), align(), apply(), callHornRegistration(), cancel(), clear(), init(), linkWith(), onItemPicked(), reset(), showAlignedEntities(), start(), transformAlignedEntity(), and zoomGlobalOnRegistrationEntities().
|
protected |
Definition at line 187 of file ecvPointPairRegistrationDlg.h.
Referenced by addAlignedPoint(), align(), clear(), label2DMove(), removeAlignedPoint(), reset(), showAlignedEntities(), unstackAligned(), updateAlignedMarkers(), and updateAllMarkers().
|
protected |
Aligned points set.
Definition at line 178 of file ecvPointPairRegistrationDlg.h.
Referenced by addAlignedPoint(), apply(), callHornRegistration(), ccPointPairRegistrationDlg(), clear(), onPointCountChanged(), removeAlignedPoint(), removeRefPoint(), showAlignedEntities(), transformAlignedEntity(), unstackAligned(), and updateAlignInfo().
|
protected |
Main application interface.
Definition at line 198 of file ecvPointPairRegistrationDlg.h.
Referenced by transformAlignedEntity().
|
protected |
Whether the dialog is paused or not.
Definition at line 192 of file ecvPointPairRegistrationDlg.h.
Referenced by onItemPicked(), and pause().
|
protected |
Picking hub.
Definition at line 195 of file ecvPointPairRegistrationDlg.h.
Referenced by ccPointPairRegistrationDlg(), start(), and stop().
|
protected |
Reference entity (if any)
Definition at line 181 of file ecvPointPairRegistrationDlg.h.
Referenced by addManualRefPoint(), addReferencePoint(), clear(), init(), linkWith(), onItemPicked(), showReferenceEntities(), and zoomGlobalOnRegistrationEntities().
|
protected |
Definition at line 186 of file ecvPointPairRegistrationDlg.h.
Referenced by addReferencePoint(), clear(), label2DMove(), removeRefPoint(), showReferenceEntities(), unstackRef(), updateAllMarkers(), and updateRefMarkers().
|
protected |
Reference points set.
Definition at line 184 of file ecvPointPairRegistrationDlg.h.
Referenced by addReferencePoint(), apply(), callHornRegistration(), ccPointPairRegistrationDlg(), clear(), onPointCountChanged(), removeAlignedPoint(), removeRefPoint(), showReferenceEntities(), unstackRef(), and updateAlignInfo().
|
protected |