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

This class represents an axis-aligned Binary Spatial Partitioning of a 3D space. More...

#include <vtkBSPCuts.h>

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

List of all members.

Public Types

typedef vtkDataObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkBSPCutsNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void CreateCuts (double *bounds, int ncuts, int *dim, double *coord, int *lower, int *upper, double *lowerDataCoord, double *upperDataCoord, int *npoints)
void CreateCuts (vtkKdNode *kd)
vtkKdNodeGetKdNodeTree ()
virtual int GetNumberOfCuts ()
int GetArrays (int len, int *dim, double *coord, int *lower, int *upper, double *lowerDataCoord, double *upperDataCoord, int *npoints)
int Equals (vtkBSPCuts *other, double tolerance=0.0)
void PrintTree ()
void PrintArrays ()
virtual void Initialize ()
virtual void ShallowCopy (vtkDataObject *src)
virtual void DeepCopy (vtkDataObject *src)

Static Public Member Functions

static vtkBSPCutsNew ()
static int IsTypeOf (const char *type)
static vtkBSPCutsSafeDownCast (vtkObjectBase *o)
static vtkBSPCutsGetData (vtkInformation *info)
static vtkBSPCutsGetData (vtkInformationVector *v, int i=0)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkBSPCuts ()
 ~vtkBSPCuts ()
void BuildTree (vtkKdNode *kd, int idx)
int WriteArray (vtkKdNode *kd, int loc)
void ResetArrays ()
void AllocateArrays (int size)
 vtkBSPCuts (const vtkBSPCuts &)
void operator= (const vtkBSPCuts &)

Static Protected Member Functions

static void DeleteAllDescendants (vtkKdNode *kd)
static int CountNodes (vtkKdNode *kd)
static void SetMinMaxId (vtkKdNode *kd)
static void _PrintTree (vtkKdNode *kd, int depth)

Protected Attributes

vtkKdNodeTop
int NumberOfCuts
intDim
doubleCoord
intLower
intUpper
doubleLowerDataCoord
doubleUpperDataCoord
intNpoints
double Bounds [6]

Detailed Description

This class represents an axis-aligned Binary Spatial Partitioning of a 3D space.

This class converts between the vtkKdTree representation of a tree of vtkKdNodes (used by vtkDistributedDataFilter) and a compact array representation that might be provided by a graph partitioning library like Zoltan. Such a representation could be used in message passing.

See also:
vtkKdTree vtkKdNode vtkDistributedDataFilter

Definition at line 43 of file vtkBSPCuts.h.


Member Typedef Documentation

Reimplemented from vtkDataObject.

Definition at line 47 of file vtkBSPCuts.h.


Constructor & Destructor Documentation

vtkBSPCuts::vtkBSPCuts ( ) [protected]
vtkBSPCuts::~vtkBSPCuts ( ) [protected]
vtkBSPCuts::vtkBSPCuts ( const vtkBSPCuts ) [protected]

Member Function Documentation

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

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

Reimplemented from vtkDataObject.

static int vtkBSPCuts::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 vtkDataObject.

virtual int vtkBSPCuts::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 vtkDataObject.

Reimplemented from vtkDataObject.

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

Reimplemented from vtkDataObject.

Reimplemented from vtkDataObject.

void vtkBSPCuts::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 vtkDataObject.

void vtkBSPCuts::CreateCuts ( double bounds,
int  ncuts,
int dim,
double coord,
int lower,
int upper,
double lowerDataCoord,
double upperDataCoord,
int npoints 
)

Initialize the cuts with arrays of information. This type of information would be obtained from a graph partitioning software package like Zoltan. bounds - the bounds (xmin, xmax, ymin, ymax, zmin, zmax) of the space being partitioned ncuts - the number cuts, also the size of the following arrays dim - the dimension along which the cut is made (x/y/z - 0/1/2) coord - the location of the cut along the axis lower - array index for the lower region bounded by the cut upper - array index for the upper region bounded by the cut lowerDataCoord - optional upper bound of the data in the lower region upperDataCoord - optional lower bound of the data in the upper region npoints - optional number of points in the spatial region

Initialize the cuts from a tree of vtkKdNode's

Return a tree of vtkKdNode's representing the cuts specified in this object. This is our copy, don't delete it.

Definition at line 75 of file vtkBSPCuts.h.

virtual int vtkBSPCuts::GetNumberOfCuts ( ) [virtual]

Get the number of cuts in the partitioning, which also the size of the arrays in the array representation of the partitioning.

int vtkBSPCuts::GetArrays ( int  len,
int dim,
double coord,
int lower,
int upper,
double lowerDataCoord,
double upperDataCoord,
int npoints 
)

Get the arrays representing the cuts in the partitioning.

int vtkBSPCuts::Equals ( vtkBSPCuts other,
double  tolerance = 0.0 
)

Compare these cuts with those of the other tree. Returns true if the two trees are the same.

static vtkBSPCuts* vtkBSPCuts::GetData ( vtkInformation info) [static]

Retrieve an instance of this class from an information object.

Reimplemented from vtkDataObject.

static vtkBSPCuts* vtkBSPCuts::GetData ( vtkInformationVector v,
int  i = 0 
) [static]

Retrieve an instance of this class from an information object.

Reimplemented from vtkDataObject.

virtual void vtkBSPCuts::Initialize ( ) [virtual]

Restore data object to initial state,

Reimplemented from vtkDataObject.

virtual void vtkBSPCuts::ShallowCopy ( vtkDataObject src) [virtual]

Shallow copy. These copy the data, but not any of the pipeline connections.

Reimplemented from vtkDataObject.

virtual void vtkBSPCuts::DeepCopy ( vtkDataObject src) [virtual]

Shallow copy. These copy the data, but not any of the pipeline connections.

Reimplemented from vtkDataObject.

static void vtkBSPCuts::DeleteAllDescendants ( vtkKdNode kd) [static, protected]
static int vtkBSPCuts::CountNodes ( vtkKdNode kd) [static, protected]
static void vtkBSPCuts::SetMinMaxId ( vtkKdNode kd) [static, protected]
static void vtkBSPCuts::_PrintTree ( vtkKdNode kd,
int  depth 
) [static, protected]
void vtkBSPCuts::BuildTree ( vtkKdNode kd,
int  idx 
) [protected]
int vtkBSPCuts::WriteArray ( vtkKdNode kd,
int  loc 
) [protected]
void vtkBSPCuts::ResetArrays ( ) [protected]
void vtkBSPCuts::AllocateArrays ( int  size) [protected]
void vtkBSPCuts::operator= ( const vtkBSPCuts ) [protected]

Member Data Documentation

vtkKdNode* vtkBSPCuts::Top [protected]

Definition at line 129 of file vtkBSPCuts.h.

Definition at line 133 of file vtkBSPCuts.h.

int* vtkBSPCuts::Dim [protected]

Definition at line 134 of file vtkBSPCuts.h.

double* vtkBSPCuts::Coord [protected]

Definition at line 135 of file vtkBSPCuts.h.

int* vtkBSPCuts::Lower [protected]

Definition at line 136 of file vtkBSPCuts.h.

int* vtkBSPCuts::Upper [protected]

Definition at line 137 of file vtkBSPCuts.h.

Definition at line 141 of file vtkBSPCuts.h.

Definition at line 142 of file vtkBSPCuts.h.

int* vtkBSPCuts::Npoints [protected]

Definition at line 143 of file vtkBSPCuts.h.

double vtkBSPCuts::Bounds[6] [protected]

Definition at line 145 of file vtkBSPCuts.h.


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