Classes | |
class | BALL::TVector4< T > |
Typedefs | |
typedef TVector4< float > | BALL::Vector4 |
Functions | |
template<typename T > | |
BALL_INLINE TVector4< T > | BALL::operator* (const T &scalar, const TVector4< T > &v) |
template<typename T > | |
BALL_INLINE TVector4< T > | BALL::operator* (const TVector4< T > &v, const T &scalar) |
Attributes | |
All vector components are public members for convenience. | |
T | BALL::TVector4::x |
T | BALL::TVector4::y |
T | BALL::TVector4::z |
T | BALL::TVector4::h |
Global binary operators for three-dimensional vectors. | |
template<typename T > | |
BALL_INLINE TVector4< T > | BALL::operator+ (const TVector4< T > &a, const TVector4< T > &b) |
template<typename T > | |
BALL_INLINE TVector4< T > | BALL::operator- (const TVector4< T > &a, const TVector4< T > &b) |
template<typename T > | |
std::istream & | BALL::operator>> (std::istream &s, TVector4< T > &vector) |
template<typename T > | |
std::ostream & | BALL::operator<< (std::ostream &s, const TVector4< T > &vector) |
Constructors and Destructors | |
BALL::TVector4::TVector4 () | |
BALL::TVector4::TVector4 (const T *ptr) throw (Exception::NullPointer) | |
BALL::TVector4::TVector4 (const T &value) | |
BALL::TVector4::TVector4 (const T &x, const T &y, const T &z, const T &h=(T) 1) | |
BALL::TVector4::TVector4 (const TVector4 &vector) | |
virtual | BALL::TVector4::~TVector4 () |
virtual void | BALL::TVector4::clear () |
Assignment | |
void | BALL::TVector4::set (const T *ptr) throw (Exception::NullPointer) |
void | BALL::TVector4::set (const T &rx, const T &ry, const T &rz, const T &rh=(T) 1) |
void | BALL::TVector4::set (const TVector4 &vector) |
TVector4 & | BALL::TVector4::operator= (const T *ptr) throw (Exception::NullPointer) |
TVector4 & | BALL::TVector4::operator= (const TVector4 &vector) |
TVector4 & | BALL::TVector4::operator= (T value) |
void | BALL::TVector4::get (T *ptr) const throw (Exception::NullPointer) |
void | BALL::TVector4::get (T &rx, T &ry, T &rz, T &rh) const |
void | BALL::TVector4::get (TVector4 &vector) const |
void | BALL::TVector4::swap (TVector4 &vector) |
Accessors | |
T | BALL::TVector4::getLength () const |
T | BALL::TVector4::getSquareLength () const |
TVector4 & | BALL::TVector4::normalize () throw (Exception::DivisionByZero) |
static const TVector4 & | BALL::TVector4::getZero () |
static const TVector4 & | BALL::TVector4::getUnit () |
void | BALL::TVector4::set (const T &value=(T) 1) |
T & | BALL::TVector4::operator[] (Position position) throw (Exception::IndexOverflow) |
const T & | BALL::TVector4::operator[] (Position position) const throw (Exception::IndexOverflow) |
Arithmetic operators | |
TVector4 | BALL::TVector4::operator+ () const |
TVector4 | BALL::TVector4::operator- () const |
TVector4 & | BALL::TVector4::operator+= (const TVector4 &vector) |
TVector4 & | BALL::TVector4::operator-= (const TVector4 &vector) |
TVector4 | BALL::TVector4::operator* (const T &scalar) |
TVector4 & | BALL::TVector4::operator*= (const T &scalar) |
TVector4 | BALL::TVector4::operator/ (const T &scalar) throw (Exception::DivisionByZero) |
TVector4 & | BALL::TVector4::operator/= (const T &scalar) throw (Exception::DivisionByZero) |
T | BALL::TVector4::operator* (const TVector4 &vector) const |
T | BALL::TVector4::getDistance (const TVector4 &vector) const |
T | BALL::TVector4::getSquareDistance (const TVector4 &vector) const |
Predicates | |
bool | BALL::TVector4::operator== (const TVector4 &vector) const |
bool | BALL::TVector4::operator!= (const TVector4 &vector) const |
bool | BALL::TVector4::isOrthogonalTo (const TVector4 &vector) const |
Debugging and Diagnostics | |
bool | BALL::TVector4::isValid () const |
void | BALL::TVector4::dump (std::ostream &s=std::cout, Size depth=0) const |
typedef TVector4<float> BALL::Vector4 |
Default four-dimensional vector type
virtual void BALL::TVector4< T >::clear | ( | ) | [inline, virtual, inherited] |
Clear method The values are set to 0.
References BALL::TVector4< T >::h.
void BALL::TVector4< T >::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [inline, inherited] |
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 |
References BALL_DUMP_DEPTH, BALL_DUMP_HEADER, BALL_DUMP_STREAM_PREFIX, BALL_DUMP_STREAM_SUFFIX, BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::get | ( | TVector4< T > & | vector | ) | const [inline, inherited] |
Assign to another Vector4. Assigns the vector components to another vector.
vector | the vector to be assigned to |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::get | ( | T & | rx, | |
T & | ry, | |||
T & | rz, | |||
T & | rh | |||
) | const [inline, inherited] |
Assign to four variables of type T
.
rx | the x component | |
ry | the y component | |
rz | the z component | |
rh | the h component |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::get | ( | T * | ptr | ) | const throw (Exception::NullPointer) [inline, inherited] |
Assign to an array. Sets the first four array elements pointed of array ptr
to the values of the four vector components.
ptr | the array |
NullPointer | if ptr == 0 |
References BALL::Constants::h.
BALL_INLINE T BALL::TVector4< T >::getDistance | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Return the distance to another vector
vector | the reference vector |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE T BALL::TVector4< T >::getLength | ( | ) | const [inline, inherited] |
Return the length of the vector. The length of the vector is calculated as .
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE T BALL::TVector4< T >::getSquareDistance | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Return the squared distance to another vector. This method avoids the square root needed in getDistance, so this method should be preferred if possible.
vector | the reference vector |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE T BALL::TVector4< T >::getSquareLength | ( | ) | const [inline, inherited] |
Return the squared length of the vector. This method avoids the square root needed in getLength, so this method should be preferred if possible.
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE const TVector4< T > & BALL::TVector4< T >::getUnit | ( | ) | [inline, static, inherited] |
Return a vector with all components 1.
BALL_INLINE const TVector4< T > & BALL::TVector4< T >::getZero | ( | ) | [inline, static, inherited] |
Return a vector with all components 0.
BALL_INLINE bool BALL::TVector4< T >::isOrthogonalTo | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Orthogonality predicate.
References BALL::Maths::isZero().
BALL_INLINE bool BALL::TVector4< T >::isValid | ( | ) | const [inline, inherited] |
Test whether instance is valid. Always returns true
BALL_INLINE TVector4< T > & BALL::TVector4< T >::normalize | ( | ) | throw (Exception::DivisionByZero) [inline, inherited] |
Normalize the vector. The vector is scaled with its length: .
DivisionByZero | if the length of the vector is 0 |
References BALL::TVector4< T >::h, BALL::Maths::isZero(), BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE bool BALL::TVector4< T >::operator!= | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Inequality operator. The function Maths::isEqual is used to compare the values. Maths::isEqual
References BALL::TVector4< T >::h, BALL::Maths::isNotEqual(), BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4<T> BALL::operator* | ( | const TVector4< T > & | v, | |
const T & | scalar | |||
) | [inline] |
Multiplication operator for a vector and a scalar
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4<T> BALL::operator* | ( | const T & | scalar, | |
const TVector4< T > & | v | |||
) | [inline] |
Multiplication operator for a scalar and a vector
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE T BALL::TVector4< T >::operator* | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Dot product.
vector | the vector to multiply by |
vector
. References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator* | ( | const T & | scalar | ) | [inline, inherited] |
Scalar product. Return TVector4(x * scalar, y * scalar, z * scalar, h * scalar)
.
scalar | the scalar to multiply by |
scalar
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator*= | ( | const T & | scalar | ) | [inline, inherited] |
Multiply by a scalar. Multiply all components of the vector with a scalar
.
scalar | the scalar to multiply by |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator+ | ( | ) | const [inline, inherited] |
Positive sign.
BALL_INLINE TVector4< T > BALL::operator+ | ( | const TVector4< T > & | a, | |
const TVector4< T > & | b | |||
) | [inline] |
Addition operator for two vectors
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator+= | ( | const TVector4< T > & | vector | ) | [inline, inherited] |
Add a vector to this vector.
vector | the vector to add |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator- | ( | ) | const [inline, inherited] |
Negative sign.
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > BALL::operator- | ( | const TVector4< T > & | a, | |
const TVector4< T > & | b | |||
) | [inline] |
Subtraction operator for two vectors
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator-= | ( | const TVector4< T > & | vector | ) | [inline, inherited] |
Subtract a vector from this vector.
vector | the vector to subtract |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
TVector4< T > BALL::TVector4< T >::operator/ | ( | const T & | scalar | ) | throw (Exception::DivisionByZero) [inline, inherited] |
Fraction of a vector. Return TVector4(x / scalar, y / scalar, z / scalar, h / scalar)
.
scalar | the scalar to divide by |
Exception::DivisionByZero | if scalar == (T)0 |
References BALL::Constants::h, and BALL::Maths::isZero().
TVector4< T > & BALL::TVector4< T >::operator/= | ( | const T & | scalar | ) | throw (Exception::DivisionByZero) [inline, inherited] |
Divide a vector by a scalar.
scalar | the scalar to divide by |
Exception::DivisionByZero | if scalar == (T)0 |
References BALL::Constants::h, and BALL::Maths::isZero().
std::ostream & BALL::operator<< | ( | std::ostream & | s, | |
const TVector4< T > & | v | |||
) | [inline] |
Output Operator. Write the four components of the vector to an output stream. The values are enclosed by brackets.
(0.1 2.0 0 1)
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | T | value | ) | [inline, inherited] |
Assignment operator. Assign a constant value to all four vector components.
value | the constant to assign to x, y, z, h |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | const TVector4< T > & | vector | ) | [inline, inherited] |
Assignment operator. Assign the vector components from another vector.
vector | the vector to assign from |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | const T * | ptr | ) | throw (Exception::NullPointer) [inline, inherited] |
Array assignment operator. Assigns the first four elements of an array to the vector components x, y, z and h.
ptr | the array |
NullPointer | if ptr == 0 |
References BALL::Constants::h.
BALL_INLINE bool BALL::TVector4< T >::operator== | ( | const TVector4< T > & | vector | ) | const [inline, inherited] |
Equality operator. The function Maths::isEqual is used to compare the values. Maths::isEqual
References BALL::TVector4< T >::h, BALL::Maths::isEqual(), BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
std::istream & BALL::operator>> | ( | std::istream & | s, | |
TVector4< T > & | v | |||
) | [inline] |
Input operator Reads four values of type T from an input stream and assigns them to the components x, y, z and h of the vector.
References BALL::Constants::c, BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE const T & BALL::TVector4< T >::operator[] | ( | Position | position | ) | const throw (Exception::IndexOverflow) [inline, inherited] |
Constant array-like access to the components.
Exception::IndexOverflow | if index > 3 |
References BALL::Constants::h.
BALL_INLINE T & BALL::TVector4< T >::operator[] | ( | Position | position | ) | throw (Exception::IndexOverflow) [inline, inherited] |
Mutable array-like access to the components.
Exception::IndexOverflow | if index > 3 |
References BALL::Constants::h.
BALL_INLINE void BALL::TVector4< T >::set | ( | const T & | value = (T)1 |
) | [inline, inherited] |
Assign one value to all vector components.
value | the value to be assigned to, default: 1 |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::set | ( | const TVector4< T > & | vector | ) | [inline, inherited] |
Assign from another TVector4.
vector | the TVector4 object to assign from |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::set | ( | const T & | rx, | |
const T & | ry, | |||
const T & | rz, | |||
const T & | rh = (T)1 | |||
) | [inline, inherited] |
Assign the vector components.
rx | the new x component | |
ry | the new y component | |
rz | the new z component | |
rh | the new h component, default: 1 |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL_INLINE void BALL::TVector4< T >::set | ( | const T * | ptr | ) | throw (Exception::NullPointer) [inline, inherited] |
Assign from an array. Assign the four components x
, y
, z
and h
from the first four elements of the array pointed to by ptr
.
ptr | an array |
Nullpointer | if ptr == 0 |
References BALL::Constants::h.
void BALL::TVector4< T >::swap | ( | TVector4< T > & | vector | ) | [inline, inherited] |
Swap the contents of two vectors.
vector | the vector to swap contents with |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL::TVector4< T >::TVector4 | ( | const TVector4< T > & | vector | ) | [inline, inherited] |
BALL::TVector4< T >::TVector4 | ( | const T & | x, | |
const T & | y, | |||
const T & | z, | |||
const T & | h = (T)1 | |||
) | [inline, inherited] |
Detailed constructor. Create a new TVector4 object from three or four values of type T
.
x | assigned to x | |
y | assigned to y | |
z | assigned to z | |
h | assigned to h , default: 1 ; |
BALL::TVector4< T >::TVector4 | ( | const T & | value | ) | [inline, explicit, inherited] |
Scalar constructor. Create a new vector with all components set to the same value
.
value | the value of all components |
BALL::TVector4< T >::TVector4 | ( | const T * | ptr | ) | throw (Exception::NullPointer) [inline, inherited] |
Array constructor. This constructor creates a TVector4 object from the first four elements pointed by ptr
.
ptr | the array to construct from |
NullPointer | if ptr == 0 |
References BALL::TVector4< T >::h, BALL::TVector4< T >::x, BALL::TVector4< T >::y, and BALL::TVector4< T >::z.
BALL::TVector4< T >::TVector4 | ( | ) | [inline, inherited] |
Default constructor. This method creates a new TVector4 object. The four components are initialized to (T)0
.
BALL::TVector4< T >::~TVector4 | ( | ) | [inline, virtual, inherited] |
Destructor. Destructs the TVector4 object. As there are no dynamic data structures, nothing happens.
T BALL::TVector4< T >::h [inherited] |
height component of the vector
Referenced by BALL::TVector4< T >::clear(), BALL::TVector4< T >::dump(), BALL::TVector4< T >::get(), BALL::TMatrix4x4< T >::get(), BALL::TVector4< T >::getDistance(), BALL::TVector4< T >::getLength(), BALL::TVector4< T >::getSquareDistance(), BALL::TVector4< T >::getSquareLength(), BALL::TVector4< T >::normalize(), BALL::TVector4< T >::operator!=(), BALL::operator*(), BALL::TVector4< T >::operator*(), BALL::TMatrix4x4< T >::operator*(), BALL::TVector4< T >::operator*=(), BALL::operator+(), BALL::TVector4< T >::operator+=(), BALL::operator-(), BALL::TVector4< T >::operator-(), BALL::TVector4< T >::operator-=(), BALL::TVector4< T >::operator=(), BALL::TVector4< T >::operator==(), BALL::operator>>(), BALL::TVector4< T >::set(), BALL::TMatrix4x4< T >::set(), BALL::TVector4< T >::swap(), and BALL::TVector4< T >::TVector4().
T BALL::TVector4< T >::x [inherited] |
x component of the vector
Referenced by BALL::TVector4< T >::dump(), BALL::TVector4< T >::get(), BALL::TMatrix4x4< T >::get(), BALL::TVector4< T >::getDistance(), BALL::TVector4< T >::getLength(), BALL::TVector4< T >::getSquareDistance(), BALL::TVector4< T >::getSquareLength(), BALL::TVector4< T >::normalize(), BALL::TVector4< T >::operator!=(), BALL::operator*(), BALL::TVector4< T >::operator*(), BALL::TMatrix4x4< T >::operator*(), BALL::TVector4< T >::operator*=(), BALL::operator+(), BALL::TVector4< T >::operator+=(), BALL::operator-(), BALL::TVector4< T >::operator-(), BALL::TVector4< T >::operator-=(), BALL::TVector4< T >::operator=(), BALL::TVector4< T >::operator==(), BALL::operator>>(), BALL::TMatrix4x4< T >::rotate(), BALL::TVector4< T >::set(), BALL::TMatrix4x4< T >::set(), BALL::TMatrix4x4< T >::setRotation(), BALL::TVector4< T >::swap(), and BALL::TVector4< T >::TVector4().
T BALL::TVector4< T >::y [inherited] |
y component of the vector
Referenced by BALL::TVector4< T >::dump(), BALL::TVector4< T >::get(), BALL::TMatrix4x4< T >::get(), BALL::TVector4< T >::getDistance(), BALL::TVector4< T >::getLength(), BALL::TVector4< T >::getSquareDistance(), BALL::TVector4< T >::getSquareLength(), BALL::TVector4< T >::normalize(), BALL::TVector4< T >::operator!=(), BALL::operator*(), BALL::TVector4< T >::operator*(), BALL::TMatrix4x4< T >::operator*(), BALL::TVector4< T >::operator*=(), BALL::operator+(), BALL::TVector4< T >::operator+=(), BALL::operator-(), BALL::TVector4< T >::operator-(), BALL::TVector4< T >::operator-=(), BALL::TVector4< T >::operator=(), BALL::TVector4< T >::operator==(), BALL::operator>>(), BALL::TMatrix4x4< T >::rotate(), BALL::TVector4< T >::set(), BALL::TMatrix4x4< T >::set(), BALL::TMatrix4x4< T >::setRotation(), BALL::TVector4< T >::swap(), and BALL::TVector4< T >::TVector4().
T BALL::TVector4< T >::z [inherited] |
z component of the vector
Referenced by BALL::TVector4< T >::dump(), BALL::TVector4< T >::get(), BALL::TMatrix4x4< T >::get(), BALL::TVector4< T >::getDistance(), BALL::TVector4< T >::getLength(), BALL::TVector4< T >::getSquareDistance(), BALL::TVector4< T >::getSquareLength(), BALL::TVector4< T >::normalize(), BALL::TVector4< T >::operator!=(), BALL::operator*(), BALL::TVector4< T >::operator*(), BALL::TMatrix4x4< T >::operator*(), BALL::TVector4< T >::operator*=(), BALL::operator+(), BALL::TVector4< T >::operator+=(), BALL::operator-(), BALL::TVector4< T >::operator-(), BALL::TVector4< T >::operator-=(), BALL::TVector4< T >::operator=(), BALL::TVector4< T >::operator==(), BALL::operator>>(), BALL::TMatrix4x4< T >::rotate(), BALL::TVector4< T >::set(), BALL::TMatrix4x4< T >::set(), BALL::TMatrix4x4< T >::setRotation(), BALL::TVector4< T >::swap(), and BALL::TVector4< T >::TVector4().