vtkSplineRepresentation Class Reference

#include <vtkSplineRepresentation.h>

Inheritance diagram for vtkSplineRepresentation:

Inheritance graph
[legend]
Collaboration diagram for vtkSplineRepresentation:

Collaboration graph
[legend]

List of all members.


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 52 of file vtkSplineRepresentation.h.


Public Types

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

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
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])
double * GetHandlePosition (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 double * GetBounds ()
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 (vtkObject *o)

Protected Member Functions

 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 &)
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]

Member Typedef Documentation

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

Definition at line 56 of file vtkSplineRepresentation.h.


Member Enumeration Documentation

Enumerator:
Outside 
OnHandle 
OnLine 
Moving 
Scaling 
Spinning 
Inserting 
Erasing 

Definition at line 60 of file vtkSplineRepresentation.h.


Constructor & Destructor Documentation

vtkSplineRepresentation::vtkSplineRepresentation (  )  [protected]

vtkSplineRepresentation::~vtkSplineRepresentation (  )  [protected]


Member Function Documentation

static vtkSplineRepresentation* vtkSplineRepresentation::New (  )  [static]

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

Reimplemented from vtkObject.

virtual const char* vtkSplineRepresentation::GetClassName (  )  [virtual]

Standard methods for instances of this class.

Reimplemented from vtkWidgetRepresentation.

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.

static vtkSplineRepresentation* vtkSplineRepresentation::SafeDownCast ( vtkObject o  )  [static]

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 orginally 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 int vtkSplineRepresentation::GetProjectToPlane (  )  [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 orginally 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 orginally 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 orginally 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.

void vtkSplineRepresentation::SetPlaneSource ( vtkPlaneSource plane  ) 

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

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

virtual int vtkSplineRepresentation::GetProjectionNormal (  )  [virtual]

void vtkSplineRepresentation::SetProjectionNormalToXAxes (  )  [inline]

Definition at line 93 of file vtkSplineRepresentation.h.

void vtkSplineRepresentation::SetProjectionNormalToYAxes (  )  [inline]

Definition at line 95 of file vtkSplineRepresentation.h.

void vtkSplineRepresentation::SetProjectionNormalToZAxes (  )  [inline]

Definition at line 97 of file vtkSplineRepresentation.h.

void vtkSplineRepresentation::SetProjectionNormalToOblique (  )  [inline]

Definition at line 99 of file vtkSplineRepresentation.h.

void vtkSplineRepresentation::SetProjectionPosition ( double  position  ) 

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.

virtual double vtkSplineRepresentation::GetProjectionPosition (  )  [virtual]

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.

void vtkSplineRepresentation::GetPolyData ( vtkPolyData pd  ) 

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.

virtual vtkProperty* vtkSplineRepresentation::GetHandleProperty (  )  [virtual]

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

virtual vtkProperty* vtkSplineRepresentation::GetSelectedHandleProperty (  )  [virtual]

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

virtual vtkProperty* vtkSplineRepresentation::GetLineProperty (  )  [virtual]

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

virtual vtkProperty* vtkSplineRepresentation::GetSelectedLineProperty (  )  [virtual]

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.

virtual int vtkSplineRepresentation::GetNumberOfHandles (  )  [virtual]

Set/Get the number of handles for this widget.

void vtkSplineRepresentation::SetResolution ( int  resolution  ) 

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

virtual int vtkSplineRepresentation::GetResolution (  )  [virtual]

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

virtual void vtkSplineRepresentation::SetParametricSpline ( vtkParametricSpline  )  [virtual]

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.

virtual vtkParametricSpline* vtkSplineRepresentation::GetParametricSpline (  )  [virtual]

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.

void vtkSplineRepresentation::SetHandlePosition ( int  handle,
double  x,
double  y,
double  z 
)

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.

double* vtkSplineRepresentation::GetHandlePosition ( int  handle  ) 

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

vtkDoubleArray* vtkSplineRepresentation::GetHandlePositions (  ) 

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

void vtkSplineRepresentation::SetClosed ( int  closed  ) 

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.

int vtkSplineRepresentation::IsClosed (  ) 

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).

double vtkSplineRepresentation::GetSummedLength (  ) 

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.

void vtkSplineRepresentation::InitializeHandles ( vtkPoints points  ) 

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.

virtual void vtkSplineRepresentation::BuildRepresentation (  )  [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.

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.

virtual double* vtkSplineRepresentation::GetBounds (  )  [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::ReleaseGraphicsResources ( vtkWindow  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

virtual int vtkSplineRepresentation::RenderOpaqueGeometry ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSplineRepresentation::RenderTranslucentPolygonalGeometry ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSplineRepresentation::RenderOverlay ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSplineRepresentation::HasTranslucentPolygonalGeometry (  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

void vtkSplineRepresentation::SetLineColor ( double  r,
double  g,
double  b 
)

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

void vtkSplineRepresentation::ProjectPointsToPlane (  )  [protected]

void vtkSplineRepresentation::ProjectPointsToOrthoPlane (  )  [protected]

void vtkSplineRepresentation::ProjectPointsToObliquePlane (  )  [protected]

void vtkSplineRepresentation::HighlightLine ( int  highlight  )  [protected]

void vtkSplineRepresentation::Initialize (  )  [protected]

int vtkSplineRepresentation::HighlightHandle ( vtkProp prop  )  [protected]

virtual void vtkSplineRepresentation::SizeHandles (  )  [protected, virtual]

void vtkSplineRepresentation::InsertHandleOnLine ( double *  pos  )  [protected]

void vtkSplineRepresentation::EraseHandle ( const int &   )  [protected]

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]

void vtkSplineRepresentation::CreateDefaultProperties (  )  [protected]

void vtkSplineRepresentation::CalculateCentroid (  )  [protected]


Member Data Documentation

Definition at line 226 of file vtkSplineRepresentation.h.

double vtkSplineRepresentation::Bounds[6] [protected]

Definition at line 227 of file vtkSplineRepresentation.h.

Definition at line 230 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 241 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 247 of file vtkSplineRepresentation.h.

Definition at line 249 of file vtkSplineRepresentation.h.

Definition at line 252 of file vtkSplineRepresentation.h.

Definition at line 253 of file vtkSplineRepresentation.h.

Definition at line 261 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 274 of file vtkSplineRepresentation.h.

Definition at line 278 of file vtkSplineRepresentation.h.

Definition at line 279 of file vtkSplineRepresentation.h.

Definition at line 280 of file vtkSplineRepresentation.h.

Definition at line 281 of file vtkSplineRepresentation.h.

double vtkSplineRepresentation::Centroid[3] [protected]

Definition at line 285 of file vtkSplineRepresentation.h.


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

Generated on Wed Aug 24 12:08:05 2011 for VTK by  doxygen 1.5.6