vtkBSPCuts Class Reference

#include <vtkBSPCuts.h>

Inheritance diagram for vtkBSPCuts:

Inheritance graph
[legend]
Collaboration diagram for vtkBSPCuts:

Collaboration graph
[legend]

List of all members.


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.


Public Types

typedef vtkObject 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 ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkBSPCutsSafeDownCast (vtkObject *o)
static vtkBSPCutsNew ()

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]

Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 45 of file vtkBSPCuts.h.


Constructor & Destructor Documentation

vtkBSPCuts::vtkBSPCuts (  )  [protected]

vtkBSPCuts::~vtkBSPCuts (  )  [protected]

vtkBSPCuts::vtkBSPCuts ( const vtkBSPCuts  )  [protected]


Member Function Documentation

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

Reimplemented from vtkObject.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

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

Reimplemented from vtkObject.

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 vtkObject.

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

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

Reimplemented from vtkObject.

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 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.

void vtkBSPCuts::PrintTree (  ) 

void vtkBSPCuts::PrintArrays (  ) 

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 111 of file vtkBSPCuts.h.

int vtkBSPCuts::NumberOfCuts [protected]

Definition at line 115 of file vtkBSPCuts.h.

int* vtkBSPCuts::Dim [protected]

Definition at line 116 of file vtkBSPCuts.h.

double* vtkBSPCuts::Coord [protected]

Definition at line 117 of file vtkBSPCuts.h.

int* vtkBSPCuts::Lower [protected]

Definition at line 118 of file vtkBSPCuts.h.

int* vtkBSPCuts::Upper [protected]

Definition at line 119 of file vtkBSPCuts.h.

double* vtkBSPCuts::LowerDataCoord [protected]

Definition at line 123 of file vtkBSPCuts.h.

double* vtkBSPCuts::UpperDataCoord [protected]

Definition at line 124 of file vtkBSPCuts.h.

int* vtkBSPCuts::Npoints [protected]

Definition at line 125 of file vtkBSPCuts.h.

double vtkBSPCuts::Bounds[6] [protected]

Definition at line 127 of file vtkBSPCuts.h.


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

Generated on Wed Jun 3 18:55:28 2009 for VTK by  doxygen 1.5.6