vtkPlaneSource Class Reference

#include <vtkPlaneSource.h>

Inheritance diagram for vtkPlaneSource:

Inheritance graph
[legend]
Collaboration diagram for vtkPlaneSource:

Collaboration graph
[legend]

List of all members.


Detailed Description

create an array of quadrilaterals located in a plane

vtkPlaneSource creates an m x n array of quadrilaterals arranged as a regular tiling in a plane. The plane is defined by specifying an origin point, and then two other points that, together with the origin, define two axes for the plane. These axes do not have to be orthogonal - so you can create a parallelogram. (The axes must not be parallel.) By default, the plane is centered at the origin and perpendicular to the z-axis, with width and height of length 1. The resolution of the plane (i.e., number of subdivisions) is controlled by the ivars XResolution and YResolution.

There are three convenience methods that allow you to easily move the plane. The first, SetNormal(), allows you to specify the plane normal. The effect of this method is to rotate the plane around the center of the plane, aligning the plane normal with the specified normal. The rotation is about the axis defined by the cross product of the current normal with the new normal. The second, SetCenter(), translates the center of the plane to the specified center point. The third method, Push(), allows you to translate the plane along the plane normal by the distance specified. (Negative Push values translate the plane in the negative normal direction.) Note that the SetNormal(), SetCenter() and Push() methods modify the Origin, Point1, and/or Point2 instance variables.

Warning:
The normal to the plane will point in the direction of the cross product of the first axis (Origin->Point1) with the second (Origin->Point2). This also affects the normals to the generated polygons.
Examples:
vtkPlaneSource (Examples)
Tests:
vtkPlaneSource (Tests)

Definition at line 57 of file vtkPlaneSource.h.


Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent)
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void Push (double distance)
virtual void SetXResolution (int)
virtual int GetXResolution ()
virtual void SetYResolution (int)
virtual int GetYResolution ()
void SetResolution (const int xR, const int yR)
void GetResolution (int &xR, int &yR)
virtual void SetOrigin (double, double, double)
virtual void SetOrigin (double[3])
virtual double * GetOrigin ()
virtual void GetOrigin (double data[3])
void SetPoint1 (double x, double y, double z)
void SetPoint1 (double pnt[3])
virtual double * GetPoint1 ()
virtual void GetPoint1 (double data[3])
void SetPoint2 (double x, double y, double z)
void SetPoint2 (double pnt[3])
virtual double * GetPoint2 ()
virtual void GetPoint2 (double data[3])
void SetCenter (double x, double y, double z)
void SetCenter (double center[3])
virtual double * GetCenter ()
virtual void GetCenter (double data[3])
void SetNormal (double nx, double ny, double nz)
void SetNormal (double n[3])
virtual double * GetNormal ()
virtual void GetNormal (double data[3])

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkPlaneSourceSafeDownCast (vtkObject *o)
static vtkPlaneSourceNew ()

Protected Member Functions

 vtkPlaneSource ()
 ~vtkPlaneSource ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int UpdatePlane (double v1[3], double v2[3])

Protected Attributes

int XResolution
int YResolution
double Origin [3]
double Point1 [3]
double Point2 [3]
double Normal [3]
double Center [3]

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 61 of file vtkPlaneSource.h.


Constructor & Destructor Documentation

vtkPlaneSource::vtkPlaneSource (  )  [protected]

vtkPlaneSource::~vtkPlaneSource (  )  [inline, protected]

Definition at line 130 of file vtkPlaneSource.h.


Member Function Documentation

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

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

static int vtkPlaneSource::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkPlaneSource::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

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

Construct plane perpendicular to z-axis, resolution 1x1, width and height 1.0, and centered at the origin.

Reimplemented from vtkPolyDataAlgorithm.

virtual void vtkPlaneSource::SetXResolution ( int   )  [virtual]

Specify the resolution of the plane along the first axes.

virtual int vtkPlaneSource::GetXResolution (  )  [virtual]

Specify the resolution of the plane along the first axes.

virtual void vtkPlaneSource::SetYResolution ( int   )  [virtual]

Specify the resolution of the plane along the second axes.

virtual int vtkPlaneSource::GetYResolution (  )  [virtual]

Specify the resolution of the plane along the second axes.

void vtkPlaneSource::SetResolution ( const int  xR,
const int  yR 
)

Set the number of x-y subdivisions in the plane.

void vtkPlaneSource::GetResolution ( int &  xR,
int &  yR 
) [inline]

Set the number of x-y subdivisions in the plane.

Definition at line 82 of file vtkPlaneSource.h.

virtual void vtkPlaneSource::SetOrigin ( double  ,
double  ,
double   
) [virtual]

Specify a point defining the origin of the plane.

virtual void vtkPlaneSource::SetOrigin ( double  [3]  )  [virtual]

Specify a point defining the origin of the plane.

virtual double* vtkPlaneSource::GetOrigin (  )  [virtual]

Specify a point defining the origin of the plane.

virtual void vtkPlaneSource::GetOrigin ( double  data[3]  )  [virtual]

Specify a point defining the origin of the plane.

void vtkPlaneSource::SetPoint1 ( double  x,
double  y,
double  z 
)

Specify a point defining the first axis of the plane.

void vtkPlaneSource::SetPoint1 ( double  pnt[3]  ) 

Specify a point defining the first axis of the plane.

virtual double* vtkPlaneSource::GetPoint1 (  )  [virtual]

Specify a point defining the first axis of the plane.

virtual void vtkPlaneSource::GetPoint1 ( double  data[3]  )  [virtual]

Specify a point defining the first axis of the plane.

void vtkPlaneSource::SetPoint2 ( double  x,
double  y,
double  z 
)

Specify a point defining the second axis of the plane.

void vtkPlaneSource::SetPoint2 ( double  pnt[3]  ) 

Specify a point defining the second axis of the plane.

virtual double* vtkPlaneSource::GetPoint2 (  )  [virtual]

Specify a point defining the second axis of the plane.

virtual void vtkPlaneSource::GetPoint2 ( double  data[3]  )  [virtual]

Specify a point defining the second axis of the plane.

void vtkPlaneSource::SetCenter ( double  x,
double  y,
double  z 
)

Set/Get the center of the plane. Works in conjunction with the plane normal to position the plane. Don't use this method to define the plane. Instead, use it to move the plane to a new center point.

void vtkPlaneSource::SetCenter ( double  center[3]  ) 

Set/Get the center of the plane. Works in conjunction with the plane normal to position the plane. Don't use this method to define the plane. Instead, use it to move the plane to a new center point.

virtual double* vtkPlaneSource::GetCenter (  )  [virtual]

Set/Get the center of the plane. Works in conjunction with the plane normal to position the plane. Don't use this method to define the plane. Instead, use it to move the plane to a new center point.

virtual void vtkPlaneSource::GetCenter ( double  data[3]  )  [virtual]

Set/Get the center of the plane. Works in conjunction with the plane normal to position the plane. Don't use this method to define the plane. Instead, use it to move the plane to a new center point.

void vtkPlaneSource::SetNormal ( double  nx,
double  ny,
double  nz 
)

Set/Get the plane normal. Works in conjunction with the plane center to orient the plane. Don't use this method to define the plane. Instead, use it to rotate the plane around the current center point.

void vtkPlaneSource::SetNormal ( double  n[3]  ) 

Set/Get the plane normal. Works in conjunction with the plane center to orient the plane. Don't use this method to define the plane. Instead, use it to rotate the plane around the current center point.

virtual double* vtkPlaneSource::GetNormal (  )  [virtual]

Set/Get the plane normal. Works in conjunction with the plane center to orient the plane. Don't use this method to define the plane. Instead, use it to rotate the plane around the current center point.

virtual void vtkPlaneSource::GetNormal ( double  data[3]  )  [virtual]

Set/Get the plane normal. Works in conjunction with the plane center to orient the plane. Don't use this method to define the plane. Instead, use it to rotate the plane around the current center point.

void vtkPlaneSource::Push ( double  distance  ) 

Translate the plane in the direction of the normal by the distance specified. Negative values move the plane in the opposite direction.

int vtkPlaneSource::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.

int vtkPlaneSource::UpdatePlane ( double  v1[3],
double  v2[3] 
) [protected]


Member Data Documentation

int vtkPlaneSource::XResolution [protected]

Definition at line 134 of file vtkPlaneSource.h.

int vtkPlaneSource::YResolution [protected]

Definition at line 135 of file vtkPlaneSource.h.

double vtkPlaneSource::Origin[3] [protected]

Definition at line 136 of file vtkPlaneSource.h.

double vtkPlaneSource::Point1[3] [protected]

Definition at line 137 of file vtkPlaneSource.h.

double vtkPlaneSource::Point2[3] [protected]

Definition at line 138 of file vtkPlaneSource.h.

double vtkPlaneSource::Normal[3] [protected]

Definition at line 139 of file vtkPlaneSource.h.

double vtkPlaneSource::Center[3] [protected]

Definition at line 140 of file vtkPlaneSource.h.


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

Generated on Sat Dec 27 13:42:16 2008 for VTK by  doxygen 1.5.6