BALL 1.5.0
Loading...
Searching...
No Matches
List of all members
BALL::TSimpleBox3< T > Class Template Reference

#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 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

◆ TSimpleBox3() [1/4]

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 {\tt (T)0}.

Definition at line 249 of file simpleBox3.h.

◆ TSimpleBox3() [2/4]

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.

◆ TSimpleBox3() [3/4]

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.

◆ TSimpleBox3() [4/4]

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.

◆ ~TSimpleBox3()

template<typename T >
virtual BALL::TSimpleBox3< T >::~TSimpleBox3 ( )
inlinevirtual

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

◆ clear()

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.

◆ dump()

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

Definition at line 564 of file simpleBox3.h.

◆ get() [1/3]

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.

◆ get() [2/3]

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.

◆ get() [3/3]

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.

◆ getDepth()

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.

◆ getHeight()

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.

◆ getSurface()

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.

◆ getVolume()

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.

◆ getWidth()

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.

◆ has()

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.

◆ isIntersecting()

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.

◆ isValid()

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

Test whether instance is valid. Always returns true.

Returns
bool true

Definition at line 470 of file simpleBox3.h.

◆ join()

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.

◆ operator!=()

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.

◆ operator=()

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.

◆ operator==()

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.

◆ set() [1/3]

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.

◆ set() [2/3]

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.

◆ set() [3/3]

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.

◆ swap()

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

◆ a

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

First point of the box.

Definition at line 239 of file simpleBox3.h.

◆ b

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

Second point of the box.

Definition at line 243 of file simpleBox3.h.