VTK
|
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor More...
#include <vtkInteractorObserver.h>
Public Types | |
typedef vtkObject | Superclass |
Public Types inherited from vtkObject | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkInteractorObserver * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | OnChar () |
virtual void | SetEnabled (int) |
int | GetEnabled () |
void | EnabledOn () |
void | EnabledOff () |
void | On () |
void | Off () |
virtual void | SetInteractor (vtkRenderWindowInteractor *iren) |
virtual vtkRenderWindowInteractor * | GetInteractor () |
virtual void | SetPriority (float) |
virtual float | GetPriority () |
virtual void | PickingManagedOn () |
virtual void | PickingManagedOff () |
virtual void | SetPickingManaged (bool) |
virtual bool | GetPickingManaged () |
virtual void | SetKeyPressActivation (int) |
virtual int | GetKeyPressActivation () |
virtual void | KeyPressActivationOn () |
virtual void | KeyPressActivationOff () |
virtual void | SetKeyPressActivationValue (char) |
virtual char | GetKeyPressActivationValue () |
virtual vtkRenderer * | GetDefaultRenderer () |
virtual void | SetDefaultRenderer (vtkRenderer *) |
virtual vtkRenderer * | GetCurrentRenderer () |
virtual void | SetCurrentRenderer (vtkRenderer *) |
void | GrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | ReleaseFocus () |
Public Member Functions inherited from vtkObject | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkInteractorObserver * | SafeDownCast (vtkObjectBase *o) |
static void | ComputeDisplayToWorld (vtkRenderer *ren, double x, double y, double z, double worldPt[4]) |
static void | ComputeWorldToDisplay (vtkRenderer *ren, double x, double y, double z, double displayPt[3]) |
Static Public Member Functions inherited from vtkObject | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Static Protected Member Functions | |
static void | ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata) |
Protected Attributes | |
int | Enabled |
vtkCallbackCommand * | EventCallbackCommand |
vtkCallbackCommand * | KeyPressCallbackCommand |
float | Priority |
bool | PickingManaged |
int | KeyPressActivation |
char | KeyPressActivationValue |
vtkRenderWindowInteractor * | Interactor |
vtkRenderer * | CurrentRenderer |
vtkRenderer * | DefaultRenderer |
unsigned long | CharObserverTag |
unsigned long | DeleteObserverTag |
vtkObserverMediator * | ObserverMediator |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor
vtkInteractorObserver is an abstract superclass for subclasses that observe events invoked by vtkRenderWindowInteractor. These subclasses are typically things like 3D widgets; objects that interact with actors in the scene, or interactively probe the scene for information.
vtkInteractorObserver defines the method SetInteractor() and enables and disables the processing of events by the vtkInteractorObserver. Use the methods EnabledOn() or SetEnabled(1) to turn on the interactor observer, and the methods EnabledOff() or SetEnabled(0) to turn off the interactor. Initial value is 0.
To support interactive manipulation of objects, this class (and subclasses) invoke the events StartInteractionEvent, InteractionEvent, and EndInteractionEvent. These events are invoked when the vtkInteractorObserver enters a state where rapid response is desired: mouse motion, etc. The events can be used, for example, to set the desired update frame rate (StartInteractionEvent), operate on data or update a pipeline (InteractionEvent), and set the desired frame rate back to normal values (EndInteractionEvent). Two other events, EnableEvent and DisableEvent, are invoked when the interactor observer is enabled or disabled.
Definition at line 61 of file vtkInteractorObserver.h.
Definition at line 64 of file vtkInteractorObserver.h.
|
protected |
|
protected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkContourWidget, vtkInteractorStyle, vtkImagePlaneWidget, vtkBiDimensionalWidget, vtkSplineWidget, vtkBoxWidget2, vtkBrokenLineWidget, vtkImplicitPlaneWidget2, vtkPlaneWidget, vtkInteractorStyleUnicam, vtkSphereWidget2, vtkBoxWidget, vtkLineWidget2, vtkAxesTransformWidget, vtkLineWidget, vtkImplicitPlaneWidget, vtkRectilinearWipeWidget, vtkAngleWidget, vtkBalloonWidget, vtkDistanceWidget, vtkBorderWidget, vtkImageTracerWidget, vtkCenteredSliderWidget, vtkOrientationMarkerWidget, vtkSeedWidget, vtkInteractorStyleImage, vtkPointWidget, vtkSliderWidget, vtkHoverWidget, vtkSphereWidget, vtkHandleWidget, vtkCompassWidget, vtkAffineWidget, vtkContinuousValueWidget, vtkButtonWidget, vtk3DWidget, vtkInteractorStyleTerrain, vtkAbstractWidget, vtkCheckerboardWidget, vtkParallelopipedWidget, vtkCaptionWidget, vtkResliceCursorWidget, vtkParallelCoordinatesInteractorStyle, vtkInteractorStyleSwitch, vtkInteractorStyleTreeMapHover, vtkInteractorStyleFlight, vtkGeoInteractorStyle, vtkInteractorStyleRubberBand2D, vtkCameraWidget, vtkImageCroppingRegionsWidget, vtkInteractorStyleAreaSelectHover, vtkInteractorStyleTrackballCamera, vtkInteractorStyleRubberBand3D, vtkInteractorStyleJoystickActor, vtkInteractorStyleTrackballActor, vtkInteractorStyleUser, vtkScalarBarWidget, vtkTensorProbeWidget, vtkTextWidget, vtkInteractorEventRecorder, vtkInteractorStyleJoystickCamera, vtkLogoWidget, vtkPlaybackWidget, vtkPolyDataSourceWidget, vtkInteractorStyleRubberBandPick, vtkXYPlotWidget, vtkInteractorStyleMultiTouchCamera, vtkPolyLineWidget, vtkSplineWidget2, vtkContextInteractorStyle, vtkInteractorStyleDrawPolygon, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitchBase, and vtkInteractorStyleTrackball.
|
static |
|
protectedvirtual |
Reimplemented from vtkObject.
Reimplemented in vtkContourWidget, vtkInteractorStyle, vtkImagePlaneWidget, vtkBiDimensionalWidget, vtkSplineWidget, vtkBoxWidget2, vtkBrokenLineWidget, vtkImplicitPlaneWidget2, vtkPlaneWidget, vtkInteractorStyleUnicam, vtkSphereWidget2, vtkBoxWidget, vtkLineWidget2, vtkAxesTransformWidget, vtkLineWidget, vtkImplicitPlaneWidget, vtkRectilinearWipeWidget, vtkAngleWidget, vtkBalloonWidget, vtkDistanceWidget, vtkBorderWidget, vtkImageTracerWidget, vtkCenteredSliderWidget, vtkOrientationMarkerWidget, vtkSeedWidget, vtkInteractorStyleImage, vtkPointWidget, vtkSliderWidget, vtkHoverWidget, vtkSphereWidget, vtkHandleWidget, vtkCompassWidget, vtkAffineWidget, vtkContinuousValueWidget, vtkButtonWidget, vtk3DWidget, vtkInteractorStyleTerrain, vtkAbstractWidget, vtkCheckerboardWidget, vtkParallelopipedWidget, vtkCaptionWidget, vtkResliceCursorWidget, vtkParallelCoordinatesInteractorStyle, vtkInteractorStyleSwitch, vtkInteractorStyleTreeMapHover, vtkInteractorStyleFlight, vtkGeoInteractorStyle, vtkInteractorStyleRubberBand2D, vtkCameraWidget, vtkImageCroppingRegionsWidget, vtkInteractorStyleAreaSelectHover, vtkInteractorStyleTrackballCamera, vtkInteractorStyleRubberBand3D, vtkInteractorStyleJoystickActor, vtkInteractorStyleTrackballActor, vtkInteractorStyleUser, vtkScalarBarWidget, vtkTensorProbeWidget, vtkTextWidget, vtkInteractorEventRecorder, vtkInteractorStyleJoystickCamera, vtkLogoWidget, vtkPlaybackWidget, vtkPolyDataSourceWidget, vtkInteractorStyleRubberBandPick, vtkXYPlotWidget, vtkInteractorStyleMultiTouchCamera, vtkPolyLineWidget, vtkSplineWidget2, vtkContextInteractorStyle, vtkInteractorStyleDrawPolygon, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitchBase, and vtkInteractorStyleTrackball.
vtkInteractorObserver* vtkInteractorObserver::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkInteractorStyle, vtkInteractorStyleTreeMapHover, vtkInteractorStyleAreaSelectHover, vtkContextInteractorStyle, and vtkInteractorStyleSwitchBase.
|
inlinevirtual |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Reimplemented in vtkInteractorStyle, vtkContourWidget, vtkImagePlaneWidget, vtkImplicitPlaneWidget2, vtkBiDimensionalWidget, vtkSplineWidget, vtkBrokenLineWidget, vtkPlaneWidget, vtkBoxWidget, vtkLineWidget2, vtkAxesTransformWidget, vtkAffineWidget, vtkLineWidget, vtkAngleWidget, vtkBalloonWidget, vtkHoverWidget, vtkImplicitPlaneWidget, vtkDistanceWidget, vtkOrientationMarkerWidget, vtkSeedWidget, vtkImageTracerWidget, vtkPointWidget, vtkSphereWidget, vtkResliceCursorWidget, vtkAbstractWidget, vtkCheckerboardWidget, vtkParallelopipedWidget, vtkCaptionWidget, vtkImageCroppingRegionsWidget, vtkXYPlotWidget, and vtkInteractorEventRecorder.
Definition at line 74 of file vtkInteractorObserver.h.
|
inline |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Definition at line 75 of file vtkInteractorObserver.h.
|
inline |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Definition at line 76 of file vtkInteractorObserver.h.
|
inline |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Definition at line 77 of file vtkInteractorObserver.h.
|
inline |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Definition at line 78 of file vtkInteractorObserver.h.
|
inline |
Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()). Initial value is 0.
Definition at line 79 of file vtkInteractorObserver.h.
|
virtual |
This method is used to associate the widget with the render window interactor. Observers of the appropriate events invoked in the render window interactor are set up as a result of this method invocation. The SetInteractor() method must be invoked prior to enabling the vtkInteractorObserver. It automatically registers available pickers to the Picking Manager.
Reimplemented in vtkInteractorStyle, vtkSeedWidget, vtkInteractorStyleTreeMapHover, vtkGeoInteractorStyle, vtkInteractorStyleAreaSelectHover, vtkInteractorStyleSwitch, and vtkInteractorEventRecorder.
|
virtual |
This method is used to associate the widget with the render window interactor. Observers of the appropriate events invoked in the render window interactor are set up as a result of this method invocation. The SetInteractor() method must be invoked prior to enabling the vtkInteractorObserver. It automatically registers available pickers to the Picking Manager.
Reimplemented in vtkInteractorStyleSwitchBase.
|
virtual |
Set/Get the priority at which events are processed. This is used when multiple interactor observers are used simultaneously. The default value is 0.0 (lowest priority.) Note that when multiple interactor observer have the same priority, then the last observer added will process the event first. (Note: once the SetInteractor() method has been called, changing the priority does not effect event processing. You will have to SetInteractor(NULL), change priority, and then SetInteractor(iren) to have the priority take effect.)
Reimplemented in vtkAbstractWidget.
|
virtual |
Set/Get the priority at which events are processed. This is used when multiple interactor observers are used simultaneously. The default value is 0.0 (lowest priority.) Note that when multiple interactor observer have the same priority, then the last observer added will process the event first. (Note: once the SetInteractor() method has been called, changing the priority does not effect event processing. You will have to SetInteractor(NULL), change priority, and then SetInteractor(iren) to have the priority take effect.)
|
virtual |
Enable/Disable the use of a manager to process the picking. Enabled by default.
|
virtual |
Enable/Disable the use of a manager to process the picking. Enabled by default.
|
virtual |
Enable/Disable the use of a manager to process the picking. Enabled by default.
|
virtual |
Enable/Disable the use of a manager to process the picking. Enabled by default.
|
virtual |
Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)
|
virtual |
Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)
|
virtual |
Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)
|
virtual |
Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)
|
virtual |
Specify which key press value to use to activate the interactor observer (if key press activation is enabled). By default, the key press activation value is 'i'. Note: once the SetInteractor() method is invoked, changing the key press activation value will not affect the key press until SetInteractor(NULL)/SetInteractor(iren) is called.
|
virtual |
Specify which key press value to use to activate the interactor observer (if key press activation is enabled). By default, the key press activation value is 'i'. Note: once the SetInteractor() method is invoked, changing the key press activation value will not affect the key press until SetInteractor(NULL)/SetInteractor(iren) is called.
|
virtual |
Set/Get the default renderer to use when activating the interactor observer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used. Alternatively, you can specify the renderer to bind the interactor to when the interactor observer is activated.
|
virtual |
Set/Get the default renderer to use when activating the interactor observer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used. Alternatively, you can specify the renderer to bind the interactor to when the interactor observer is activated.
Reimplemented in vtkInteractorStyleSwitch.
|
virtual |
Set/Get the current renderer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used and assigned to this Ivar. Alternatively, you might want to set the CurrentRenderer explicitly. WARNING: note that if the DefaultRenderer Ivar is set (see above), it will always override the parameter passed to SetCurrentRenderer, unless it is NULL. (i.e., SetCurrentRenderer(foo) = SetCurrentRenderer(DefaultRenderer).
|
virtual |
Set/Get the current renderer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used and assigned to this Ivar. Alternatively, you might want to set the CurrentRenderer explicitly. WARNING: note that if the DefaultRenderer Ivar is set (see above), it will always override the parameter passed to SetCurrentRenderer, unless it is NULL. (i.e., SetCurrentRenderer(foo) = SetCurrentRenderer(DefaultRenderer).
Reimplemented in vtkGeoInteractorStyle, vtkSeedWidget, and vtkInteractorStyleSwitch.
|
virtual |
Sets up the keypress-i event.
Reimplemented in vtkImagePlaneWidget, vtkInteractorStyle, vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkParallelCoordinatesInteractorStyle, vtkInteractorStyleUser, vtkContextInteractorStyle, vtkInteractorStyleTerrain, vtkInteractorStyleSwitch, vtkGeoInteractorStyle, and vtkInteractorStyleRubberBandPick.
|
static |
Convenience methods for outside classes. Make sure that the parameter "ren" is not-null.
|
static |
Convenience methods for outside classes. Make sure that the parameter "ren" is not-null.
void vtkInteractorObserver::GrabFocus | ( | vtkCommand * | mouseEvents, |
vtkCommand * | keypressEvents = NULL |
||
) |
These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor. (This method is typically used by widgets to grab events once an event sequence begins.) The GrabFocus() signature takes up to two vtkCommands corresponding to mouse events and keypress events. (These two commands are separated so that the widget can listen for its activation keypress, as well as listening for DeleteEvents, without actually having to process mouse events.)
void vtkInteractorObserver::ReleaseFocus | ( | ) |
These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor. (This method is typically used by widgets to grab events once an event sequence begins.) The GrabFocus() signature takes up to two vtkCommands corresponding to mouse events and keypress events. (These two commands are separated so that the widget can listen for its activation keypress, as well as listening for DeleteEvents, without actually having to process mouse events.)
|
protectedvirtual |
Utility routines used to start and end interaction. For example, it switches the display update rate. It does not invoke the corresponding events.
|
protectedvirtual |
Utility routines used to start and end interaction. For example, it switches the display update rate. It does not invoke the corresponding events.
|
staticprotected |
Handles the char widget activation event. Also handles the delete event.
|
protected |
Helper method for subclasses.
|
protected |
Helper method for subclasses.
|
protectedvirtual |
Register internal Pickers in the Picking Manager. Must be reimplemented by concrete widgets to register their pickers.
Reimplemented in vtkImagePlaneWidget, vtkImageTracerWidget, vtkImplicitPlaneWidget, vtkPlaneWidget, vtkSplineWidget, vtkBrokenLineWidget, vtkBoxWidget, vtkSphereWidget, vtkPointWidget, vtkLineWidget, and vtkBalloonWidget.
|
protected |
Unregister internal pickers from the Picking Manager.
|
protectedvirtual |
Update the pickers registered in the Picking Manager when pickers are modified.
|
protected |
Return the picking manager associated on the context on which the observer currently belong.
|
protected |
Proceed to a pick, whether through the PickingManager if the picking is managed or directly using the picker, and return the assembly path.
|
protected |
Definition at line 216 of file vtkInteractorObserver.h.
|
protected |
Definition at line 219 of file vtkInteractorObserver.h.
|
protected |
Definition at line 220 of file vtkInteractorObserver.h.
|
protected |
Definition at line 223 of file vtkInteractorObserver.h.
|
protected |
Definition at line 227 of file vtkInteractorObserver.h.
|
protected |
Definition at line 253 of file vtkInteractorObserver.h.
|
protected |
Definition at line 254 of file vtkInteractorObserver.h.
|
protected |
Definition at line 257 of file vtkInteractorObserver.h.
|
protected |
Definition at line 260 of file vtkInteractorObserver.h.
|
protected |
Definition at line 261 of file vtkInteractorObserver.h.
|
protected |
Definition at line 263 of file vtkInteractorObserver.h.
|
protected |
Definition at line 264 of file vtkInteractorObserver.h.
|
protected |
Definition at line 267 of file vtkInteractorObserver.h.