BALL::TSimpleBox3< T > Class Template Reference
[Box]

#include <BALL/MATHS/simpleBox3.h>

Inheritance diagram for BALL::TSimpleBox3< T >:
Inheritance graph
[legend]

List of all members.

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 TSimpleBox3operator= (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

getSurface () const
getVolume () const
getWidth () const
getHeight () const
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

Detailed Description

template<typename T>
class BALL::TSimpleBox3< T >

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.\

Definition at line 31 of file simpleBox3.h.


Constructor & Destructor Documentation

template<typename T >
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}.

Definition at line 264 of file simpleBox3.h.

template<typename T >
BALL::TSimpleBox3< T >::TSimpleBox3 ( const TSimpleBox3< T > &  box  )  [inline]

Copy constructor. Create a new TSimpleBox3 object from another.

Parameters:
box the TSimpleBox3 object to be copied

Definition at line 272 of file simpleBox3.h.

template<typename T>
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.

Parameters:
a assigned to a
b assigned to b

Definition at line 280 of file simpleBox3.h.

template<typename T>
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 .

Parameters:
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

Definition at line 288 of file simpleBox3.h.

template<typename T>
virtual BALL::TSimpleBox3< T >::~TSimpleBox3 (  )  [inline, virtual]

Destructor. Destructs the TSimpleBox3 object. As there are no dynamic data structures, nothing happens.

Definition at line 76 of file simpleBox3.h.


Member Function Documentation

template<typename T >
BALL_INLINE void BALL::TSimpleBox3< T >::clear (  )  [inline, virtual]

Clear method. The values are set to 0.

Reimplemented in BALL::VIEW::SimpleBox.

Definition at line 370 of file simpleBox3.h.

template<typename T >
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 .

Parameters:
s - output stream where to output the internal state of {*this}
depth - the dumping depth

Reimplemented in BALL::VIEW::SimpleBox.

Definition at line 581 of file simpleBox3.h.

template<typename T>
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 .

Parameters:
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

Definition at line 352 of file simpleBox3.h.

template<typename T>
BALL_INLINE void BALL::TSimpleBox3< T >::get ( TVector3< T > &  lower,
TVector3< T > &  upper 
) const [inline]

Assign to two variables of type TVector3 .

Parameters:
lower the lower corner of the box
upper the upper corner of the box

Definition at line 343 of file simpleBox3.h.

template<typename T >
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.

Parameters:
box the box to be assigned to

Definition at line 335 of file simpleBox3.h.

template<typename T >
BALL_INLINE T BALL::TSimpleBox3< T >::getDepth (  )  const [inline]

Return the depth of the box.

Returns:
T the depth

Definition at line 419 of file simpleBox3.h.

template<typename T >
BALL_INLINE T BALL::TSimpleBox3< T >::getHeight (  )  const [inline]

Return the height of the box.

Returns:
T the height

Definition at line 411 of file simpleBox3.h.

template<typename T >
BALL_INLINE T BALL::TSimpleBox3< T >::getSurface (  )  const [inline]

Calculate the surface area.

Returns:
T the surface

Definition at line 379 of file simpleBox3.h.

template<typename T >
BALL_INLINE T BALL::TSimpleBox3< T >::getVolume (  )  const [inline]

Calculate the volume.

Returns:
T the volume

Definition at line 391 of file simpleBox3.h.

template<typename T >
BALL_INLINE T BALL::TSimpleBox3< T >::getWidth (  )  const [inline]

Return the width of the box.

Returns:
T the width

Definition at line 403 of file simpleBox3.h.

template<typename T>
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.

Parameters:
point the point to be tested
on_surface true to test the surface (default = false)
Returns:
bool, true or false

Definition at line 494 of file simpleBox3.h.

template<typename T >
bool BALL::TSimpleBox3< T >::isIntersecting ( const TSimpleBox3< T > &  box  )  const [inline]

Test if two boxes intersect.

Parameters:
box the box to be tested
Returns:
bool, true if the two boxes are intersecting, false otherwise

Definition at line 535 of file simpleBox3.h.

template<typename T >
BALL_INLINE bool BALL::TSimpleBox3< T >::isValid (  )  const [inline]

Test whether instance is valid. Always returns true.

Returns:
bool true

Reimplemented in BALL::VIEW::SimpleBox.

Definition at line 487 of file simpleBox3.h.

template<typename T >
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.

Parameters:
box the box to join with

Definition at line 426 of file simpleBox3.h.

template<typename T >
BALL_INLINE bool BALL::TSimpleBox3< T >::operator!= ( const TSimpleBox3< T > &  box  )  const [inline]

Inequality operator.

Returns:
bool, true if the two boxes differ in at least one component, false otherwise

Definition at line 479 of file simpleBox3.h.

template<typename T >
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.

Parameters:
box the TSimpleBox3 to assign from

Definition at line 326 of file simpleBox3.h.

template<typename T >
BALL_INLINE bool BALL::TSimpleBox3< T >::operator== ( const TSimpleBox3< T > &  box  )  const [inline]

Equality operator.

Returns:
bool, true if all box components are equal, false otherwise

Definition at line 471 of file simpleBox3.h.

template<typename T>
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 .

Parameters:
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

Definition at line 316 of file simpleBox3.h.

template<typename T>
BALL_INLINE void BALL::TSimpleBox3< T >::set ( const TVector3< T > &  lower,
const TVector3< T > &  upper 
) [inline]

Assign from two points.

Parameters:
lower the lower corner of the box
upper the upper corner of the box

Definition at line 307 of file simpleBox3.h.

template<typename T >
BALL_INLINE void BALL::TSimpleBox3< T >::set ( const TSimpleBox3< T > &  box  )  [inline]

Assign from another instance of TSimpleBox3.

Parameters:
box the TSimpleBox3 object to assign from

Definition at line 298 of file simpleBox3.h.

template<typename T >
BALL_INLINE void BALL::TSimpleBox3< T >::swap ( TSimpleBox3< T > &  box  )  [inline]

Swap the contents of two instances.

Parameters:
box the box to swap contents with

Definition at line 361 of file simpleBox3.h.


Member Data Documentation

template<typename T>
TVector3<T> BALL::TSimpleBox3< T >::a

First point of the box.

Definition at line 254 of file simpleBox3.h.

template<typename T>
TVector3<T> BALL::TSimpleBox3< T >::b

Second point of the box.

Definition at line 258 of file simpleBox3.h.

Generated by  doxygen 1.6.3