VTK
Public Member Functions | Protected Attributes
vtkBoundingBox Class Reference

Fast Simple Class for dealing with 3D bounds. More...

#include <vtkBoundingBox.h>

List of all members.

Public Member Functions

 vtkBoundingBox (const vtkBoundingBox &bbox)
vtkBoundingBoxoperator= (const vtkBoundingBox &bbox)
void AddBox (const vtkBoundingBox &bbox)
void AddBounds (double bounds[6])
int IntersectBox (const vtkBoundingBox &bbox)
int Intersects (const vtkBoundingBox &bbox) const
bool IntersectPlane (double origin[3], double normal[3])
int Contains (const vtkBoundingBox &bbox) const
double GetBound (int i) const
void GetCenter (double center[3]) const
void GetLengths (double lengths[3]) const
double GetLength (int i) const
double GetMaxLength () const
double GetDiagonalLength () const
void Inflate (double delta)
void Reset ()
 vtkBoundingBox ()
 vtkBoundingBox (double bounds[6])
 vtkBoundingBox (double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
int operator== (const vtkBoundingBox &bbox) const
int operator!= (const vtkBoundingBox &bbox) const
void SetBounds (double bounds[6])
void SetBounds (double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
void SetMinPoint (double x, double y, double z)
void SetMinPoint (double p[3])
void SetMaxPoint (double x, double y, double z)
void SetMaxPoint (double p[3])
void AddPoint (double p[3])
void AddPoint (double px, double py, double pz)
void GetBounds (double bounds[6]) const
void GetBounds (double &xMin, double &xMax, double &yMin, double &yMax, double &zMin, double &zMax) const
const doubleGetMinPoint () const
void GetMinPoint (double &x, double &y, double &z) const
const doubleGetMaxPoint () const
void GetMaxPoint (double &x, double &y, double &z) const
int ContainsPoint (double p[3]) const
int ContainsPoint (double px, double py, double pz) const
void Scale (double s[3])
void Scale (double sx, double sy, double sz)

Protected Attributes

double MinPnt [3]
double MaxPnt [3]
int IsValid () const
static int IsValid (double bounds[6])

Detailed Description

Fast Simple Class for dealing with 3D bounds.

vtkBoundingBox maintains a 3D axis aligned bounding box. It is very lite weight and many of the member functions are in-lined so its very fast It is not derived from vtkObject so it can be allocated on the stack

See also:
vtkBox
Tests:
vtkBoundingBox (Tests)

Definition at line 33 of file vtkBoundingBox.h.


Constructor & Destructor Documentation

vtkBoundingBox::vtkBoundingBox ( ) [inline]

Construct a bounding box with the min point set to VTK_DOUBLE_MAX and the max point set to VTK_DOUBLE_MIN

Definition at line 270 of file vtkBoundingBox.h.

vtkBoundingBox::vtkBoundingBox ( double  bounds[6]) [inline]

Construct a bounding box with the min point set to VTK_DOUBLE_MAX and the max point set to VTK_DOUBLE_MIN

Definition at line 275 of file vtkBoundingBox.h.

vtkBoundingBox::vtkBoundingBox ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  zMin,
double  zMax 
) [inline]

Construct a bounding box with the min point set to VTK_DOUBLE_MAX and the max point set to VTK_DOUBLE_MIN

Definition at line 281 of file vtkBoundingBox.h.

vtkBoundingBox::vtkBoundingBox ( const vtkBoundingBox bbox) [inline]

Copy Constructor

Definition at line 289 of file vtkBoundingBox.h.


Member Function Documentation

vtkBoundingBox & vtkBoundingBox::operator= ( const vtkBoundingBox bbox) [inline]

Assignment Operator

Definition at line 300 of file vtkBoundingBox.h.

int vtkBoundingBox::operator== ( const vtkBoundingBox bbox) const [inline]

Equality Operator

Definition at line 312 of file vtkBoundingBox.h.

int vtkBoundingBox::operator!= ( const vtkBoundingBox bbox) const [inline]

Equality Operator

Definition at line 322 of file vtkBoundingBox.h.

void vtkBoundingBox::SetBounds ( double  bounds[6]) [inline]

Set the bounds explicitly of the box (vtk Style) Returns 1 if the box was changed else 0

Definition at line 258 of file vtkBoundingBox.h.

void vtkBoundingBox::SetBounds ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  zMin,
double  zMax 
)

Set the bounds explicitly of the box (vtk Style) Returns 1 if the box was changed else 0

void vtkBoundingBox::SetMinPoint ( double  x,
double  y,
double  z 
)

Set the minimum point of the bounding box - if the min point is greater than the max point then the max point will also be changed

void vtkBoundingBox::SetMinPoint ( double  p[3]) [inline]

Set the minimum point of the bounding box - if the min point is greater than the max point then the max point will also be changed

Definition at line 327 of file vtkBoundingBox.h.

void vtkBoundingBox::SetMaxPoint ( double  x,
double  y,
double  z 
)

Set the maximum point of the bounding box - if the max point is less than the min point then the min point will also be changed

void vtkBoundingBox::SetMaxPoint ( double  p[3]) [inline]

Set the maximum point of the bounding box - if the max point is less than the min point then the min point will also be changed

Definition at line 332 of file vtkBoundingBox.h.

void vtkBoundingBox::AddPoint ( double  p[3])

Change bounding box so it includes the point p Note that the bounding box may have 0 volume if its bounds were just initialized.

void vtkBoundingBox::AddPoint ( double  px,
double  py,
double  pz 
)

Change bounding box so it includes the point p Note that the bounding box may have 0 volume if its bounds were just initialized.

void vtkBoundingBox::AddBox ( const vtkBoundingBox bbox)

Change the bouding box to be the union of itself and bbox

void vtkBoundingBox::AddBounds ( double  bounds[6])

Change the bounding box so it includes bounds (defined by vtk standard)

int vtkBoundingBox::IntersectBox ( const vtkBoundingBox bbox)
int vtkBoundingBox::Intersects ( const vtkBoundingBox bbox) const

Returns 1 if the boxes intersect else returns 0

bool vtkBoundingBox::IntersectPlane ( double  origin[3],
double  normal[3] 
)
int vtkBoundingBox::Contains ( const vtkBoundingBox bbox) const

Returns 1 if the min and max points of bbox are contained within the bounds of this box, else returns 0.

void vtkBoundingBox::GetBounds ( double  bounds[6]) const [inline]

Get the bounds of the box (defined by vtk style)

Definition at line 264 of file vtkBoundingBox.h.

void vtkBoundingBox::GetBounds ( double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax 
) const [inline]

Get the bounds of the box (defined by vtk style)

Definition at line 195 of file vtkBoundingBox.h.

double vtkBoundingBox::GetBound ( int  i) const [inline]

Return the ith bounds of the box (defined by vtk style)

Definition at line 207 of file vtkBoundingBox.h.

const double * vtkBoundingBox::GetMinPoint ( ) const [inline]

Get the minimum point of the bounding box

Definition at line 215 of file vtkBoundingBox.h.

void vtkBoundingBox::GetMinPoint ( double x,
double y,
double z 
) const [inline]

Get the minimum point of the bounding box

Definition at line 337 of file vtkBoundingBox.h.

const double * vtkBoundingBox::GetMaxPoint ( ) const [inline]

Get the maximum point of the bounding box

Definition at line 220 of file vtkBoundingBox.h.

void vtkBoundingBox::GetMaxPoint ( double x,
double y,
double z 
) const [inline]

Get the maximum point of the bounding box

Definition at line 344 of file vtkBoundingBox.h.

int vtkBoundingBox::ContainsPoint ( double  p[3]) const [inline]

Returns 1 if the point is contained in the box else 0;

Definition at line 369 of file vtkBoundingBox.h.

int vtkBoundingBox::ContainsPoint ( double  px,
double  py,
double  pz 
) const [inline]

Returns 1 if the point is contained in the box else 0;

Definition at line 351 of file vtkBoundingBox.h.

void vtkBoundingBox::GetCenter ( double  center[3]) const [inline]

Get the center of the bounding box

Definition at line 251 of file vtkBoundingBox.h.

void vtkBoundingBox::GetLengths ( double  lengths[3]) const [inline]

Get the lengths of the box

Definition at line 244 of file vtkBoundingBox.h.

double vtkBoundingBox::GetLength ( int  i) const [inline]

Return the length in the ith direction

Definition at line 239 of file vtkBoundingBox.h.

double vtkBoundingBox::GetMaxLength ( ) const

Return the Max Length of the box

double vtkBoundingBox::GetDiagonalLength ( ) const

Return the length of the diagonal.

Precondition:
not_empty: this->IsValid()
void vtkBoundingBox::Inflate ( double  delta)

Expand the Box by delta on each side, the box will grow by 2*delta in x,y and z

int vtkBoundingBox::IsValid ( ) const [inline]

Returns 1 if the bounds have been set and 0 if the box is in its initialized state which is an inverted state

Definition at line 225 of file vtkBoundingBox.h.

int vtkBoundingBox::IsValid ( double  bounds[6]) [inline, static]

Returns 1 if the bounds have been set and 0 if the box is in its initialized state which is an inverted state

Definition at line 232 of file vtkBoundingBox.h.

void vtkBoundingBox::Reset ( ) [inline]

Returns the box to its initialized state

Definition at line 189 of file vtkBoundingBox.h.

void vtkBoundingBox::Scale ( double  s[3])

Scale each dimension of the box by some given factor. If the box is not valid, it stays unchanged. If the scalar factor is negative, bounds are flipped: for example, if (xMin,xMax)=(-2,4) and sx=-3, (xMin,xMax) becomes (-12,6).

void vtkBoundingBox::Scale ( double  sx,
double  sy,
double  sz 
)

Scale each dimension of the box by some given factor. If the box is not valid, it stays unchanged. If the scalar factor is negative, bounds are flipped: for example, if (xMin,xMax)=(-2,4) and sx=-3, (xMin,xMax) becomes (-12,6).


Member Data Documentation

Definition at line 186 of file vtkBoundingBox.h.

Definition at line 186 of file vtkBoundingBox.h.


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