BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
BALL::TSimpleBox3< T > Class Template Reference

#include <BALL/MATHS/simpleBox3.h>

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 ( )

Default constructor. This method creates a new TSimpleBox3 object. The three components of the two TVector3 are initialized to { (T)0}.

Definition at line 249 of file simpleBox3.h.

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

Copy constructor. Create a new TSimpleBox3 object from another.

Parameters:
boxthe TSimpleBox3 object to be copied

Definition at line 256 of file simpleBox3.h.

template<typename T>
BALL::TSimpleBox3< T >::TSimpleBox3 ( const TVector3< T > &  a,
const TVector3< T > &  b 
)

Detailed constructor. Create a new TSimpleBox3 object from two instances of TVector3.

Parameters:
aassigned to a
bassigned to b

Definition at line 263 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 
)

Detailed constructor. Create a new TSimpleBox3 object from six variables of type T .

Parameters:
axassigned to a.x
ayassigned to a.y
azassigned to a.z
bxassigned to b.x
byassigned to b.y
bzassigned to b.z

Definition at line 271 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 ( ) [virtual]

Clear method. The values are set to 0.

Reimplemented in BALL::VIEW::SimpleBox.

Definition at line 353 of file simpleBox3.h.

template<typename T >
void BALL::TSimpleBox3< T >::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const

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 564 of file simpleBox3.h.

template<typename T >
BALL_INLINE void BALL::TSimpleBox3< T >::get ( TSimpleBox3< T > &  box) const

Assign to another instance of TSimpleBox3. Assigns the box components to another box.

Parameters:
boxthe box to be assigned to

Definition at line 318 of file simpleBox3.h.

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

Assign to two variables of type TVector3 .

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

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

Assign to six variables of type T .

Parameters:
axis assigned a.x
ayis assigned a.y
azis assigned a.z
bxis assigned b.x
byis assigned b.y
bzis assigned b.z

Definition at line 335 of file simpleBox3.h.

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

Return the depth of the box.

Returns:
T the depth

Definition at line 402 of file simpleBox3.h.

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

Return the height of the box.

Returns:
T the height

Definition at line 394 of file simpleBox3.h.

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

Calculate the surface area.

Returns:
T the surface

Definition at line 362 of file simpleBox3.h.

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

Calculate the volume.

Returns:
T the volume

Definition at line 374 of file simpleBox3.h.

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

Return the width of the box.

Returns:
T the width

Definition at line 386 of file simpleBox3.h.

template<typename T>
bool BALL::TSimpleBox3< T >::has ( const TVector3< T > &  point,
bool  on_surface = false 
) const

Test if a given point is a member of the box. Optional it can be testet, if the point lies on the surface.

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

Definition at line 477 of file simpleBox3.h.

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

Test if two boxes intersect.

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

Definition at line 518 of file simpleBox3.h.

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

Test whether instance is valid. Always returns true.

Returns:
bool true

Reimplemented in BALL::VIEW::SimpleBox.

Definition at line 470 of file simpleBox3.h.

template<typename T >
void BALL::TSimpleBox3< T >::join ( const TSimpleBox3< T > &  box)

Join the box with an other. Instance is set to the box containing both, this box and a given box.

Parameters:
boxthe box to join with

Definition at line 409 of file simpleBox3.h.

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

Inequality operator.

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

Definition at line 462 of file simpleBox3.h.

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

Assignment operator. Assign the box components from another instance of TSimpleBox3.

Parameters:
boxthe TSimpleBox3 to assign from

Definition at line 309 of file simpleBox3.h.

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

Equality operator.

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

Definition at line 454 of file simpleBox3.h.

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

Assign from another instance of TSimpleBox3.

Parameters:
boxthe TSimpleBox3 object to assign from

Definition at line 281 of file simpleBox3.h.

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

Assign from two points.

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

Definition at line 290 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 
)

Assign from six values of type T .

Parameters:
axassigned to a.x
ayassigned to a.y
azassigned to a.z
bxassigned to b.x
byassigned to b.y
bzassigned to b.z

Definition at line 299 of file simpleBox3.h.

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

Swap the contents of two instances.

Parameters:
boxthe box to swap contents with

Definition at line 344 of file simpleBox3.h.


Member Data Documentation

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

First point of the box.

Definition at line 239 of file simpleBox3.h.

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

Second point of the box.

Definition at line 243 of file simpleBox3.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines