VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkBSPCuts Class Reference

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

#include <vtkBSPCuts.h>

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

Public Types

typedef vtkDataObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
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 (vtkObject *o)
 
static vtkBSPCutsGetData (vtkInformation *info)
 
static vtkBSPCutsGetData (vtkInformationVector *v, int i=0)
 

Protected Member Functions

 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
 
int * Dim
 
double * Coord
 
int * Lower
 
int * Upper
 
double * LowerDataCoord
 
double * UpperDataCoord
 
int * Npoints
 
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 42 of file vtkBSPCuts.h.

Member Typedef Documentation

Definition at line 46 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
virtual const char* vtkBSPCuts::GetClassName ( )
virtual
static int vtkBSPCuts::IsTypeOf ( const char *  type)
static
virtual int vtkBSPCuts::IsA ( const char *  type)
virtual
static vtkBSPCuts* vtkBSPCuts::SafeDownCast ( vtkObject o)
static
void vtkBSPCuts::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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

void vtkBSPCuts::CreateCuts ( vtkKdNode kd)

Initialize the cuts from a tree of vtkKdNode's

vtkKdNode* vtkBSPCuts::GetKdNodeTree ( )
inline

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

Definition at line 74 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.

void vtkBSPCuts::PrintTree ( )
void vtkBSPCuts::PrintArrays ( )
static vtkBSPCuts* vtkBSPCuts::GetData ( vtkInformation info)
static

Retrieve an instance of this class from an information object.

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

Retrieve an instance of this class from an information object.

virtual void vtkBSPCuts::Initialize ( )
virtual

Restore data object to initial state,

virtual void vtkBSPCuts::ShallowCopy ( vtkDataObject src)
virtual

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

virtual void vtkBSPCuts::DeepCopy ( vtkDataObject src)
virtual

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

static void vtkBSPCuts::DeleteAllDescendants ( vtkKdNode kd)
staticprotected
static int vtkBSPCuts::CountNodes ( vtkKdNode kd)
staticprotected
static void vtkBSPCuts::SetMinMaxId ( vtkKdNode kd)
staticprotected
static void vtkBSPCuts::_PrintTree ( vtkKdNode kd,
int  depth 
)
staticprotected
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 128 of file vtkBSPCuts.h.

int vtkBSPCuts::NumberOfCuts
protected

Definition at line 132 of file vtkBSPCuts.h.

int* vtkBSPCuts::Dim
protected

Definition at line 133 of file vtkBSPCuts.h.

double* vtkBSPCuts::Coord
protected

Definition at line 134 of file vtkBSPCuts.h.

int* vtkBSPCuts::Lower
protected

Definition at line 135 of file vtkBSPCuts.h.

int* vtkBSPCuts::Upper
protected

Definition at line 136 of file vtkBSPCuts.h.

double* vtkBSPCuts::LowerDataCoord
protected

Definition at line 140 of file vtkBSPCuts.h.

double* vtkBSPCuts::UpperDataCoord
protected

Definition at line 141 of file vtkBSPCuts.h.

int* vtkBSPCuts::Npoints
protected

Definition at line 142 of file vtkBSPCuts.h.

double vtkBSPCuts::Bounds[6]
protected

Definition at line 144 of file vtkBSPCuts.h.


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