BALL 1.5.0
|
#include <BALL/MATHS/vector4.h>
Public Member Functions | |
Constructors and Destructors | |
TVector4 () | |
TVector4 (const T *ptr) | |
TVector4 (const T &value) | |
TVector4 (const T &x, const T &y, const T &z, const T &h=(T) 1) | |
TVector4 (const TVector4 &vector) | |
virtual | ~TVector4 () |
virtual void | clear () |
Assignment | |
void | set (const T *ptr) |
void | set (const T &rx, const T &ry, const T &rz, const T &rh=(T) 1) |
void | set (const TVector4 &vector) |
TVector4 & | operator= (const T *ptr) |
TVector4 & | operator= (const TVector4 &vector) |
TVector4 & | operator= (T value) |
void | get (T *ptr) const |
void | get (T &rx, T &ry, T &rz, T &rh) const |
void | get (TVector4 &vector) const |
void | swap (TVector4 &vector) |
Arithmetic operators | |
TVector4 | operator+ () const |
TVector4 | operator- () const |
TVector4 & | operator+= (const TVector4 &vector) |
TVector4 & | operator-= (const TVector4 &vector) |
TVector4 | operator* (const T &scalar) |
TVector4 & | operator*= (const T &scalar) |
TVector4 | operator/ (const T &scalar) |
TVector4 & | operator/= (const T &scalar) |
T | operator* (const TVector4 &vector) const |
T | getDistance (const TVector4 &vector) const |
T | getSquareDistance (const TVector4 &vector) const |
Predicates | |
bool | operator== (const TVector4 &vector) const |
bool | operator!= (const TVector4 &vector) const |
bool | isOrthogonalTo (const TVector4 &vector) const |
Debugging and Diagnostics | |
bool | isValid () const |
void | dump (std::ostream &s=std::cout, Size depth=0) const |
Public Attributes | |
Attributes | |
All vector components are public members for convenience. | |
T | x |
T | y |
T | z |
T | h |
Accessors | |
T | getLength () const |
T | getSquareLength () const |
TVector4 & | normalize () |
void | set (const T &value=(T) 1) |
T & | operator[] (Position position) |
const T & | operator[] (Position position) const |
static const TVector4 & | getZero () |
static const TVector4 & | getUnit () |
Generic Four-Dimensional Vector. Representation of points and vectors in four-dimensional space.
BALL::TVector4< T >::TVector4 | ( | ) |
BALL::TVector4< T >::TVector4 | ( | const T * | ptr | ) |
|
explicit |
BALL::TVector4< T >::TVector4 | ( | const T & | x, |
const T & | y, | ||
const T & | z, | ||
const T & | h = (T)1 |
||
) |
BALL::TVector4< T >::TVector4 | ( | const TVector4< T > & | vector | ) |
|
virtual |
|
inlinevirtual |
void BALL::TVector4< T >::dump | ( | std::ostream & | s = std::cout , |
Size | depth = 0 |
||
) | const |
BALL_INLINE void BALL::TVector4< T >::get | ( | T & | rx, |
T & | ry, | ||
T & | rz, | ||
T & | rh | ||
) | const |
BALL_INLINE void BALL::TVector4< T >::get | ( | T * | ptr | ) | const |
BALL_INLINE void BALL::TVector4< T >::get | ( | TVector4< T > & | vector | ) | const |
BALL_INLINE T BALL::TVector4< T >::getDistance | ( | const TVector4< T > & | vector | ) | const |
BALL_INLINE T BALL::TVector4< T >::getLength | ( | ) | const |
BALL_INLINE T BALL::TVector4< T >::getSquareDistance | ( | const TVector4< T > & | vector | ) | const |
BALL_INLINE T BALL::TVector4< T >::getSquareLength | ( | ) | const |
|
static |
|
static |
BALL_INLINE bool BALL::TVector4< T >::isOrthogonalTo | ( | const TVector4< T > & | vector | ) | const |
BALL_INLINE bool BALL::TVector4< T >::isValid | ( | ) | const |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::normalize | ( | ) |
BALL_INLINE bool BALL::TVector4< T >::operator!= | ( | const TVector4< T > & | vector | ) | const |
Inequality operator. The function Maths::isEqual is used to compare the values. Maths::isEqual
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator* | ( | const T & | scalar | ) |
BALL_INLINE T BALL::TVector4< T >::operator* | ( | const TVector4< T > & | vector | ) | const |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator*= | ( | const T & | scalar | ) |
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator+ | ( | ) | const |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator+= | ( | const TVector4< T > & | vector | ) |
BALL_INLINE TVector4< T > BALL::TVector4< T >::operator- | ( | ) | const |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator-= | ( | const TVector4< T > & | vector | ) |
TVector4< T > BALL::TVector4< T >::operator/ | ( | const T & | scalar | ) |
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 |
TVector4< T > & BALL::TVector4< T >::operator/= | ( | const T & | scalar | ) |
Divide a vector by a scalar.
scalar | the scalar to divide by |
Exception::DivisionByZero | if scalar == (T)0 |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | const T * | ptr | ) |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | const TVector4< T > & | vector | ) |
BALL_INLINE TVector4< T > & BALL::TVector4< T >::operator= | ( | T | value | ) |
BALL_INLINE bool BALL::TVector4< T >::operator== | ( | const TVector4< T > & | vector | ) | const |
Equality operator. The function Maths::isEqual is used to compare the values. Maths::isEqual
BALL_INLINE T & BALL::TVector4< T >::operator[] | ( | Position | position | ) |
Mutable array-like access to the components.
Exception::IndexOverflow | if index > 3 |
BALL_INLINE const T & BALL::TVector4< T >::operator[] | ( | Position | position | ) | const |
Constant array-like access to the components.
Exception::IndexOverflow | if index > 3 |
BALL_INLINE void BALL::TVector4< T >::set | ( | const T & | rx, |
const T & | ry, | ||
const T & | rz, | ||
const T & | rh = (T)1 |
||
) |
BALL_INLINE void BALL::TVector4< T >::set | ( | const T & | value = (T)1 | ) |
BALL_INLINE void BALL::TVector4< T >::set | ( | const T * | ptr | ) |
BALL_INLINE void BALL::TVector4< T >::set | ( | const TVector4< T > & | vector | ) |
void BALL::TVector4< T >::swap | ( | TVector4< T > & | vector | ) |
T BALL::TVector4< T >::h |
T BALL::TVector4< T >::x |
T BALL::TVector4< T >::y |
T BALL::TVector4< T >::z |