ALBA
albaInteractor6DOF.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ALBA (Agile Library for Biomedical Applications)
4 Module: albaInteractor6DOF
5 Authors: Marco Petrone
6
7 Copyright (c) BIC
8 All rights reserved. See Copyright.txt or
9
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16#ifndef __albaInteractor6DOF_h
17#define __albaInteractor6DOF_h
18
20
21class vtkCamera;
22class vtkProp3D;
23class vtkRenderer;
24class albaMatrix;
25class albaTransform;
27class albaOBB;
28class albaAvatar3D;
29
37{
38public:
40
43
45 virtual int StopInteraction(albaDeviceButtonsPadTracker *tracker,albaMatrix *pose=NULL);
46
48 virtual void SetTrackerPoseMatrix(albaMatrix *pose);
49 albaMatrix *GetTrackerPoseMatrix() {return this->m_TrackerPoseMatrix;}
50
53
57
61
67 void SetIgnoreTriggerEvents(int flag) {m_IgnoreTriggerEvents=flag;}
71
73 void HideAvatar();
74
76 void ShowAvatar();
77
78protected:
79
82
87
94
96
97private:
98 albaInteractor6DOF(const albaInteractor6DOF&); // Not implemented.
99 void operator=(const albaInteractor6DOF&); // Not implemented.
100};
101
102#endif
Avatars are entities moving in the virtual world according to user's movements, and thus representing...
Definition: albaAvatar3D.h:57
Generic spatial position tracking device.
Event class to transport a triggering button and a position from pointing devices.
base class for 3D interaction modalities with 6DOF
albaTransform * m_DeltaTransform
virtual int StartInteraction(albaDeviceButtonsPadTracker *tracker, albaMatrix *pose=NULL)
Start the interaction with the selected object.
albaMatrix * m_TrackerPoseMatrix
virtual ~albaInteractor6DOF()
void ShowAvatar()
Used to show back default tracker's avatar.
void SetTracker(albaDeviceButtonsPadTracker *tracker)
albaDeviceButtonsPadTracker * GetTracker()
Return pointer to the current input tracker.
void SetIgnoreTriggerEvents(int flag)
Enable/Disable trigger events processing.
virtual void SetTrackerPoseMatrix(albaMatrix *pose)
Set/Get the current pose matrix.
albaTransform * m_TmpTransform
virtual int OnStartInteraction(albaEventInteraction *event)
reimplemented to manage interaction events from trackers
void TrackerSnapshot(albaMatrix *pose)
Stores the current m_TrackerPoseMatrix.
albaAvatar3D * m_Avatar
void HideAvatar()
Used to hide default tracker's avatar.
albaMatrix * m_StartTrackerPoseMatrix
albaAbstractTypeMacro(albaInteractor6DOF, albaInteractorGenericInterface)
albaMatrix * m_InverseTrackerPoseMatrix
virtual int StopInteraction(albaDeviceButtonsPadTracker *tracker, albaMatrix *pose=NULL)
Stop the interaction.
albaMatrix * GetTrackerPoseMatrix()
void UpdateDeltaTransform()
Update the delta transform, i.e.
albaMatrix * m_InversePoseMatrix
virtual int OnStopInteraction(albaEventInteraction *event)
reimplemented to manage interaction events from trackers
Abstract class for general purpose interactor.
void SetIgnoreTriggerEvents(bool flag)
Enable/Disable trigger events processing.
albaDevice * m_Device
Find the pocked VME at button down.
int m_IgnoreTriggerEvents
flag to ignore start/stop interaction
albaMatrix - Time stamped 4x4 Matrix.
Definition: albaMatrix.h:44
This class simply stores a Box boundary (i.e.
Definition: albaOBB.h:37
albaTransform - class for homogeneous transformations.
Definition: albaTransform.h:53