SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
3D widget for manipulating an infinite cylinder More...
#include <vtkConeWidget.h>
Public Types | |
typedef vtkAbstractWidget | Superclass |
Standard vtkObject methods. | |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkConeWidget * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
vtkConeWidget (const vtkConeWidget &)=delete | |
vtkConeWidget & | operator= (const vtkConeWidget &)=delete |
void | SetRepresentation (vtkConeRepresentation *rep) |
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene. More... | |
void | SetEnabled (int enabling) override |
Control widget interactivity, allowing users to interact with the camera or other widgets. More... | |
vtkConeRepresentation * | GetConeRepresentation () |
Return the representation as a vtkConeRepresentation. | |
void | CreateDefaultRepresentation () override |
Create the default widget representation if one is not set. | |
Static Public Member Functions | |
static vtkConeWidget * | New () |
Instantiate the object. | |
static int | IsTypeOf (const char *type) |
static vtkConeWidget * | SafeDownCast (vtkObjectBase *o) |
Protected Types | |
enum | _WidgetState { Start = 0, Active } |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
int | UpdateCursorShape (int interactionState) |
Update the cursor shape based on the interaction state. More... | |
Protected Attributes | |
int | WidgetState |
3D widget for manipulating an infinite cylinder
This 3D widget defines an infinite cylinder that can be interactively placed in a scene. The widget is assumed to consist of four parts: 1) a cylinder contained in a 2) bounding box, with a 3) cylinder axis, which is rooted at a 4) center point in the bounding box. (The representation paired with this widget determines the actual geometry of the widget.)
To use this widget, you generally pair it with a vtkConeRepresentation (or a subclass). Various options are available for controlling how the representation appears, and how the widget functions.
If the cylinder axis is selected: LeftButtonPressEvent - select normal LeftButtonReleaseEvent - release (end select) normal MouseMoveEvent - orient the normal vector If the center point (handle) is selected: LeftButtonPressEvent - select handle (if on slider) LeftButtonReleaseEvent - release handle (if selected) MouseMoveEvent - move the center point (constrained to plane or on the axis if CTRL key is pressed) If the cylinder is selected: LeftButtonPressEvent - select cylinder LeftButtonReleaseEvent - release cylinder MouseMoveEvent - increase/decrease cylinder radius If the outline is selected: LeftButtonPressEvent - select outline LeftButtonReleaseEvent - release outline MouseMoveEvent - move the outline If the keypress characters are used 'Down/Left' Move cylinder away from viewer 'Up/Right' Move cylinder towards viewer In all the cases, independent of what is picked, the widget responds to the following VTK events: MiddleButtonPressEvent - move the cylinder MiddleButtonReleaseEvent - release the cylinder RightButtonPressEvent - scale the widget's representation RightButtonReleaseEvent - stop scaling the widget MouseMoveEvent - scale (if right button) or move (if middle button) the widget
vtkWidgetEvent::Select -- some part of the widget has been selected vtkWidgetEvent::EndSelect -- the selection process has completed vtkWidgetEvent::Move -- a request for widget motion has been invoked vtkWidgetEvent::Up and vtkWidgetEvent::Down -- MoveConeAction
vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select) vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect) vtkCommand::InteractionEvent (on vtkWidgetEvent::Move)
|
override |
Control widget interactivity, allowing users to interact with the camera or other widgets.
The camera is unobserved when the widget is disabled.
void vtkConeWidget::SetRepresentation | ( | vtkConeRepresentation * | rep | ) |
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Note that the representation is a subclass of vtkProp so it can be added to the renderer independent of the widget.
|
protected |
Update the cursor shape based on the interaction state.
Returns 1 if the cursor shape requested is different from the existing one.