#include <vtkBSPIntersections.h>
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.
Definition at line 43 of file vtkBSPIntersections.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 | SetCuts (vtkBSPCuts *cuts) |
virtual vtkBSPCuts * | GetCuts () |
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 vtkBSPIntersections * | SafeDownCast (vtkObject *o) |
static vtkBSPIntersections * | New () |
Protected Types | |
enum | { XDIM = 0, YDIM = 1, ZDIM = 2 } |
Protected Member Functions | |
vtkBSPIntersections () | |
~vtkBSPIntersections () | |
virtual unsigned long | GetRegionListBuildTime () |
int | BuildRegionList () |
vtkKdNode ** | GetRegionList () |
Protected Attributes | |
double | CellBoundsCache [6] |
anonymous enum [protected] |
vtkBSPIntersections::vtkBSPIntersections | ( | ) | [protected] |
vtkBSPIntersections::~vtkBSPIntersections | ( | ) | [protected] |
virtual const char* vtkBSPIntersections::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkObject.
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 vtkTypeRevisionMacro 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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
static vtkBSPIntersections* vtkBSPIntersections::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkObject.
void vtkBSPIntersections::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
static vtkBSPIntersections* vtkBSPIntersections::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
void vtkBSPIntersections::SetCuts | ( | vtkBSPCuts * | cuts | ) |
Define the binary spatial partitioning.
virtual vtkBSPCuts* vtkBSPIntersections::GetCuts | ( | ) | [virtual] |
int vtkBSPIntersections::GetBounds | ( | double * | bounds | ) |
Get the bounds of the whole space (xmin, xmax, ymin, ymax, zmin, zmax) Return 0 if OK, 1 on error.
int vtkBSPIntersections::GetNumberOfRegions | ( | ) |
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.
int vtkBSPIntersections::IntersectsBox | ( | int | regionId, | |
double * | x | |||
) |
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.
virtual int vtkBSPIntersections::GetComputeIntersectionsUsingDataBounds | ( | ) | [virtual] |
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.)
void vtkBSPIntersections::SetComputeIntersectionsUsingDataBounds | ( | int | c | ) |
void vtkBSPIntersections::ComputeIntersectionsUsingDataBoundsOn | ( | ) |
void vtkBSPIntersections::ComputeIntersectionsUsingDataBoundsOff | ( | ) |
virtual unsigned long vtkBSPIntersections::GetRegionListBuildTime | ( | ) | [protected, virtual] |
int vtkBSPIntersections::BuildRegionList | ( | ) | [protected] |
vtkKdNode** vtkBSPIntersections::GetRegionList | ( | ) | [inline, protected] |
Definition at line 140 of file vtkBSPIntersections.h.
double vtkBSPIntersections::CellBoundsCache[6] [protected] |
Definition at line 142 of file vtkBSPIntersections.h.