![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
3DxWare driver wrapper for 3D mouse handling More...
#include <Mouse3DInput.h>


Signals | |
| void | sigMove3d (std::vector< float > &motionData) |
| void | sigReleased () |
| void | sigOn3dmouseKeyDown (int virtualKeyCode) |
| void | sigOn3dmouseCMDKeyDown (int virtualCMDCode) |
| void | sigOn3dmouseKeyUp (int virtualKeyCode) |
| void | sigOn3dmouseCMDKeyUp (int virtualCMDCode) |
Public Member Functions | |
| Mouse3DInput (QObject *parent) | |
| Default constructor. More... | |
| virtual | ~Mouse3DInput () |
| Destructor. More... | |
| bool | connect (QWidget *mainWidget, QString appName) |
| Attempts to connect with the 3DxWare driver. More... | |
| void | disconnectDriver () |
| Disconnects from the 3DxWare driver. More... | |
| bool | onSiEvent (void *siGetEventData) |
| Called when a new system message is available. More... | |
Static Public Member Functions | |
| static void | GetMatrix (const std::vector< float > &motionData, ccGLMatrixd &mat) |
| Converts 'rotation' part of motion data to a rotation matrix. More... | |
| static void | Apply (const std::vector< float > &motionData, ccGLWindow *win) |
| Applies motion data to a given 3D window. More... | |
Protected Member Functions | |
| virtual void | move3d (std::vector< float > &motionData) |
| Called with the processed motion data when a 3D mouse event is received. More... | |
| virtual void | on3dmouseKeyDown (int virtualKeyCode) |
| Called when a 3D mouse key is pressed. More... | |
| virtual void | on3dmouseCMDKeyDown (int virtualCMDCode) |
| Called when a 3D mouse key is pressed after translation to CMD. More... | |
| virtual void | on3dmouseKeyUp (int virtualKeyCode) |
| Called when a 3D mouse key is released. More... | |
| virtual void | on3dmouseCMDKeyUp (int virtualCMDCode) |
| Called when a 3D mouse key is released after translation to CMD. More... | |
Protected Attributes | |
| void * | m_siHandle |
| 3DxWare handle More... | |
3DxWare driver wrapper for 3D mouse handling
Definition at line 43 of file Mouse3DInput.h.
| enum Mouse3DInput::V3DCMD |
Definition at line 93 of file Mouse3DInput.h.
Default key codes.
Definition at line 58 of file Mouse3DInput.h.
|
explicit |
Default constructor.
Definition at line 59 of file Mouse3DInput.cpp.
References s_mouseInputInstance.
|
virtual |
|
static |
Applies motion data to a given 3D window.
Definition at line 268 of file Mouse3DInput.cpp.
References ecvViewportParameters::computeWidthAtFocalDist(), ccGLMatrixTpl< T >::getColumnAsVec3D(), ecvViewportParameters::getFocalDistance(), GetMatrix(), cloudViewer::GreaterThanEpsilon(), ccGLMatrixTpl< T >::initFromParameters(), ccGLMatrixTpl< T >::inverse(), ecvViewportParameters::objectCenteredView, ecvViewportParameters::perspectiveView, ecvViewportParameters::setFocalDistance(), and X.
| bool Mouse3DInput::connect | ( | QWidget * | mainWidget, |
| QString | appName | ||
| ) |
Attempts to connect with the 3DxWare driver.
Definition at line 73 of file Mouse3DInput.cpp.
References m_siHandle, name, CVLog::Print(), s_rawInputEventFilter, and CVLog::Warning().
| void Mouse3DInput::disconnectDriver | ( | ) |
Disconnects from the 3DxWare driver.
Definition at line 145 of file Mouse3DInput.cpp.
References m_siHandle, and s_rawInputEventFilter.
|
static |
Converts 'rotation' part of motion data to a rotation matrix.
Definition at line 253 of file Mouse3DInput.cpp.
References ccGLMatrixTpl< T >::getColumn().
Referenced by Apply().
|
protectedvirtual |
Called with the processed motion data when a 3D mouse event is received.
The default implementation emits a sigMove3d signal with the motion data
Definition at line 233 of file Mouse3DInput.cpp.
References sigMove3d().
Referenced by onSiEvent().
|
protectedvirtual |
Called when a 3D mouse key is pressed after translation to CMD.
The default implementation emits a sigOn3dmouseKeyDown signal with the key code.
Definition at line 241 of file Mouse3DInput.cpp.
References sigOn3dmouseCMDKeyDown().
Referenced by onSiEvent().
|
protectedvirtual |
Called when a 3D mouse key is released after translation to CMD.
The default implementation emits a sigOn3dmouseKeyUp signal with the key code.
Definition at line 249 of file Mouse3DInput.cpp.
References sigOn3dmouseCMDKeyUp().
Referenced by onSiEvent().
|
protectedvirtual |
Called when a 3D mouse key is pressed.
The default implementation emits a sigOn3dmouseKeyDown signal with the key code.
Definition at line 237 of file Mouse3DInput.cpp.
References sigOn3dmouseKeyDown().
Referenced by onSiEvent().
|
protectedvirtual |
Called when a 3D mouse key is released.
The default implementation emits a sigOn3dmouseKeyUp signal with the key code.
Definition at line 245 of file Mouse3DInput.cpp.
References sigOn3dmouseKeyUp().
Referenced by onSiEvent().
| bool Mouse3DInput::onSiEvent | ( | void * | siGetEventData | ) |
Called when a new system message is available.
For 'internal' use only
3DxWare data event
Definition at line 154 of file Mouse3DInput.cpp.
References c_3dmouseAngularVelocity, m_siHandle, move3d(), on3dmouseCMDKeyDown(), on3dmouseCMDKeyUp(), on3dmouseKeyDown(), on3dmouseKeyUp(), sigReleased(), and V3DCMD_MENU_OPTIONS.
Referenced by RawInputEventFilter::nativeEventFilter().
|
signal |
Referenced by on3dmouseCMDKeyDown().
|
signal |
Referenced by on3dmouseCMDKeyUp().
|
signal |
Referenced by on3dmouseKeyDown().
|
signal |
Referenced by on3dmouseKeyUp().
|
signal |
Referenced by onSiEvent().
|
protected |
3DxWare handle
Definition at line 315 of file Mouse3DInput.h.
Referenced by connect(), disconnectDriver(), and onSiEvent().