![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Dialog to interactively edit the camera pose parameters. More...
#include <ecvCameraParamEditDlg.h>


Public Slots | |
| void | linkWith (QMdiSubWindow *qWin) |
| Links this dialog with a given sub-window. More... | |
| void | updatePivotPoint (const CCVector3d &P) |
| Updates dialog values with pivot point. More... | |
| void | updateViewMode () |
| Updates current view mode. More... | |
| void | pivotChanged () |
| void | rotationFactorChanged (double) |
| void | zfactorSliderMoved (int val) |
| void | pickPointAsPivot (bool) |
| void | processPickedItem (ccHObject *, unsigned, int, int, const CCVector3 &) |
Public Member Functions | |
| ecvCameraParamEditDlg (QWidget *parent, ccPickingHub *pickingHub) | |
| Default constructor. More... | |
| ~ecvCameraParamEditDlg () override | |
| Destructor. More... | |
| bool | start () override |
| Starts process. More... | |
| bool | linkWith (QWidget *win) override |
| Links the overlay dialog with a MDI window. More... | |
| void | onItemPicked (const PickedItem &pi) override |
| Method called whenever an item is picked. More... | |
| bool | setCameraTool (ecvGenericCameraTool *tool) |
| void | SetCameraGroupsEnabled (bool enabled) |
Public Member Functions inherited from ccOverlayDialog | |
| ccOverlayDialog (QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::FramelessWindowHint|Qt::Tool) | |
| Default constructor. More... | |
| ~ccOverlayDialog () override | |
| Destructor. More... | |
| virtual void | stop (bool accepted) |
| Stops process/dialog. 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 |
Static Public Member Functions | |
| static bool | ConfigureCustomViewpoints (QWidget *parentWidget) |
| static bool | AddCurrentViewpointToCustomViewpoints () |
| static bool | ApplyCustomViewpoint (int CustomViewpointIndex) |
| static bool | DeleteCustomViewpoint (int CustomViewpointIndex) |
| static bool | SetToCurrentViewpoint (int CustomViewpointIndex) |
| static QStringList | CustomViewpointToolTips () |
| static QStringList | CustomViewpointConfigurations () |
Protected Types | |
| using | PushedMatricesMapType = std::map< QWidget *, ccGLMatrixd > |
| Type of the pushed matrices map structure. More... | |
| using | PushedMatricesMapElement = std::pair< QWidget *, ccGLMatrixd > |
| Type of an element of the pushed matrices map structure. More... | |
Protected Slots | |
| void | updateCamera () |
| void | cameraChanged () |
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 | initWith (QWidget *win) |
| Inits dialog values with specified window. More... | |
| void | updateUi () |
Protected Member Functions inherited from ccOverlayDialog | |
| bool | eventFilter (QObject *obj, QEvent *e) override |
Protected Attributes | |
| PushedMatricesMapType | pushedMatrices |
| Pushed camera matrices (per window) More... | |
| ccPickingHub * | m_pickingHub |
| Picking hub. 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... | |
Dialog to interactively edit the camera pose parameters.
Definition at line 29 of file ecvCameraParamEditDlg.h.
|
protected |
Type of an element of the pushed matrices map structure.
Definition at line 151 of file ecvCameraParamEditDlg.h.
|
protected |
Type of the pushed matrices map structure.
Definition at line 149 of file ecvCameraParamEditDlg.h.
|
explicit |
Default constructor.
Definition at line 113 of file ecvCameraParamEditDlg.cpp.
References ecvDisplayTools::AutoPickPivotAtCenter(), cameraChanged(), ecvDisplayTools::cameraParamChanged(), ConfigureCustomViewpoints(), pickPointAsPivot(), pivotChanged(), rotationFactorChanged(), ecvDisplayTools::TheInstance(), ecvSettingManager::TheInstance(), updateCamera(), and zfactorSliderMoved().
|
override |
Destructor.
Definition at line 198 of file ecvCameraParamEditDlg.cpp.
|
static |
Add the current viewpoint to the custom viewpoints
Definition at line 666 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::alertSettingsModified(), ecvSettingManager::beginGroup(), ecvGenericCameraTool::CurrentCameraParam, CustomViewpointConfigurations(), ecvSettingManager::endGroup(), ecvSettingManager::setValue(), ecvSettingManager::TheInstance(), and ecvGenericCameraTool::CameraInfo::toString().
Referenced by ecvCustomViewpointsToolbar::addCurrentViewpointToCustomViewpoints().
|
static |
Change camera positing to an indexed custom viewpoints
Definition at line 706 of file ecvCameraParamEditDlg.cpp.
References ApplyCustomViewpoint(), ecvSettingManager::beginGroup(), ecvGenericCameraTool::CurrentCameraParam, ecvSettingManager::endGroup(), ecvGenericCameraTool::CameraInfo::loadConfig(), ecvGenericCameraTool::SaveBuffer(), ecvSettingManager::TheInstance(), and ecvSettingManager::value().
Referenced by ApplyCustomViewpoint().
|
protectedslot |
Definition at line 368 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::updateCameraParameters(), and updateUi().
Referenced by ecvCameraParamEditDlg().
|
static |
Open the CustomViewpointDialog to configure customViewpoints
Definition at line 621 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::alertSettingsModified(), ecvSettingManager::beginGroup(), ConfigureCustomViewpoints(), ecvGenericCameraTool::CurrentCameraParam, CustomViewpointConfigurations(), CustomViewpointToolTips(), ecvSettingManager::endGroup(), ecvCustomViewpointButtonDlg::getConfigurations(), ecvCustomViewpointButtonDlg::getToolTips(), ecvSettingManager::remove(), ecvSettingManager::setValue(), ecvSettingManager::TheInstance(), and ecvGenericCameraTool::CameraInfo::toString().
Referenced by ConfigureCustomViewpoints(), and ecvCameraParamEditDlg().
|
static |
Return the list of custom viewpoint configurations
Definition at line 775 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::beginGroup(), ecvCustomViewpointButtonDlg::DEFAULT_TOOLTIP, ecvSettingManager::endGroup(), ecvCustomViewpointButtonDlg::MAXIMUM_NUMBER_OF_ITEMS, ecvCustomViewpointButtonDlg::MINIMUM_NUMBER_OF_ITEMS, and ecvSettingManager::TheInstance().
Referenced by AddCurrentViewpointToCustomViewpoints(), and ConfigureCustomViewpoints().
|
static |
Return the list of custom viewpoints tooltups
Definition at line 790 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::beginGroup(), ecvCustomViewpointButtonDlg::DEFAULT_TOOLTIP, ecvSettingManager::endGroup(), ecvCustomViewpointButtonDlg::MAXIMUM_NUMBER_OF_ITEMS, ecvCustomViewpointButtonDlg::MINIMUM_NUMBER_OF_ITEMS, and ecvSettingManager::TheInstance().
Referenced by ConfigureCustomViewpoints(), DeleteCustomViewpoint(), and ecvCustomViewpointsToolbar::updateCustomViewpointActions().
|
static |
Delete an indexed custom viewpoint
Definition at line 725 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::alertSettingsModified(), ecvSettingManager::beginGroup(), CustomViewpointToolTips(), ecvSettingManager::endGroup(), ecvSettingManager::remove(), ecvSettingManager::setValue(), ecvSettingManager::TheInstance(), and ecvSettingManager::value().
Referenced by ecvCustomViewpointsToolbar::DeleteCustomViewpoint().
|
protected |
Inits dialog values with specified window.
Definition at line 294 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::updateCameraParameters(), updateUi(), and updateViewMode().
Referenced by linkWith().
|
slot |
Links this dialog with a given sub-window.
Definition at line 254 of file ecvCameraParamEditDlg.cpp.
References linkWith().
|
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 262 of file ecvCameraParamEditDlg.cpp.
References initWith(), ccOverlayDialog::linkWith(), ccOverlayDialog::m_associatedWin, ecvDisplayTools::perspectiveStateChanged(), pickPointAsPivot(), ecvDisplayTools::pivotPointChanged(), ecvDisplayTools::TheInstance(), updatePivotPoint(), and updateViewMode().
Referenced by linkWith().
|
overridevirtual |
Method called whenever an item is picked.
Implements ccPickingListener.
Definition at line 213 of file ecvCameraParamEditDlg.cpp.
References Vector3Tpl< double >::fromArray(), ccOverlayDialog::m_associatedWin, m_pickingHub, ccPickingListener::PickedItem::P3D, pickPointAsPivot(), ecvDisplayTools::SetPivotPoint(), Tuple3Tpl< Type >::u, and ecvDisplayTools::UpdateScreen().
|
slot |
Definition at line 852 of file ecvCameraParamEditDlg.cpp.
References ccPickingHub::addListener(), ecvDisplayTools::DEFAULT_PICKING, CVLog::Error(), ecvDisplayTools::itemPicked(), ccOverlayDialog::m_associatedWin, m_pickingHub, ecvDisplayTools::POINT_OR_TRIANGLE_PICKING, processPickedItem(), ccPickingHub::removeListener(), ecvDisplayTools::SetPickingMode(), and ecvDisplayTools::TheInstance().
Referenced by ecvCameraParamEditDlg(), linkWith(), onItemPicked(), and processPickedItem().
|
slot |
Definition at line 456 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::CurrentCameraParam, ccOverlayDialog::m_associatedWin, and ecvGenericCameraTool::CameraInfo::pivot.
Referenced by ecvCameraParamEditDlg().
|
slot |
Definition at line 226 of file ecvCameraParamEditDlg.cpp.
References Vector3Tpl< double >::fromArray(), ccOverlayDialog::m_associatedWin, pickPointAsPivot(), ecvDisplayTools::SetPivotPoint(), Tuple3Tpl< Type >::u, and ecvDisplayTools::UpdateScreen().
Referenced by pickPointAsPivot().
|
slot |
Definition at line 469 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::CurrentCameraParam, and ecvGenericCameraTool::CameraInfo::rotationFactor.
Referenced by ecvCameraParamEditDlg().
| void ecvCameraParamEditDlg::SetCameraGroupsEnabled | ( | bool | enabled | ) |
Definition at line 484 of file ecvCameraParamEditDlg.cpp.
| bool ecvCameraParamEditDlg::setCameraTool | ( | ecvGenericCameraTool * | tool | ) |
Definition at line 206 of file ecvCameraParamEditDlg.cpp.
|
static |
Set an indexed custom viewpoint to the current viewpoint
Definition at line 759 of file ecvCameraParamEditDlg.cpp.
References ecvSettingManager::alertSettingsModified(), ecvSettingManager::beginGroup(), ecvGenericCameraTool::CurrentCameraParam, ecvSettingManager::endGroup(), ecvSettingManager::setValue(), ecvSettingManager::TheInstance(), and e57::toString().
Referenced by ecvCustomViewpointsToolbar::SetToCurrentViewpoint().
|
overridevirtual |
Starts process.
Reimplemented from ccOverlayDialog.
Definition at line 244 of file ecvCameraParamEditDlg.cpp.
References ccOverlayDialog::m_processing, and ccOverlayDialog::start().
|
protectedslot |
Definition at line 341 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::CameraInfo::clippRange, ecvGenericCameraTool::CurrentCameraParam, ecvGenericCameraTool::CameraInfo::eyeAngle, ecvGenericCameraTool::CameraInfo::focal, ecvGenericCameraTool::CameraInfo::position, ecvGenericCameraTool::CameraInfo::rotationFactor, ecvGenericCameraTool::CameraInfo::viewAngle, ecvGenericCameraTool::CameraInfo::viewUp, Vector2Tpl< Type >::x, Tuple3Tpl< Type >::x, Vector2Tpl< Type >::y, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ecvCameraParamEditDlg().
|
slot |
Updates dialog values with pivot point.
Definition at line 313 of file ecvCameraParamEditDlg.cpp.
References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by linkWith().
|
protected |
Definition at line 382 of file ecvCameraParamEditDlg.cpp.
References ecvGenericCameraTool::CameraInfo::clippRange, ecvGenericCameraTool::CurrentCameraParam, ecvGenericCameraTool::CameraInfo::eyeAngle, ecvGenericCameraTool::CameraInfo::focal, ecvGenericCameraTool::CameraInfo::pivot, ecvGenericCameraTool::CameraInfo::position, ecvGenericCameraTool::CameraInfo::rotationFactor, ecvGenericCameraTool::CameraInfo::viewAngle, ecvGenericCameraTool::CameraInfo::viewUp, Vector2Tpl< Type >::x, Tuple3Tpl< Type >::x, Vector2Tpl< Type >::y, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by cameraChanged(), and initWith().
|
slot |
Updates current view mode.
Definition at line 325 of file ecvCameraParamEditDlg.cpp.
References ecvGenericDisplayTools::GetPerspectiveState(), and ccOverlayDialog::m_associatedWin.
Referenced by initWith(), and linkWith().
|
slot |
Definition at line 479 of file ecvCameraParamEditDlg.cpp.
Referenced by ecvCameraParamEditDlg().
|
protected |
Picking hub.
Definition at line 157 of file ecvCameraParamEditDlg.h.
Referenced by onItemPicked(), and pickPointAsPivot().
|
protected |
Pushed camera matrices (per window)
Definition at line 154 of file ecvCameraParamEditDlg.h.