ALBA
mmiSelectPoint.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ALBA (Agile Library for Biomedical Applications)
4 Module: mmiSelectPoint
5 Authors: Matteo Giacomoni , Stefano Perticoni
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
17#ifndef __mmiSelectPoint_h
18#define __mmiSelectPoint_h
19
20//----------------------------------------------------------------------------
21// Include:
22//----------------------------------------------------------------------------
23#include "albaDefines.h"
25#include "albaMTime.h"
26
27//----------------------------------------------------------------------------
28// forward declarations :
29//----------------------------------------------------------------------------
30class vtkCellPicker;
31class vtkCamera;
32
55class ALBA_EXPORT mmiSelectPoint : public albaInteractorCameraMove
56{
57public:
59
61 virtual void OnMouseMove();
62
65
68
70 void SetCtrlModifierOn(){m_UseCtrlModifier = true;};
71
73 void SetCtrlModifierOff(){m_UseCtrlModifier = false;};
74
78 void SetCtrlModifier(bool useCtrlModifier) {m_UseCtrlModifier = useCtrlModifier;};
79
81 bool GetCtrlModifier() {return m_UseCtrlModifier;};
82
83protected:
85 virtual ~mmiSelectPoint();
86
88 void PickCell(albaDevice *device);
89
91
93
94private:
95 mmiSelectPoint(const mmiSelectPoint&); // Not implemented.
96 void operator=(const mmiSelectPoint&); // Not implemented.
97 void OnEvent(albaEventBase *event);
98
99};
100#endif
This abstract class manages function calls coming from devices and issue specific events to interacto...
Definition: albaDevice.h:40
Implementation of the message object for the Subject/Observer design pattern.
Definition: albaEventBase.h:49
Event class to transport a triggering button and a position from pointing devices.
implements mouse move of camera in the scene.
virtual void OnEvent(albaEventBase *event)
Process events coming from tracker.
Perform continuous cell picking with or without the CTRL modifier or move the camera in the scene (wh...
virtual ~mmiSelectPoint()
void SetCtrlModifierOff()
Set the CTRL modifier to Off => pick performed on Left button down.
bool GetCtrlModifier()
Get the CTRL modifier.
virtual void OnMouseMove()
redefined not to move the camera if something has been picked
void SetCtrlModifier(bool useCtrlModifier)
Set the CTRL modifier: true => pick on Ctrl + LeftButtonDown false => pick on LeftButtonDown only.
virtual void OnButtonUp(albaEventInteraction *e)
redefined to end pick modality
virtual void OnLeftButtonDown(albaEventInteraction *e)
redefined to pick cell if CTRL modifier is pressed
void PickCell(albaDevice *device)
send the picking informations to the listener
albaTypeMacro(mmiSelectPoint, albaInteractorCameraMove)
void SetCtrlModifierOn()
Set the CTRL modifier to On => picking performed on LeftButtonDown + CTRL.