VTK
|
A vtkPlanesIntersection object is a vtkPlanes object that can compute whether the arbitrary convex region bounded by it's planes intersects an axis-aligned box. More...
#include <vtkPlanesIntersection.h>
A vtkPlanesIntersection object is a vtkPlanes object that can compute whether the arbitrary convex region bounded by it's planes intersects an axis-aligned box.
A subclass of vtkPlanes, this class determines whether it intersects an axis aligned box. This is motivated by the need to intersect the axis aligned region of a spacial decomposition of volume data with various other regions. It uses the algorithm from Graphics Gems IV, page 81.
Definition at line 51 of file vtkPlanesIntersection.h.
vtkPlanesIntersection::vtkPlanesIntersection | ( | ) | [protected] |
vtkPlanesIntersection::~vtkPlanesIntersection | ( | ) | [protected] |
static int vtkPlanesIntersection::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 vtkPlanes.
virtual int vtkPlanesIntersection::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 vtkPlanes.
static vtkPlanesIntersection* vtkPlanesIntersection::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkPlanes.
virtual vtkObjectBase* vtkPlanesIntersection::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkPlanes.
Reimplemented from vtkPlanes.
void vtkPlanesIntersection::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
static vtkPlanesIntersection* vtkPlanesIntersection::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkPlanes.
void vtkPlanesIntersection::SetRegionVertices | ( | vtkPoints * | pts | ) |
It helps if you know the vertices of the convex region. If you don't, we will calculate them. Region vertices are 3-tuples.
void vtkPlanesIntersection::SetRegionVertices | ( | double * | v, |
int | nvertices | ||
) |
int vtkPlanesIntersection::GetRegionVertices | ( | double * | v, |
int | nvertices | ||
) |
Return 1 if the axis aligned box defined by R intersects the region defined by the planes, or 0 otherwise.
static int vtkPlanesIntersection::PolygonIntersectsBBox | ( | double | bounds[6], |
vtkPoints * | pts | ||
) | [static] |
A convenience function provided by this class, returns 1 if the polygon defined in pts intersects the bounding box defined in bounds, 0 otherwise. The points must define a planar polygon.
static vtkPlanesIntersection* vtkPlanesIntersection::Convert3DCell | ( | vtkCell * | cell | ) | [static] |
Another convenience function provided by this class, returns the vtkPlanesIntersection object representing a 3D cell. The point IDs for each face must be given in counter-clockwise order from the outside of the cell.
static void vtkPlanesIntersection::ComputeNormal | ( | double * | p1, |
double * | p2, | ||
double * | p3, | ||
double | normal[3] | ||
) | [static, protected] |
static double vtkPlanesIntersection::EvaluatePlaneEquation | ( | double * | x, |
double * | p | ||
) | [static, protected] |
static void vtkPlanesIntersection::PlaneEquation | ( | double * | n, |
double * | x, | ||
double * | p | ||
) | [static, protected] |
static int vtkPlanesIntersection::GoodNormal | ( | double * | n | ) | [static, protected] |
static int vtkPlanesIntersection::Invert3x3 | ( | double | M[3][3] | ) | [static, protected] |