#include <vtkContourWidget.h>
The vtkContourWidget is used to select a set of points, and draw lines between these points. The contour may be opened or closed, depending on how the last point is added. The widget handles all processing of widget events (that are triggered by VTK events). The vtkContourRepresentation is responsible for all placement of the points, calculation of the lines, and contour manipulation. This is done through two main helper classes: vtkPointPlacer and vtkContourLineInterpolator. The representation is also responsible for drawing the points and lines.
LeftButtonPressEvent - triggers a Select event RightButtonPressEvent - triggers a AddFinalPoint event MouseMoveEvent - triggers a Move event LeftButtonReleaseEvent - triggers an EndSelect event Delete key event - triggers a Delete event
vtkWidgetEvent::Select widget state is: Start or Define: If we already have at least 2 nodes, test whether the current (X,Y) location is near an existing node. If so, close the contour and change to Manipulate state. Otherwise, attempt to add a node at this (X,Y) location. Manipulate: If this (X,Y) location activates a node, then set the current operation to Translate. Otherwise, if this location is near the contour, attempt to add a new node on the contour at this (X,Y) location.
vtkWidgetEvent::AddFinalPoint widget state is: Start: Do nothing. Define: If we already have at least 2 nodes, test whether the current (X,Y) location is near an existing node. If so, close the contour and change to Manipulate state. Otherwise, attempt to add a node at this (X,Y) location. If we do, then leave the contour open and change to Manipulate state. Manipulate: Do nothing.
vtkWidgetEvent::Move widget state is: Start or Define: Do nothing. Manipulate: If our operation is Translate, then invoke WidgetInteraction() on the representation. If our operation is Inactive, then just attempt to activate a node at this (X,Y) location.
vtkWidgetEvent::EndSelect widget state is: Start or Define: Do nothing. Manipulate: If our operation is not Inactive, set it to Inactive.
vtkWidgetEvent::Delete widget state is: Start: Do nothing. Define: Remove the last point on the contour. Manipulate: Attempt to activate a node at (X,Y). If we do activate a node, delete it. If we now have less than 3 nodes, go back to Define state.
vtkCommand::StartInteractionEvent (beginning to interact) vtkCommand::EndInteractionEvent (completing interaction) vtkCommand::InteractionEvent (moving after selecting something) vtkCommand::PlacePointEvent (after point is positioned; call data includes handle id (0,1)) vtkCommand::WidgetValueChangedEvent (Invoked when the contour is closed for the first time. )
Definition at line 127 of file vtkContourWidget.h.
typedef vtkAbstractWidget | Superclass |
static int | IsTypeOf (const char *type) |
static vtkContourWidget * | SafeDownCast (vtkObject *o) |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
Public Member Functions | |
virtual void | SetEnabled (int) |
void | CreateDefaultRepresentation () |
virtual void | Initialize (vtkPolyData *, int state=1) |
void | SetRepresentation (vtkContourRepresentation *r) |
Static Public Member Functions | |
static vtkContourWidget * | New () |
Protected Types | |
enum | { Start, Define, Manipulate } |
Protected Member Functions | |
vtkContourWidget () | |
~vtkContourWidget () | |
void | SelectNode () |
void | AddNode () |
Static Protected Member Functions | |
static void | SelectAction (vtkAbstractWidget *) |
static void | AddFinalPointAction (vtkAbstractWidget *) |
static void | MoveAction (vtkAbstractWidget *) |
static void | EndSelectAction (vtkAbstractWidget *) |
static void | DeleteAction (vtkAbstractWidget *) |
static void | TranslateContourAction (vtkAbstractWidget *) |
static void | ScaleContourAction (vtkAbstractWidget *) |
Protected Attributes | |
int | WidgetState |
int | CurrentHandle |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
Definition at line 135 of file vtkContourWidget.h.
anonymous enum [protected] |
vtkContourWidget::vtkContourWidget | ( | ) | [protected] |
vtkContourWidget::~vtkContourWidget | ( | ) | [protected] |
static vtkContourWidget* vtkContourWidget::New | ( | ) | [static] |
Instantiate this class.
Reimplemented from vtkObject.
virtual const char* vtkContourWidget::GetClassName | ( | ) | [virtual] |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
static int vtkContourWidget::IsTypeOf | ( | const char * | type | ) | [static] |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
virtual int vtkContourWidget::IsA | ( | const char * | type | ) | [virtual] |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
static vtkContourWidget* vtkContourWidget::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
void vtkContourWidget::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Standard methods for a VTK class.
Reimplemented from vtkAbstractWidget.
virtual void vtkContourWidget::SetEnabled | ( | int | ) | [virtual] |
The method for activiating and deactiviating this widget. This method must be overridden because it is a composite widget and does more than its superclasses' vtkAbstractWidget::SetEnabled() method.
Reimplemented from vtkAbstractWidget.
void vtkContourWidget::SetRepresentation | ( | vtkContourRepresentation * | r | ) | [inline] |
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.
Definition at line 148 of file vtkContourWidget.h.
void vtkContourWidget::CreateDefaultRepresentation | ( | ) | [virtual] |
Create the default widget representation if one is not set.
Implements vtkAbstractWidget.
virtual void vtkContourWidget::Initialize | ( | vtkPolyData * | , | |
int | state = 1 | |||
) | [virtual] |
Initialize the contour widget from a user supplied set of points. The state of the widget decides if you are still defining the widget, or if you've finished defining (added the last point) are manipulating it. Note that if the polydata supplied is closed, the state will be set to manipulate. State: Define = 0, Manipulate = 1.
static void vtkContourWidget::SelectAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::AddFinalPointAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::MoveAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::EndSelectAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::DeleteAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::TranslateContourAction | ( | vtkAbstractWidget * | ) | [static, protected] |
static void vtkContourWidget::ScaleContourAction | ( | vtkAbstractWidget * | ) | [static, protected] |
void vtkContourWidget::SelectNode | ( | ) | [protected] |
void vtkContourWidget::AddNode | ( | ) | [protected] |
int vtkContourWidget::WidgetState [protected] |
Definition at line 171 of file vtkContourWidget.h.
int vtkContourWidget::CurrentHandle [protected] |
Definition at line 172 of file vtkContourWidget.h.