#include <BALL/MATHS/simpleBox3.h>
Public Member Functions | |
Constructors and Destructors | |
TSimpleBox3 () | |
TSimpleBox3 (const TSimpleBox3 &box) | |
TSimpleBox3 (const TVector3< T > &a, const TVector3< T > &b) | |
TSimpleBox3 (const T &ax, const T &ay, const T &az, const T &bx, const T &by, const T &bz) | |
virtual | ~TSimpleBox3 () |
virtual void | clear () |
Assignment | |
void | set (const TSimpleBox3 &box) |
void | set (const TVector3< T > &lower, const TVector3< T > &upper) |
void | set (const T &ax, const T &ay, const T &az, const T &bx, const T &by, const T &bz) |
const TSimpleBox3 & | operator= (const TSimpleBox3 &box) |
void | get (TSimpleBox3 &box) const |
void | get (TVector3< T > &lower, TVector3< T > &upper) const |
void | get (T &ax, T &ay, T &az, T &bx, T &by, T &bz) const |
void | swap (TSimpleBox3 &box) |
Accessors | |
T | getSurface () const |
T | getVolume () const |
T | getWidth () const |
T | getHeight () const |
T | getDepth () const |
void | join (const TSimpleBox3 &box) |
Predicates | |
bool | operator== (const TSimpleBox3 &box) const |
bool | operator!= (const TSimpleBox3 &box) const |
bool | has (const TVector3< T > &point, bool on_surface=false) const |
bool | isIntersecting (const TSimpleBox3 &box) const |
Debugging and Diagnostics | |
bool | isValid () const |
void | dump (std::ostream &s=std::cout, Size depth=0) const |
Public Attributes | |
Public members | |
TVector3< T > | a |
TVector3< T > | b |
Generic three-dimensional Box. This class describes a three-dimensional box with edges parallel to the coordinate system. Hence, a box is given by the coordinates of the lower left front corner and ther upper right back corner.\
BALL::TSimpleBox3< T >::TSimpleBox3 | ( | ) | [inline] |
Default constructor. This method creates a new TSimpleBox3 object. The three components of the two TVector3 are initialized to { (T)0}.
BALL::TSimpleBox3< T >::TSimpleBox3 | ( | const TSimpleBox3< T > & | box | ) | [inline] |
Copy constructor. Create a new TSimpleBox3 object from another.
box | the TSimpleBox3 object to be copied |
BALL::TSimpleBox3< T >::TSimpleBox3 | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) | [inline] |
Detailed constructor. Create a new TSimpleBox3 object from two instances of TVector3.
a | assigned to a | |
b | assigned to b |
BALL::TSimpleBox3< T >::TSimpleBox3 | ( | const T & | ax, | |
const T & | ay, | |||
const T & | az, | |||
const T & | bx, | |||
const T & | by, | |||
const T & | bz | |||
) | [inline] |
Detailed constructor. Create a new TSimpleBox3 object from six variables of type T
.
ax | assigned to a.x | |
ay | assigned to a.y | |
az | assigned to a.z | |
bx | assigned to b.x | |
by | assigned to b.y | |
bz | assigned to b.z |
virtual BALL::TSimpleBox3< T >::~TSimpleBox3 | ( | ) | [inline, virtual] |
Destructor. Destructs the TSimpleBox3 object. As there are no dynamic data structures, nothing happens.
BALL_INLINE void BALL::TSimpleBox3< T >::clear | ( | ) | [inline, virtual] |
Clear method. The values are set to 0.
Reimplemented in BALL::VIEW::SimpleBox.
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
void BALL::TSimpleBox3< T >::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [inline] |
Internal state dump. Dump the current internal state of {*this} to the output ostream s with dumping depth depth .
s | - output stream where to output the internal state of {*this} | |
depth | - the dumping depth |
Reimplemented in BALL::VIEW::SimpleBox.
References BALL::TSimpleBox3< T >::a, BALL::TSimpleBox3< T >::b, BALL_DUMP_DEPTH, BALL_DUMP_HEADER, BALL_DUMP_STREAM_PREFIX, and BALL_DUMP_STREAM_SUFFIX.
BALL_INLINE void BALL::TSimpleBox3< T >::get | ( | T & | ax, | |
T & | ay, | |||
T & | az, | |||
T & | bx, | |||
T & | by, | |||
T & | bz | |||
) | const [inline] |
Assign to six variables of type T
.
ax | is assigned a.x | |
ay | is assigned a.y | |
az | is assigned a.z | |
bx | is assigned b.x | |
by | is assigned b.y | |
bz | is assigned b.z |
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
BALL_INLINE void BALL::TSimpleBox3< T >::get | ( | TVector3< T > & | lower, | |
TVector3< T > & | upper | |||
) | const [inline] |
Assign to two variables of type TVector3
.
lower | the lower corner of the box | |
upper | the upper corner of the box |
References BALL::TSimpleBox3< T >::a, BALL::TSimpleBox3< T >::b, and BALL::TVector3< T >::set().
BALL_INLINE void BALL::TSimpleBox3< T >::get | ( | TSimpleBox3< T > & | box | ) | const [inline] |
Assign to another instance of TSimpleBox3. Assigns the box components to another box.
box | the box to be assigned to |
References BALL::TSimpleBox3< T >::set().
BALL_INLINE T BALL::TSimpleBox3< T >::getDepth | ( | ) | const [inline] |
Return the depth of the box.
References BALL::TSimpleBox3< T >::a, BALL::Maths::abs(), and BALL::TSimpleBox3< T >::b.
BALL_INLINE T BALL::TSimpleBox3< T >::getHeight | ( | ) | const [inline] |
Return the height of the box.
References BALL::TSimpleBox3< T >::a, BALL::Maths::abs(), and BALL::TSimpleBox3< T >::b.
BALL_INLINE T BALL::TSimpleBox3< T >::getSurface | ( | ) | const [inline] |
Calculate the surface area.
References BALL::TSimpleBox3< T >::a, BALL::Maths::abs(), and BALL::TSimpleBox3< T >::b.
BALL_INLINE T BALL::TSimpleBox3< T >::getVolume | ( | ) | const [inline] |
Calculate the volume.
References BALL::TSimpleBox3< T >::a, BALL::Maths::abs(), and BALL::TSimpleBox3< T >::b.
BALL_INLINE T BALL::TSimpleBox3< T >::getWidth | ( | ) | const [inline] |
Return the width of the box.
References BALL::TSimpleBox3< T >::a, BALL::Maths::abs(), and BALL::TSimpleBox3< T >::b.
bool BALL::TSimpleBox3< T >::has | ( | const TVector3< T > & | point, | |
bool | on_surface = false | |||
) | const [inline] |
Test if a given point is a member of the box. Optional it can be testet, if the point lies on the surface.
point | the point to be tested | |
on_surface | true to test the surface (default = false) |
References BALL::TSimpleBox3< T >::a, BALL::TSimpleBox3< T >::b, BALL::Maths::isEqual(), and BALL::Maths::isLess().
bool BALL::TSimpleBox3< T >::isIntersecting | ( | const TSimpleBox3< T > & | box | ) | const [inline] |
Test if two boxes intersect.
box | the box to be tested |
References BALL::TSimpleBox3< T >::a, BALL::TSimpleBox3< T >::b, and BALL::Maths::isLess().
BALL_INLINE bool BALL::TSimpleBox3< T >::isValid | ( | ) | const [inline] |
Test whether instance is valid. Always returns true.
Reimplemented in BALL::VIEW::SimpleBox.
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
void BALL::TSimpleBox3< T >::join | ( | const TSimpleBox3< T > & | box | ) | [inline] |
Join the box with an other. Instance is set to the box containing both, this box and a given box.
box | the box to join with |
References BALL::TSimpleBox3< T >::a, BALL::TSimpleBox3< T >::b, BALL::Maths::max(), and BALL::Maths::min().
BALL_INLINE bool BALL::TSimpleBox3< T >::operator!= | ( | const TSimpleBox3< T > & | box | ) | const [inline] |
Inequality operator.
BALL_INLINE const TSimpleBox3< T > & BALL::TSimpleBox3< T >::operator= | ( | const TSimpleBox3< T > & | box | ) | [inline] |
Assignment operator. Assign the box components from another instance of TSimpleBox3.
box | the TSimpleBox3 to assign from |
BALL_INLINE bool BALL::TSimpleBox3< T >::operator== | ( | const TSimpleBox3< T > & | box | ) | const [inline] |
Equality operator.
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
BALL_INLINE void BALL::TSimpleBox3< T >::set | ( | const T & | ax, | |
const T & | ay, | |||
const T & | az, | |||
const T & | bx, | |||
const T & | by, | |||
const T & | bz | |||
) | [inline] |
Assign from six values of type T
.
ax | assigned to a.x | |
ay | assigned to a.y | |
az | assigned to a.z | |
bx | assigned to b.x | |
by | assigned to b.y | |
bz | assigned to b.z |
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
BALL_INLINE void BALL::TSimpleBox3< T >::set | ( | const TVector3< T > & | lower, | |
const TVector3< T > & | upper | |||
) | [inline] |
Assign from two points.
lower | the lower corner of the box | |
upper | the upper corner of the box |
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
BALL_INLINE void BALL::TSimpleBox3< T >::set | ( | const TSimpleBox3< T > & | box | ) | [inline] |
Assign from another instance of TSimpleBox3.
box | the TSimpleBox3 object to assign from |
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
Referenced by BALL::TSimpleBox3< T >::get().
BALL_INLINE void BALL::TSimpleBox3< T >::swap | ( | TSimpleBox3< T > & | box | ) | [inline] |
Swap the contents of two instances.
box | the box to swap contents with |
References BALL::TSimpleBox3< T >::a, and BALL::TSimpleBox3< T >::b.
TVector3<T> BALL::TSimpleBox3< T >::a |
First point of the box.
Referenced by BALL::TSimpleBox3< T >::clear(), BALL::TSimpleBox3< T >::dump(), BALL::TSimpleBox3< T >::get(), BALL::TSimpleBox3< T >::getDepth(), BALL::TSimpleBox3< T >::getHeight(), BALL::TSimpleBox3< T >::getSurface(), BALL::TSimpleBox3< T >::getVolume(), BALL::TSimpleBox3< T >::getWidth(), BALL::TSimpleBox3< T >::has(), BALL::TSimpleBox3< T >::isIntersecting(), BALL::TSimpleBox3< T >::isValid(), BALL::TSimpleBox3< T >::join(), BALL::TSimpleBox3< T >::operator==(), BALL::operator>>(), BALL::TSimpleBox3< T >::set(), and BALL::TSimpleBox3< T >::swap().
TVector3<T> BALL::TSimpleBox3< T >::b |
Second point of the box.
Referenced by BALL::TSimpleBox3< T >::clear(), BALL::TSimpleBox3< T >::dump(), BALL::TSimpleBox3< T >::get(), BALL::TSimpleBox3< T >::getDepth(), BALL::TSimpleBox3< T >::getHeight(), BALL::TSimpleBox3< T >::getSurface(), BALL::TSimpleBox3< T >::getVolume(), BALL::TSimpleBox3< T >::getWidth(), BALL::TSimpleBox3< T >::has(), BALL::TSimpleBox3< T >::isIntersecting(), BALL::TSimpleBox3< T >::isValid(), BALL::TSimpleBox3< T >::join(), BALL::TSimpleBox3< T >::operator==(), BALL::operator>>(), BALL::TSimpleBox3< T >::set(), and BALL::TSimpleBox3< T >::swap().