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

implicit function for convex set of planes More...

#include <vtkPlanes.h>

Inheritance diagram for vtkPlanes:
[legend]
Collaboration diagram for vtkPlanes:
[legend]

List of all members.

Public Types

typedef vtkImplicitFunction Superclass
- Public Types inherited from vtkImplicitFunction
- Public Types inherited from vtkObject

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void EvaluateGradient (double x[3], double n[3])
void SetFrustumPlanes (double planes[24])
int GetNumberOfPlanes ()
double EvaluateFunction (double x[3])
double EvaluateFunction (double x, double y, double z)
virtual void SetPoints (vtkPoints *)
virtual vtkPointsGetPoints ()
void SetNormals (vtkDataArray *normals)
virtual vtkDataArrayGetNormals ()
void SetBounds (double bounds[6])
void SetBounds (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
vtkPlaneGetPlane (int i)
void GetPlane (int i, vtkPlane *plane)
- Public Member Functions inherited from vtkImplicitFunction
unsigned long GetMTime ()
double FunctionValue (const double x[3])
double FunctionValue (double x, double y, double z)
void FunctionGradient (const double x[3], double g[3])
double * FunctionGradient (const double x[3])
double * FunctionGradient (double x, double y, double z)
virtual void SetTransform (vtkAbstractTransform *)
virtual void SetTransform (const double elements[16])
virtual vtkAbstractTransformGetTransform ()
- Public Member Functions inherited from vtkObject
virtual void DebugOn ()
virtual void DebugOff ()
unsigned char GetDebug ()
void SetDebug (unsigned char debugFlag)
virtual void Modified ()
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommandGetCommand (unsigned long tag)
void RemoveObserver (vtkCommand *)
void RemoveObservers (unsigned long event, vtkCommand *)
void RemoveObservers (const char *event, vtkCommand *)
int HasObserver (unsigned long event, vtkCommand *)
int HasObserver (const char *event, vtkCommand *)
void RemoveObserver (unsigned long tag)
void RemoveObservers (unsigned long event)
void RemoveObservers (const char *event)
void RemoveAllObservers ()
int HasObserver (unsigned long event)
int HasObserver (const char *event)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
int InvokeEvent (unsigned long event, void *callData)
int InvokeEvent (const char *event, void *callData)
int InvokeEvent (unsigned long event)
int InvokeEvent (const char *event)
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
virtual void Delete ()
virtual void FastDelete ()
void Print (ostream &os)
virtual void Register (vtkObjectBase *o)
virtual void UnRegister (vtkObjectBase *o)
void SetReferenceCount (int)
void PrintRevisions (ostream &os)
virtual void PrintHeader (ostream &os, vtkIndent indent)
virtual void PrintTrailer (ostream &os, vtkIndent indent)
int GetReferenceCount ()

Static Public Member Functions

static vtkPlanesNew ()
static int IsTypeOf (const char *type)
static vtkPlanesSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkPlanes ()
 ~vtkPlanes ()
- Protected Member Functions inherited from vtkImplicitFunction
 vtkImplicitFunction ()
 ~vtkImplicitFunction ()
- Protected Member Functions inherited from vtkObject
 vtkObject ()
virtual ~vtkObject ()
virtual void RegisterInternal (vtkObjectBase *, int check)
virtual void UnRegisterInternal (vtkObjectBase *, int check)
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void InternalReleaseFocus ()
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void CollectRevisions (ostream &os)
virtual void ReportReferences (vtkGarbageCollector *)
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

Protected Attributes

vtkPointsPoints
vtkDataArrayNormals
vtkPlanePlane
- Protected Attributes inherited from vtkImplicitFunction
vtkAbstractTransformTransform
double ReturnValue [3]
- Protected Attributes inherited from vtkObject
unsigned char Debug
vtkTimeStamp MTime
vtkSubjectHelper * SubjectHelper
- Protected Attributes inherited from vtkObjectBase
int ReferenceCount
vtkWeakPointerBase ** WeakPointers

Detailed Description

implicit function for convex set of planes

vtkPlanes computes the implicit function and function gradient for a set of planes. The planes must define a convex space.

The function value is the closest first order distance of a point to the convex region defined by the planes. The function gradient is the plane normal at the function value. Note that the normals must point outside of the convex region. Thus, a negative function value means that a point is inside the convex region.

There are several methods to define the set of planes. The most general is to supply an instance of vtkPoints and an instance of vtkDataArray. (The points define a point on the plane, and the normals corresponding plane normals.) Two other specialized ways are to 1) supply six planes defining the view frustrum of a camera, and 2) provide a bounding box.

See also:
vtkCamera
Examples:
vtkPlanes (Examples)
Tests:
vtkPlanes (Tests)

Definition at line 52 of file vtkPlanes.h.


Member Typedef Documentation

Reimplemented from vtkImplicitFunction.

Definition at line 56 of file vtkPlanes.h.


Constructor & Destructor Documentation

vtkPlanes::vtkPlanes ( )
protected
vtkPlanes::~vtkPlanes ( )
protected

Member Function Documentation

static vtkPlanes* vtkPlanes::New ( )
static

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

Reimplemented from vtkObject.

Reimplemented in vtkPlanesIntersection.

virtual const char* vtkPlanes::GetClassName ( )
virtual

Reimplemented from vtkImplicitFunction.

static int vtkPlanes::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

virtual int vtkPlanes::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

static vtkPlanes* vtkPlanes::SafeDownCast ( vtkObject o)
static

Reimplemented from vtkImplicitFunction.

void vtkPlanes::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 vtkImplicitFunction.

Reimplemented in vtkPlanesIntersection.

double vtkPlanes::EvaluateFunction ( double  x[3])
virtual

Evaluate plane equations. Return smallest absolute value.

Implements vtkImplicitFunction.

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

Evaluate plane equations. Return smallest absolute value.

Reimplemented from vtkImplicitFunction.

Definition at line 62 of file vtkPlanes.h.

void vtkPlanes::EvaluateGradient ( double  x[3],
double  n[3] 
)
virtual

Evaluate planes gradient.

Implements vtkImplicitFunction.

virtual void vtkPlanes::SetPoints ( vtkPoints )
virtual

Specify a list of points defining points through which the planes pass.

virtual vtkPoints* vtkPlanes::GetPoints ( )
virtual

Specify a list of points defining points through which the planes pass.

void vtkPlanes::SetNormals ( vtkDataArray normals)

Specify a list of normal vectors for the planes. There is a one-to-one correspondence between plane points and plane normals.

virtual vtkDataArray* vtkPlanes::GetNormals ( )
virtual

Specify a list of normal vectors for the planes. There is a one-to-one correspondence between plane points and plane normals.

void vtkPlanes::SetFrustumPlanes ( double  planes[24])

An alternative method to specify six planes defined by the camera view frustrum. See vtkCamera::GetFrustumPlanes() documentation.

void vtkPlanes::SetBounds ( double  bounds[6])

An alternative method to specify six planes defined by a bounding box. The bounding box is a six-vector defined as (xmin,xmax,ymin,ymax,zmin,zmax). It defines six planes orthogonal to the x-y-z coordinate axes.

void vtkPlanes::SetBounds ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)

An alternative method to specify six planes defined by a bounding box. The bounding box is a six-vector defined as (xmin,xmax,ymin,ymax,zmin,zmax). It defines six planes orthogonal to the x-y-z coordinate axes.

int vtkPlanes::GetNumberOfPlanes ( )

Return the number of planes in the set of planes.

vtkPlane* vtkPlanes::GetPlane ( int  i)

Create and return a pointer to a vtkPlane object at the ith position. Asking for a plane outside the allowable range returns NULL. This method always returns the same object. Use GetPlane(int i, vtkPlane *plane) instead

void vtkPlanes::GetPlane ( int  i,
vtkPlane plane 
)

Create and return a pointer to a vtkPlane object at the ith position. Asking for a plane outside the allowable range returns NULL. This method always returns the same object. Use GetPlane(int i, vtkPlane *plane) instead


Member Data Documentation

vtkPoints* vtkPlanes::Points
protected

Definition at line 113 of file vtkPlanes.h.

vtkDataArray* vtkPlanes::Normals
protected

Definition at line 114 of file vtkPlanes.h.

vtkPlane* vtkPlanes::Plane
protected

Definition at line 115 of file vtkPlanes.h.


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