|
| ALBA_ID_DEC (MOVE_EVENT) |
|
| albaAbstractTypeMacro (albaInteractorGenericInterface, albaInteractor) |
|
albaRefSys * | GetTargetRefSys () |
|
void | SetTargetRefSys (albaRefSys &ref_sys) |
|
void | SetTargetRefSys (albaRefSys *ref_sys) |
|
void | SetPivotRefSys (albaRefSys &pivot_frame) |
|
void | SetPivotRefSys (albaRefSys *pivot_frame) |
|
albaRefSys * | GetPivotRefSys () |
|
void | EnableTranslation (bool enable) |
|
void | EnableRotation (bool enable) |
|
void | EnableScaling (bool enable) |
|
void | EnableUniformScaling (bool enable) |
|
bool | GetTranslationFlag () |
|
bool | GetRotationFlag () |
|
bool | GetScalingFlag () |
|
bool | GetUniformScalingFlag () |
|
albaInteractorConstraint * | GetTranslationConstraint () |
|
void | SetTranslationConstraint (albaInteractorConstraint *constrain) |
|
albaInteractorConstraint * | GetRotationConstraint () |
|
void | SetRotationConstraint (albaInteractorConstraint *constrain) |
|
albaInteractorConstraint * | GetScaleConstraint () |
|
void | SetScaleConstraint (albaInteractorConstraint *constrain) |
|
void | SetResultMatrix (albaMatrix *result) |
|
albaMatrix * | GetResultMatrix () |
|
void | SetResultTransform (albaTransform *result) |
|
albaTransform * | GetResultTransform () |
|
virtual void | SetRendererAndView (vtkRenderer *ren, albaView *view) |
|
virtual void | SetVME (albaVME *vme) |
|
void | SetSurfaceSnap (bool flag) |
|
bool | GetSurfaceSnap () |
|
void | SurfaceSnapOn () |
|
void | SurfaceSnapOff () |
|
void | SetSurfaceNormal (bool flag) |
|
bool | GetSurfaceNormal () |
|
void | SurfaceNormalOn () |
|
void | SurfaceNormalOff () |
|
| albaInteractor () |
|
virtual | ~albaInteractor () |
|
| ALBA_ID_DEC (INTERACTION_STARTED) |
|
| ALBA_ID_DEC (INTERACTION_STOPPED) |
|
| ALBA_ID_DEC (BUTTON_DOWN) |
|
| ALBA_ID_DEC (BUTTON_UP) |
|
| albaAbstractTypeMacro (albaInteractor, albaAgent) |
|
virtual void | SetRendererAndView (vtkRenderer *ren, albaView *view) |
|
vtkRenderer * | GetRenderer () |
|
albaView * | GetView () |
|
albaDevice * | GetDevice () |
|
virtual void | SetDevice (albaDevice *) |
|
virtual void | SetVME (albaVME *vme) |
|
void | SetProp (vtkProp3D *prop) |
|
void | SetIgnoreTriggerEvents (bool flag) |
|
int | GetIgnoreTriggerEvents (bool flag) |
|
void | IgnoreTriggerEventsOn () |
|
void | IgnoreTriggerEventsOff () |
|
void | SetStartInteractionEvent (albaID event) |
|
albaID | GetStartInteractionEvent () |
|
void | SetStopInteractionEvent (albaID event) |
|
albaID | GetStopInteractionEvent () |
|
void | SetStartButton (int btn) |
|
int | GetStartButton () |
|
void | SetModifiers (int mod) |
|
int | GetModifiers () |
|
int | GetCurrentButton () |
|
unsigned long | GetCurrentModifier () |
|
virtual int | StartInteraction (albaDevice *device) |
|
virtual int | StopInteraction (albaDevice *device) |
|
virtual bool | IsInteracting () |
|
virtual bool | IsInteracting (albaDevice *device) |
|
void | SetButtonMode (int mode) |
|
int | GetButtonMode () |
|
void | SetButtonModeToSingleButton () |
|
void | SetButtonModeToMultiButton () |
|
virtual void | OnEvent (albaEventBase *event) |
|
void | TestModeOn () |
|
void | TestModeOff () |
|
bool | GetTestMode () |
|
| albaAbstractTypeMacro (albaAgent, albaReferenceCounted) |
|
| ALBA_ID_DEC (AGENT_INITIALIZE) |
|
void | AddObserver (albaObserver *listener, albaID channel=MCH_UP) |
|
void | RemoveObserver (albaObserver *listener) |
|
void | RemoveAllObservers () |
|
virtual void | OnEvent (albaEventBase *event) |
|
bool | HasObservers (albaID channel) |
|
void | GetObservers (albaID channel, std::vector< albaObserver * > &olist) |
|
int | Initialize () |
|
void | Shutdown () |
|
int | IsInitialized () |
|
virtual void | SetName (const char *name) |
|
const char * | GetName () |
|
| albaReferenceCounted () |
|
virtual | ~albaReferenceCounted () |
|
| albaAbstractTypeMacro (albaReferenceCounted, albaObject) |
|
virtual void | Delete () |
|
void | Register (void *obj) |
|
virtual void | UnRegister (void *obj) |
|
int | GetReferenceCount () |
|
void | SetReferenceCount (int) |
|
| albaObject () |
|
virtual | ~albaObject () |
|
virtual void | Delete () |
|
virtual const char * | GetTypeName () const |
|
virtual bool | IsA (const char *type_name) const |
|
virtual bool | IsA (const albaTypeID &type_id) const |
|
virtual albaObject * | NewObjectInstance () const =0 |
|
virtual const albaTypeID & | GetTypeId () const |
|
virtual void | Print (std::ostream &os, const int indent=0) const |
|
| albaObject (const albaObject &c) |
|
| albaObserver () |
|
virtual | ~albaObserver () |
|
virtual void | OnEvent (albaEventBase *e)=0 |
|
| albaEventBroadcaster (void *owner=NULL) |
|
virtual | ~albaEventBroadcaster () |
|
| albaEventBroadcaster (const albaEventBroadcaster &c) |
|
void | AddObserver (albaObserver *obj) |
|
void | AddObserver (albaObserver &obj) |
|
albaObserverCallback * | AddObserverCallback (void(*f)(void *sender, albaID eid, void *clientdata, void *calldata)) |
|
bool | RemoveObserver (albaObserver *obj) |
|
void | RemoveAllObservers () |
|
bool | IsObserver (albaObserver *obj) |
|
bool | HasObservers () |
|
void | GetObservers (std::vector< albaObserver * > &olist) |
|
void | InvokeEvent (albaEventBase &e) |
|
void | InvokeEvent (albaEventBase *e) |
|
void | InvokeEvent (void *sender, albaID id=ID_NO_EVENT, void *data=NULL) |
|
void | SetChannel (albaID ch) |
|
albaID | GetChannel () |
|
virtual void | SetListener (albaObserver *o) |
|
| albaEventSender () |
|
virtual void | SetListener (albaObserver *o) |
|
virtual albaObserver * | GetListener () |
|
virtual bool | HasListener () |
|
virtual void | InvokeEvent (albaEventBase &e) |
|
virtual void | InvokeEvent (albaEventBase *e) |
|
virtual void | InvokeEvent (void *sender, albaID id=ID_NO_EVENT, void *data=NULL) |
|
|
| albaInteractorGenericInterface () |
|
virtual | ~albaInteractorGenericInterface () |
|
virtual void | EnableTranslationInternal (bool enable) |
|
virtual void | EnableRotationInternal (bool enable) |
|
virtual void | EnableScalingInternal (bool enable) |
|
virtual void | EnableUniformScalingInternal (bool enable) |
|
virtual int | OnStartInteraction (albaEventInteraction *e) |
|
virtual int | OnStopInteraction (albaEventInteraction *e) |
|
virtual void | OnButtonDown (albaEventInteraction *e) |
|
virtual void | OnButtonUp (albaEventInteraction *e) |
|
void | ComputeDisplayToWorld (double x, double y, double z, double worldPt[4]) |
|
void | ComputeWorldToDisplay (double x, double y, double z, double displayPt[3]) |
|
| albaAgent () |
|
virtual | ~albaAgent () |
|
virtual int | InternalInitialize () |
|
virtual void | InternalShutdown () |
|
void | InvokeEvent (albaEventBase &event, albaID channel=-1) |
|
void | InvokeEvent (albaEventBase *event, albaID channel=-1) |
|
void | InvokeEvent (void *sender, int id, albaID channel=MCH_UP, void *data=NULL) |
|
Abstract class for general purpose interactor.
This abstract class defines the interface for a general purpose interactor. Specialized classes should be able to listen to different kind of input devices and implement all the interface functions. Among the other features we have: translation constrains, like projection on an axis or plane, and rotational constrains like rotation around a single axis or translation snapping on specified positions or rotation snap on specified angles. It can also provide movement snapped on predefined positions.
When working unconstrained (default) the interactor makes objects rotate around their center and translate along view axis (i.e. aligned as camera's ViewTransform). This means the TranslationConstraintts has a reference system set to "CAMERA" and the RotationConstraintt has the reference system set to "OBJECT". The interactor uses the pointer to the Renderer to retrieve the camera's ViewTransform and retrieve the object position from the VME pointer. In case this last is NULL the identity (i.e. rotation around the world center is used)
The interactor produces an output matrix (sent by means of MoveActionEvent to the listener) which can be post-multiplied to the original one to obtain a transformed matrix.
By setting the ResultMatrix the interactor will automatically concatenate the transformation matrix to the ResultMatrix.
- See also
-
- Todo:
- togliere shortcut per i vari ref sys (ved todo albaRefSys)
- fare esempi semplici da usare come tutorial
Definition at line 59 of file albaInteractorGenericInterface.h.