VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkPlane Class Reference

perform various plane computations More...

#include <vtkPlane.h>

Inherits vtkImplicitFunction.

Public Types

typedef vtkImplicitFunction Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkPlaneNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void EvaluateGradient (double x[3], double g[3])
 
void Push (double distance)
 
double EvaluateFunction (double x[3])
 
double EvaluateFunction (double x, double y, double z)
 
virtual void SetNormal (double, double, double)
 
virtual void SetNormal (double[3])
 
virtual double * GetNormal ()
 
virtual void GetNormal (double data[3])
 
virtual void SetOrigin (double, double, double)
 
virtual void SetOrigin (double[3])
 
virtual double * GetOrigin ()
 
virtual void GetOrigin (double data[3])
 

Static Public Member Functions

static vtkPlaneNew ()
 
static int IsTypeOf (const char *type)
 
static vtkPlaneSafeDownCast (vtkObjectBase *o)
 
static double Evaluate (double normal[3], double origin[3], double x[3])
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkPlane ()
 
 ~vtkPlane ()
 

Protected Attributes

double Normal [3]
 
double Origin [3]
 
static void ProjectPoint (double x[3], double origin[3], double normal[3], double xproj[3])
 
void ProjectPoint (double x[3], double xproj[3])
 
static void ProjectVector (double v[3], double origin[3], double normal[3], double vproj[3])
 
void ProjectVector (double v[3], double vproj[3])
 
static void GeneralizedProjectPoint (double x[3], double origin[3], double normal[3], double xproj[3])
 
void GeneralizedProjectPoint (double x[3], double xproj[3])
 
static double DistanceToPlane (double x[3], double n[3], double p0[3])
 
double DistanceToPlane (double x[3])
 
static int IntersectWithLine (double p1[3], double p2[3], double n[3], double p0[3], double &t, double x[3])
 
int IntersectWithLine (double p1[3], double p2[3], double &t, double x[3])
 

Detailed Description

perform various plane computations

vtkPlane provides methods for various plane computations. These include projecting points onto a plane, evaluating the plane equation, and returning plane normal. vtkPlane is a concrete implementation of the abstract class vtkImplicitFunction.

Examples:
vtkPlane (Examples)
Tests:
vtkPlane (Tests)

Definition at line 36 of file vtkPlane.h.

Member Typedef Documentation

typedef vtkImplicitFunction vtkPlane::Superclass

Definition at line 42 of file vtkPlane.h.

Constructor & Destructor Documentation

vtkPlane::vtkPlane ( )
protected
vtkPlane::~vtkPlane ( )
inlineprotected

Definition at line 123 of file vtkPlane.h.

Member Function Documentation

static vtkPlane* vtkPlane::New ( )
static

Construct plane passing through origin and normal to z-axis.

static int vtkPlane::IsTypeOf ( const char *  type)
static
virtual int vtkPlane::IsA ( const char *  type)
virtual
static vtkPlane* vtkPlane::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPlane::NewInstanceInternal ( ) const
protectedvirtual
vtkPlane* vtkPlane::NewInstance ( ) const
void vtkPlane::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
double vtkPlane::EvaluateFunction ( double  x[3])

Evaluate plane equation for point x[3].

double vtkPlane::EvaluateFunction ( double  x,
double  y,
double  z 
)
inline

Evaluate plane equation for point x[3].

Definition at line 48 of file vtkPlane.h.

void vtkPlane::EvaluateGradient ( double  x[3],
double  g[3] 
)

Evaluate function gradient at point x[3].

virtual void vtkPlane::SetNormal ( double  ,
double  ,
double   
)
virtual

Set/get plane normal. Plane is defined by point and normal.

virtual void vtkPlane::SetNormal ( double  [3])
virtual

Set/get plane normal. Plane is defined by point and normal.

virtual double* vtkPlane::GetNormal ( )
virtual

Set/get plane normal. Plane is defined by point and normal.

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

Set/get plane normal. Plane is defined by point and normal.

virtual void vtkPlane::SetOrigin ( double  ,
double  ,
double   
)
virtual

Set/get point through which plane passes. Plane is defined by point and normal.

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

Set/get point through which plane passes. Plane is defined by point and normal.

virtual double* vtkPlane::GetOrigin ( )
virtual

Set/get point through which plane passes. Plane is defined by point and normal.

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

Set/get point through which plane passes. Plane is defined by point and normal.

void vtkPlane::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.

static void vtkPlane::ProjectPoint ( double  x[3],
double  origin[3],
double  normal[3],
double  xproj[3] 
)
static

Project a point x onto plane defined by origin and normal. The projected point is returned in xproj. NOTE : normal assumed to have magnitude 1.

void vtkPlane::ProjectPoint ( double  x[3],
double  xproj[3] 
)

Project a point x onto plane defined by origin and normal. The projected point is returned in xproj. NOTE : normal assumed to have magnitude 1.

static void vtkPlane::ProjectVector ( double  v[3],
double  origin[3],
double  normal[3],
double  vproj[3] 
)
static

Project a vector v onto plane defined by origin and normal. The projected vector is returned in vproj.

void vtkPlane::ProjectVector ( double  v[3],
double  vproj[3] 
)

Project a vector v onto plane defined by origin and normal. The projected vector is returned in vproj.

static void vtkPlane::GeneralizedProjectPoint ( double  x[3],
double  origin[3],
double  normal[3],
double  xproj[3] 
)
static

Project a point x onto plane defined by origin and normal. The projected point is returned in xproj. NOTE : normal does NOT have to have magnitude 1.

void vtkPlane::GeneralizedProjectPoint ( double  x[3],
double  xproj[3] 
)

Project a point x onto plane defined by origin and normal. The projected point is returned in xproj. NOTE : normal does NOT have to have magnitude 1.

double vtkPlane::Evaluate ( double  normal[3],
double  origin[3],
double  x[3] 
)
inlinestatic

Quick evaluation of plane equation n(x-origin)=0.

Definition at line 133 of file vtkPlane.h.

double vtkPlane::DistanceToPlane ( double  x[3],
double  n[3],
double  p0[3] 
)
inlinestatic

Return the distance of a point x to a plane defined by n(x-p0) = 0. The normal n[3] must be magnitude=1.

Definition at line 140 of file vtkPlane.h.

double vtkPlane::DistanceToPlane ( double  x[3])

Return the distance of a point x to a plane defined by n(x-p0) = 0. The normal n[3] must be magnitude=1.

static int vtkPlane::IntersectWithLine ( double  p1[3],
double  p2[3],
double  n[3],
double  p0[3],
double &  t,
double  x[3] 
)
static

Given a line defined by the two points p1,p2; and a plane defined by the normal n and point p0, compute an intersection. The parametric coordinate along the line is returned in t, and the coordinates of intersection are returned in x. A zero is returned if the plane and line do not intersect between (0<=t<=1). If the plane and line are parallel, zero is returned and t is set to VTK_LARGE_DOUBLE.

int vtkPlane::IntersectWithLine ( double  p1[3],
double  p2[3],
double &  t,
double  x[3] 
)

Given a line defined by the two points p1,p2; and a plane defined by the normal n and point p0, compute an intersection. The parametric coordinate along the line is returned in t, and the coordinates of intersection are returned in x. A zero is returned if the plane and line do not intersect between (0<=t<=1). If the plane and line are parallel, zero is returned and t is set to VTK_LARGE_DOUBLE.

Member Data Documentation

double vtkPlane::Normal[3]
protected

Definition at line 123 of file vtkPlane.h.

double vtkPlane::Origin[3]
protected

Definition at line 126 of file vtkPlane.h.


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