|
virtual int | IsA (const char *type) |
|
vtkOrientationMarkerWidget * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
virtual void | SetEnabled (int) |
|
void | ExecuteCameraUpdateEvent (vtkObject *o, unsigned long event, void *calldata) |
|
|
virtual void | SetOrientationMarker (vtkProp *prop) |
|
virtual vtkProp * | GetOrientationMarker () |
|
|
void | SetInteractive (int state) |
|
virtual int | GetInteractive () |
|
virtual void | InteractiveOn () |
|
virtual void | InteractiveOff () |
|
|
void | SetOutlineColor (double r, double g, double b) |
|
double * | GetOutlineColor () |
|
|
void | SetViewport (double minX, double minY, double maxX, double maxY) |
|
void | SetViewport (double viewport[4]) |
|
double * | GetViewport () |
|
|
virtual void | SetTolerance (int) |
|
virtual int | GetTolerance () |
|
vtkInteractorObserver * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
virtual void | OnChar () |
|
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 () |
|
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) |
|
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 () |
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkOrientationMarkerWidget () |
|
| ~vtkOrientationMarkerWidget () |
|
void | OnLeftButtonDown () |
|
void | OnLeftButtonUp () |
|
void | OnMouseMove () |
|
int | ComputeStateBasedOnPosition (int X, int Y, int *pos1, int *pos2) |
|
void | SetCursor (int state) |
|
void | MoveWidget (int X, int Y) |
|
void | ResizeTopLeft (int X, int Y) |
|
void | ResizeTopRight (int X, int Y) |
|
void | ResizeBottomLeft (int X, int Y) |
|
void | ResizeBottomRight (int X, int Y) |
|
void | SquareRenderer () |
|
void | UpdateOutline () |
|
| vtkInteractorObserver () |
|
| ~vtkInteractorObserver () |
|
virtual void | RegisterPickers () |
|
void | UnRegisterPickers () |
|
virtual void | PickersModified () |
|
vtkPickingManager * | GetPickingManager () |
|
int | RequestCursorShape (int requestedShape) |
|
virtual void | StartInteraction () |
|
virtual void | EndInteraction () |
|
void | ComputeDisplayToWorld (double x, double y, double z, double worldPt[4]) |
|
void | ComputeWorldToDisplay (double x, double y, double z, double displayPt[3]) |
|
vtkAssemblyPath * | GetAssemblyPath (double X, double Y, double Z, vtkAbstractPropPicker *picker) |
|
| vtkObject () |
|
virtual | ~vtkObject () |
|
virtual void | RegisterInternal (vtkObjectBase *, int check) |
|
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
|
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
|
void | InternalReleaseFocus () |
|
| vtkObjectBase () |
|
virtual | ~vtkObjectBase () |
|
virtual void | CollectRevisions (ostream &) |
|
virtual void | ReportReferences (vtkGarbageCollector *) |
|
| vtkObjectBase (const vtkObjectBase &) |
|
void | operator= (const vtkObjectBase &) |
|
2D widget for manipulating a marker prop
This class provides support for interactively manipulating the position, size, and apparent orientation of a prop that represents an orientation marker. This class works by adding its internal renderer to an external "parent" renderer on a different layer. The input orientation marker is rendered as an overlay on the parent renderer and, thus, appears superposed over all props in the parent's scene. The camera view of the orientation the marker is made to match that of the parent's by means of an observer mechanism, giving the illusion that the orientation of the marker reflects that of the prop(s) in the parent's scene.
The widget listens to left mouse button and mouse movement events. It will change the cursor shape based on its location. If the cursor is over the overlay renderer, it will change the cursor shape to a SIZEALL shape or to a resize corner shape (e.g., SIZENW) if the cursor is near a corner. If the left mouse button is pressed and held down while moving, the overlay renderer, and hence, the orientation marker, is resized or moved. I the case of a resize operation, releasing the left mouse button causes the widget to enforce its renderer to be square. The diagonally opposite corner to the one moved is repositioned such that all edges of the renderer have the same length: the minimum.
To use this object, there are two key steps: 1) invoke SetInteractor() with the argument of the method a vtkRenderWindowInteractor, and 2) invoke SetOrientationMarker with an instance of vtkProp (see caveats below). Specifically, vtkAxesActor and vtkAnnotatedCubeActor are two classes designed to work with this class. A composite orientation marker can be generated by adding instances of vtkAxesActor and vtkAnnotatedCubeActor to a vtkPropAssembly, which can then be set as the input orientation marker. The widget can be also be set up in a non-interactive fashion by setting Ineractive to Off and sizing/placing the overlay renderer in its parent renderer by calling the widget's SetViewport method.
- Thanks:
- This class was based originally on Paraview's vtkPVAxesWidget.
- Warning
- The input orientation marker prop should calculate its bounds as though they are symmetric about it's origin. This must currently be done to correctly implement the camera synchronization between the ivar renderer and the renderer associated with the set interactor. Importantly, the InteractorStyle associated with the interactor must be of the type vtkInteractorStyle*Camera. Where desirable, the parent renderer should be set by the SetDefaultRenderer method. The parent renderer's number of layers is modified to 2 where required.
- See also
- vtkInteractorObserver vtkXYPlotWidget vtkScalarBarWidget vtkAxesActor vtkAnnotatedCubeActor
- Events:
- vtkCommand::DisableEvent vtkCommand::EndInteractionEvent vtkCommand::InteractionEvent vtkCommand::StartInteractionEvent vtkCommand::EnableEvent
- Examples:
- vtkOrientationMarkerWidget (Examples)
- Tests:
- vtkOrientationMarkerWidget (Tests)
Definition at line 89 of file vtkOrientationMarkerWidget.h.