VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkSplineRepresentation Class Reference

vtkWidgetRepresentation for a spline. More...

#include <vtkSplineRepresentation.h>

Inheritance diagram for vtkSplineRepresentation:
Inheritance graph
[legend]
Collaboration diagram for vtkSplineRepresentation:
Collaboration graph
[legend]

List of all members.

Public Types

enum  _InteractionState {
  Outside = 0, OnHandle, OnLine, Moving,
  Scaling, Spinning, Inserting, Erasing
}
typedef vtkWidgetRepresentation Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkSplineRepresentationNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetInteractionState (int)
void SetPlaneSource (vtkPlaneSource *plane)
virtual void SetProjectionNormal (int)
virtual int GetProjectionNormal ()
void SetProjectionNormalToXAxes ()
void SetProjectionNormalToYAxes ()
void SetProjectionNormalToZAxes ()
void SetProjectionNormalToOblique ()
void GetPolyData (vtkPolyData *pd)
int IsClosed ()
double GetSummedLength ()
void InitializeHandles (vtkPoints *points)
void SetLineColor (double r, double g, double b)
virtual void SetProjectToPlane (int)
virtual int GetProjectToPlane ()
virtual void ProjectToPlaneOn ()
virtual void ProjectToPlaneOff ()
void SetProjectionPosition (double position)
virtual double GetProjectionPosition ()
virtual vtkPropertyGetHandleProperty ()
virtual vtkPropertyGetSelectedHandleProperty ()
virtual vtkPropertyGetLineProperty ()
virtual vtkPropertyGetSelectedLineProperty ()
virtual void SetNumberOfHandles (int npts)
virtual int GetNumberOfHandles ()
void SetResolution (int resolution)
virtual int GetResolution ()
virtual void SetParametricSpline (vtkParametricSpline *)
virtual vtkParametricSplineGetParametricSpline ()
void SetHandlePosition (int handle, double x, double y, double z)
void SetHandlePosition (int handle, double xyz[3])
void GetHandlePosition (int handle, double xyz[3])
doubleGetHandlePosition (int handle)
vtkDoubleArrayGetHandlePositions ()
void SetClosed (int closed)
virtual int GetClosed ()
virtual void ClosedOn ()
virtual void ClosedOff ()
virtual void BuildRepresentation ()
virtual int ComputeInteractionState (int X, int Y, int modify=0)
virtual void StartWidgetInteraction (double e[2])
virtual void WidgetInteraction (double e[2])
virtual void EndWidgetInteraction (double e[2])
virtual doubleGetBounds ()
virtual void ReleaseGraphicsResources (vtkWindow *)
virtual int RenderOpaqueGeometry (vtkViewport *)
virtual int RenderTranslucentPolygonalGeometry (vtkViewport *)
virtual int RenderOverlay (vtkViewport *)
virtual int HasTranslucentPolygonalGeometry ()

Static Public Member Functions

static vtkSplineRepresentationNew ()
static int IsTypeOf (const char *type)
static vtkSplineRepresentationSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkSplineRepresentation ()
 ~vtkSplineRepresentation ()
void ProjectPointsToPlane ()
void ProjectPointsToOrthoPlane ()
void ProjectPointsToObliquePlane ()
void HighlightLine (int highlight)
void Initialize ()
int HighlightHandle (vtkProp *prop)
virtual void SizeHandles ()
void InsertHandleOnLine (double *pos)
void EraseHandle (const int &)
virtual void RegisterPickers ()
void MovePoint (double *p1, double *p2)
void Scale (double *p1, double *p2, int X, int Y)
void Translate (double *p1, double *p2)
void Spin (double *p1, double *p2, double *vpn)
void CreateDefaultProperties ()
void CalculateCentroid ()

Protected Attributes

double LastEventPosition [3]
double Bounds [6]
int ProjectionNormal
double ProjectionPosition
int ProjectToPlane
vtkPlaneSourcePlaneSource
vtkParametricSplineParametricSpline
vtkParametricFunctionSourceParametricFunctionSource
int NumberOfHandles
int Closed
vtkActorLineActor
int Resolution
vtkActor ** Handle
vtkSphereSource ** HandleGeometry
vtkCellPickerHandlePicker
vtkCellPickerLinePicker
double LastPickPosition [3]
vtkActorCurrentHandle
int CurrentHandleIndex
vtkTransformTransform
vtkPropertyHandleProperty
vtkPropertySelectedHandleProperty
vtkPropertyLineProperty
vtkPropertySelectedLineProperty
double Centroid [3]

Detailed Description

vtkWidgetRepresentation for a spline.

vtkSplineRepresentation is a vtkWidgetRepresentation for a spline. This 3D widget defines a spline that can be interactively placed in a scene. The spline has handles, the number of which can be changed, plus it can be picked on the spline itself to translate or rotate it in the scene. This is based on vtkSplineWidget.

See also:
vtkSplineWidget, vtkSplineWidget2
Tests:
vtkSplineRepresentation (Tests)

Definition at line 53 of file vtkSplineRepresentation.h.


Member Typedef Documentation

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

Definition at line 57 of file vtkSplineRepresentation.h.


Member Enumeration Documentation

Enumerator:
Outside 
OnHandle 
OnLine 
Moving 
Scaling 
Spinning 
Inserting 
Erasing 

Definition at line 61 of file vtkSplineRepresentation.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkSplineRepresentation::IsTypeOf ( const char *  type) [static]

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

virtual int vtkSplineRepresentation::IsA ( const char *  type) [virtual]

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

virtual vtkObjectBase* vtkSplineRepresentation::NewInstanceInternal ( ) const [protected, virtual]

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

void vtkSplineRepresentation::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSplineRepresentation::SetInteractionState ( int  ) [virtual]
virtual void vtkSplineRepresentation::SetProjectToPlane ( int  ) [virtual]

Force the spline widget to be projected onto one of the orthogonal planes. Remember that when the InteractionState changes, a ModifiedEvent is invoked. This can be used to snap the spline to the plane if it is originally not aligned. The normal in SetProjectionNormal is 0,1,2 for YZ,XZ,XY planes respectively and 3 for arbitrary oblique planes when the widget is tied to a vtkPlaneSource.

Force the spline widget to be projected onto one of the orthogonal planes. Remember that when the InteractionState changes, a ModifiedEvent is invoked. This can be used to snap the spline to the plane if it is originally not aligned. The normal in SetProjectionNormal is 0,1,2 for YZ,XZ,XY planes respectively and 3 for arbitrary oblique planes when the widget is tied to a vtkPlaneSource.

virtual void vtkSplineRepresentation::ProjectToPlaneOn ( ) [virtual]

Force the spline widget to be projected onto one of the orthogonal planes. Remember that when the InteractionState changes, a ModifiedEvent is invoked. This can be used to snap the spline to the plane if it is originally not aligned. The normal in SetProjectionNormal is 0,1,2 for YZ,XZ,XY planes respectively and 3 for arbitrary oblique planes when the widget is tied to a vtkPlaneSource.

virtual void vtkSplineRepresentation::ProjectToPlaneOff ( ) [virtual]

Force the spline widget to be projected onto one of the orthogonal planes. Remember that when the InteractionState changes, a ModifiedEvent is invoked. This can be used to snap the spline to the plane if it is originally not aligned. The normal in SetProjectionNormal is 0,1,2 for YZ,XZ,XY planes respectively and 3 for arbitrary oblique planes when the widget is tied to a vtkPlaneSource.

Set up a reference to a vtkPlaneSource that could be from another widget object, e.g. a vtkPolyDataSourceWidget.

virtual void vtkSplineRepresentation::SetProjectionNormal ( int  ) [virtual]

Definition at line 94 of file vtkSplineRepresentation.h.

Definition at line 96 of file vtkSplineRepresentation.h.

Definition at line 98 of file vtkSplineRepresentation.h.

Definition at line 100 of file vtkSplineRepresentation.h.

Set the position of spline handles and points in terms of a plane's position. i.e., if ProjectionNormal is 0, all of the x-coordinate values of the points are set to position. Any value can be passed (and is ignored) to update the spline points when Projection normal is set to 3 for arbritrary plane orientations.

Set the position of spline handles and points in terms of a plane's position. i.e., if ProjectionNormal is 0, all of the x-coordinate values of the points are set to position. Any value can be passed (and is ignored) to update the spline points when Projection normal is set to 3 for arbritrary plane orientations.

Grab the polydata (including points) that defines the spline. The polydata consists of points and line segments numbering Resolution + 1 and Resoltuion, respectively. Points are guaranteed to be up-to-date when either the InteractionEvent or EndInteraction events are invoked. The user provides the vtkPolyData and the points and polyline are added to it.

Set/Get the handle properties (the spheres are the handles). The properties of the handles when selected and unselected can be manipulated.

Set/Get the handle properties (the spheres are the handles). The properties of the handles when selected and unselected can be manipulated.

Set/Get the line properties. The properties of the line when selected and unselected can be manipulated.

Set/Get the line properties. The properties of the line when selected and unselected can be manipulated.

virtual void vtkSplineRepresentation::SetNumberOfHandles ( int  npts) [virtual]

Set/Get the number of handles for this widget.

Set/Get the number of handles for this widget.

Set/Get the number of line segments representing the spline for this widget.

Set/Get the number of line segments representing the spline for this widget.

Set the parametric spline object. Through vtkParametricSpline's API, the user can supply and configure one of currently two types of spline: vtkCardinalSpline, vtkKochanekSpline. The widget controls the open or closed configuration of the spline. WARNING: The widget does not enforce internal consistency so that all three are of the same type.

Set the parametric spline object. Through vtkParametricSpline's API, the user can supply and configure one of currently two types of spline: vtkCardinalSpline, vtkKochanekSpline. The widget controls the open or closed configuration of the spline. WARNING: The widget does not enforce internal consistency so that all three are of the same type.

Set/Get the position of the spline handles. Call GetNumberOfHandles to determine the valid range of handle indices.

void vtkSplineRepresentation::SetHandlePosition ( int  handle,
double  xyz[3] 
)

Set/Get the position of the spline handles. Call GetNumberOfHandles to determine the valid range of handle indices.

void vtkSplineRepresentation::GetHandlePosition ( int  handle,
double  xyz[3] 
)

Set/Get the position of the spline handles. Call GetNumberOfHandles to determine the valid range of handle indices.

Set/Get the position of the spline handles. Call GetNumberOfHandles to determine the valid range of handle indices.

Set/Get the position of the spline handles. Call GetNumberOfHandles to determine the valid range of handle indices.

Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous. A minimum of 3 handles are required to form a closed loop. This method enforces consistency with user supplied subclasses of vtkSpline.

virtual int vtkSplineRepresentation::GetClosed ( ) [virtual]

Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous. A minimum of 3 handles are required to form a closed loop. This method enforces consistency with user supplied subclasses of vtkSpline.

virtual void vtkSplineRepresentation::ClosedOn ( ) [virtual]

Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous. A minimum of 3 handles are required to form a closed loop. This method enforces consistency with user supplied subclasses of vtkSpline.

virtual void vtkSplineRepresentation::ClosedOff ( ) [virtual]

Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous. A minimum of 3 handles are required to form a closed loop. This method enforces consistency with user supplied subclasses of vtkSpline.

Convenience method to determine whether the spline is closed in a geometric sense. The widget may be set "closed" but still be geometrically open (e.g., a straight line).

Get the approximate vs. the true arc length of the spline. Calculated as the summed lengths of the individual straight line segments. Use SetResolution to control the accuracy.

Convenience method to allocate and set the handles from a vtkPoints instance. If the first and last points are the same, the spline sets Closed to the on InteractionState and disregards the last point, otherwise Closed remains unchanged.

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Implements vtkWidgetRepresentation.

virtual int vtkSplineRepresentation::ComputeInteractionState ( int  X,
int  Y,
int  modify = 0 
) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSplineRepresentation::StartWidgetInteraction ( double  e[2]) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSplineRepresentation::WidgetInteraction ( double  e[2]) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSplineRepresentation::EndWidgetInteraction ( double  e[2]) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

Convenience method to set the line color. Ideally one should use GetLineProperty()->SetColor().

void vtkSplineRepresentation::HighlightLine ( int  highlight) [protected]
virtual void vtkSplineRepresentation::SizeHandles ( ) [protected, virtual]
void vtkSplineRepresentation::EraseHandle ( const int ) [protected]
virtual void vtkSplineRepresentation::RegisterPickers ( ) [protected, virtual]

Register internal Pickers in the Picking Manager. Must be reimplemented by concrete widget representations to register their pickers.

Reimplemented from vtkWidgetRepresentation.

void vtkSplineRepresentation::MovePoint ( double p1,
double p2 
) [protected]
void vtkSplineRepresentation::Scale ( double p1,
double p2,
int  X,
int  Y 
) [protected]
void vtkSplineRepresentation::Translate ( double p1,
double p2 
) [protected]
void vtkSplineRepresentation::Spin ( double p1,
double p2,
double vpn 
) [protected]

Member Data Documentation

Definition at line 227 of file vtkSplineRepresentation.h.

Definition at line 228 of file vtkSplineRepresentation.h.

Definition at line 231 of file vtkSplineRepresentation.h.

Definition at line 232 of file vtkSplineRepresentation.h.

Definition at line 233 of file vtkSplineRepresentation.h.

Definition at line 234 of file vtkSplineRepresentation.h.

Definition at line 242 of file vtkSplineRepresentation.h.

Definition at line 243 of file vtkSplineRepresentation.h.

Definition at line 244 of file vtkSplineRepresentation.h.

Definition at line 245 of file vtkSplineRepresentation.h.

Definition at line 248 of file vtkSplineRepresentation.h.

Definition at line 250 of file vtkSplineRepresentation.h.

Definition at line 253 of file vtkSplineRepresentation.h.

Definition at line 254 of file vtkSplineRepresentation.h.

Definition at line 262 of file vtkSplineRepresentation.h.

Definition at line 263 of file vtkSplineRepresentation.h.

Definition at line 264 of file vtkSplineRepresentation.h.

Definition at line 265 of file vtkSplineRepresentation.h.

Definition at line 266 of file vtkSplineRepresentation.h.

Definition at line 278 of file vtkSplineRepresentation.h.

Definition at line 282 of file vtkSplineRepresentation.h.

Definition at line 283 of file vtkSplineRepresentation.h.

Definition at line 284 of file vtkSplineRepresentation.h.

Definition at line 285 of file vtkSplineRepresentation.h.

Definition at line 289 of file vtkSplineRepresentation.h.


The documentation for this class was generated from the following file: