vtkBoundingBox Class Reference

#include <vtkBoundingBox.h>

List of all members.


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.


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
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)
int IsValid () const
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 double * GetMinPoint () const
void GetMinPoint (double &x, double &y, double &z) const
const double * GetMaxPoint () 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]

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 252 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 257 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 263 of file vtkBoundingBox.h.

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

Copy Constructor

Definition at line 271 of file vtkBoundingBox.h.


Member Function Documentation

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

Assignment Operator

Definition at line 282 of file vtkBoundingBox.h.

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

Equality Operator

Definition at line 294 of file vtkBoundingBox.h.

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

Equality Operator

Definition at line 304 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 240 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 309 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 314 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

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 246 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 184 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 196 of file vtkBoundingBox.h.

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

Get the minimum point of the bounding box

Definition at line 204 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 319 of file vtkBoundingBox.h.

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

Get the maximum point of the bounding box

Definition at line 209 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 326 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 351 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 333 of file vtkBoundingBox.h.

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

Get the center of the bounding box

Definition at line 233 of file vtkBoundingBox.h.

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

Get the lengths of the box

Definition at line 226 of file vtkBoundingBox.h.

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

Return the length in the ith direction

Definition at line 221 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 214 of file vtkBoundingBox.h.

void vtkBoundingBox::Reset (  )  [inline]

Returns the box to its initialized state

Definition at line 178 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

double vtkBoundingBox::MinPnt[3] [protected]

Definition at line 175 of file vtkBoundingBox.h.

double vtkBoundingBox::MaxPnt[3] [protected]

Definition at line 175 of file vtkBoundingBox.h.


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

Generated on Mon Sep 27 18:18:42 2010 for VTK by  doxygen 1.5.6