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

Perform calculations (mostly intersection calculations) on regions of a 3D binary spatial partitioning. More...

#include <vtkBSPIntersections.h>

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

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkBSPIntersectionsNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void SetCuts (vtkBSPCuts *cuts)
virtual vtkBSPCutsGetCuts ()
int GetBounds (double *bounds)
int GetNumberOfRegions ()
int GetRegionBounds (int regionID, double bounds[6])
int GetRegionDataBounds (int regionID, double bounds[6])
int IntersectsCell (int regionId, vtkCell *cell, int cellRegion=-1)
int IntersectsCell (int *ids, int len, vtkCell *cell, int cellRegion=-1)
virtual int GetComputeIntersectionsUsingDataBounds ()
void SetComputeIntersectionsUsingDataBounds (int c)
void ComputeIntersectionsUsingDataBoundsOn ()
void ComputeIntersectionsUsingDataBoundsOff ()
int IntersectsBox (int regionId, double *x)
int IntersectsBox (int regionId, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
int IntersectsBox (int *ids, int len, double *x)
int IntersectsBox (int *ids, int len, double x0, double x1, double y0, double y1, double z0, double z1)
int IntersectsSphere2 (int regionId, double x, double y, double z, double rSquared)
int IntersectsSphere2 (int *ids, int len, double x, double y, double z, double rSquared)

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkBSPIntersectionsSafeDownCast (vtkObjectBase *o)
static vtkBSPIntersectionsNew ()

Protected Types

enum  { XDIM = 0, YDIM = 1, ZDIM = 2 }

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkBSPIntersections ()
 ~vtkBSPIntersections ()
virtual unsigned long GetRegionListBuildTime ()
int BuildRegionList ()
vtkKdNode ** GetRegionList ()

Protected Attributes

double CellBoundsCache [6]

Detailed Description

Perform calculations (mostly intersection calculations) on regions of a 3D binary spatial partitioning.

Given an axis aligned binary spatial partitioning described by a vtkBSPCuts object, perform intersection queries on various geometric entities with regions of the spatial partitioning.

See also:
vtkBSPCuts vtkKdTree

Definition at line 44 of file vtkBSPIntersections.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 47 of file vtkBSPIntersections.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
XDIM 
YDIM 
ZDIM 

Definition at line 146 of file vtkBSPIntersections.h.


Constructor & Destructor Documentation


Member Function Documentation

static int vtkBSPIntersections::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 vtkObject.

virtual int vtkBSPIntersections::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 vtkObject.

Reimplemented from vtkObject.

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

Reimplemented from vtkObject.

Reimplemented from vtkObject.

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

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

Reimplemented from vtkObject.

Define the binary spatial partitioning.

virtual vtkBSPCuts* vtkBSPIntersections::GetCuts ( ) [virtual]

Get the bounds of the whole space (xmin, xmax, ymin, ymax, zmin, zmax) Return 0 if OK, 1 on error.

The number of regions in the binary spatial partitioning

int vtkBSPIntersections::GetRegionBounds ( int  regionID,
double  bounds[6] 
)

Get the spatial bounds of a particular region Return 0 if OK, 1 on error.

int vtkBSPIntersections::GetRegionDataBounds ( int  regionID,
double  bounds[6] 
)

Get the bounds of the data within the k-d tree region, possibly smaller than the bounds of the region. Return 0 if OK, 1 on error.

Determine whether a region of the spatial decomposition intersects an axis aligned box.

int vtkBSPIntersections::IntersectsBox ( int  regionId,
double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)

Determine whether a region of the spatial decomposition intersects an axis aligned box.

int vtkBSPIntersections::IntersectsBox ( int ids,
int  len,
double x 
)

Compute a list of the Ids of all regions that intersect the specified axis aligned box. Returns: the number of ids in the list.

int vtkBSPIntersections::IntersectsBox ( int ids,
int  len,
double  x0,
double  x1,
double  y0,
double  y1,
double  z0,
double  z1 
)

Compute a list of the Ids of all regions that intersect the specified axis aligned box. Returns: the number of ids in the list.

int vtkBSPIntersections::IntersectsSphere2 ( int  regionId,
double  x,
double  y,
double  z,
double  rSquared 
)

Determine whether a region of the spatial decomposition intersects a sphere, given the center of the sphere and the square of it's radius.

int vtkBSPIntersections::IntersectsSphere2 ( int ids,
int  len,
double  x,
double  y,
double  z,
double  rSquared 
)

Compute a list of the Ids of all regions that intersect the specified sphere. The sphere is given by it's center and the square of it's radius. Returns: the number of ids in the list.

int vtkBSPIntersections::IntersectsCell ( int  regionId,
vtkCell cell,
int  cellRegion = -1 
)

Determine whether a region of the spatial decomposition intersects the given cell. If you already know the region that the cell centroid lies in, provide that as the last argument to make the computation quicker.

int vtkBSPIntersections::IntersectsCell ( int ids,
int  len,
vtkCell cell,
int  cellRegion = -1 
)

Compute a list of the Ids of all regions that intersect the given cell. If you alrady know the region that the cell centroid lies in, provide that as the last argument to make the computation quicker. Returns the number of regions the cell intersects.

When computing the intersection of k-d tree regions with other objects, we use the spatial bounds of the region. To use the tighter bound of the bounding box of the data within the region, set this variable ON. (Specifying data bounds in the vtkBSPCuts object is optional. If data bounds were not specified, this option has no meaning.)

virtual unsigned long vtkBSPIntersections::GetRegionListBuildTime ( ) [protected, virtual]
vtkKdNode** vtkBSPIntersections::GetRegionList ( ) [inline, protected]

Definition at line 141 of file vtkBSPIntersections.h.


Member Data Documentation

Definition at line 143 of file vtkBSPIntersections.h.


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