16#ifndef __albaInteractorPER_h
17#define __albaInteractorPER_h
145 friend class albaInteractorPERTest;
This abstract class manages function calls coming from devices and issue specific events to interacto...
Implementation of the message object for the Subject/Observer design pattern.
Event class to transport a triggering button and a position from pointing devices.
Class implementing routing of events based on picking.
albaInteractor * m_CameraBehavior
the camera interactor
albaTypeMacro(albaInteractorPER, albaInteractor)
albaInteractor * GetCameraInteractor()
albaInteractor * GetCameraMouseInteractor()
bool m_ShowContextMenu
flag for showing the context menu
virtual void FlyToMode()
Enable fly to mode: next click will select where to fly to.
virtual int OnStopInteraction(albaEventInteraction *e)
redefined to support the three buttons
void SetPickedVME(albaDevice *device, albaVME *vme)
internally used to set VME picked by device at button down
void SetModeToSingleButton()
virtual int StartInteraction(albaDevice *device, int button)
Redefined to support multiple input devices.
virtual void OnMove(albaEventInteraction *e)
void SetModeToMultiButton()
virtual void FlyTo(albaEventInteraction *e, int numstep=20, double zoom=1)
internally used to fly to a clicked point
virtual void OnRightButtonDown(albaEventInteraction *e)
albaInteractor * m_CameraMouseBehavior
the mouse camera interactor
void RemoveDevice(albaDevice *device)
remove a device in the set of devices currently interacting
virtual void OnLeftButtonDown(albaEventInteraction *e)
albaInteractor * GetCurrentBehavior(albaDevice *device)
virtual void OnMiddleButtonDown(albaEventInteraction *e)
virtual void OnChar(albaEventInteraction *e)
std::map< albaID, DeviceItem > m_Devices
Stores the list of devices currently interacting.
albaVME * GetPickedVME(albaDevice *device)
internally used to return the picked VME for given device
virtual ~albaInteractorPER()
bool IsInteracting(albaDevice *device, int button=-1)
return true if device is in the set of devices currently interacting the optional parameter can be us...
virtual void OnButtonDown(albaEventInteraction *e)
Perform a pick on start of interaction to find if the user pointed an object in the scene,...
virtual void EnableSelect(bool enable)
virtual void OnMiddleButtonUp(albaEventInteraction *e)
void SetCurrentBehavior(albaDevice *device, albaInteractor *inter)
internally used to set which behavior was picked by device
void InsertDevice(albaDevice *device, int button)
insert a device in the set of devices currently interacting
void OnVmeSelected(albaVME *vme)
virtual int OnStartInteraction(albaEventInteraction *e)
redefined to support the three buttons
virtual void OnLeftButtonUp(albaEventInteraction *e)
virtual void OnButtonUp(albaEventInteraction *e)
virtual int StopInteraction(albaDevice *device, int button)
Redefined to support multiple input devices.
virtual void OnRightButtonUp(albaEventInteraction *e)
virtual void OnEvent(albaEventBase *event)
Process events coming from input device.
Abstract class for ALBA interactors This class provides base interface and features of ALBA continuou...
albaDevice * GetDevice()
Return the current input device.