#include <CTB2vec.hxx>
Collaboration diagram for CTB2vec:
Public Methods | |
CTB2vec () | |
CTB2vec (T rhs) | |
CTB2vec (T x, T y) | |
CTB2vec (const CTB2vec< T > &rhs) | |
T & | X () |
const T & | X () const |
T & | Y () |
const T & | Y () const |
void | X (T x) |
void | Y (T y) |
T | Length () const |
T | Dot (const CTB2vec< T > &rhs) const |
CTB2vec< T > | Project (const CTB2vec< T > &x, const CTB2vec< T > &y) const |
CTB2vec< T > | UnProject (const CTB2vec< T > &x, const CTB2vec< T > &y) const |
T & | operator[] (CTBint i_ind) |
const T & | operator[] (CTBint i_ind) const |
operator T * () | |
operator const T * () const | |
CTB2vec< T > | operator- () const |
CTB2vec< T > & | operator+= (const CTB2vec< T > &rhs) |
CTB2vec< T > & | operator-= (const CTB2vec< T > &rhs) |
CTB2vec< T > & | operator *= (T rhs) |
CTB2vec< T > & | operator/= (T rhs) |
CTB2vec< T > & | operator= (T rhs) |
CTB2vec< T > & | operator= (const CTB2vec< T > &rhs) |
Protected Attributes | |
T | m_data [2] |
Related Functions | |
(Note that these are not member functions.) | |
CTB2vec< T > | operator+ (const CTB2vec< T > &lhs, const CTB2vec< T > &rhs) |
CTB2vec< T > | operator+ (const CTB2vec< T > &lhs, T f_rhs) |
CTB2vec< T > | operator+ (T f_lhs, const CTB2vec< T > &rhs) |
CTB2vec< T > | operator- (const CTB2vec< T > &lhs, const CTB2vec< T > &rhs) |
CTB2vec< T > | operator- (const CTB2vec< T > &lhs, T f_rhs) |
CTB2vec< T > | operator- (T f_lhs, const CTB2vec< T > &rhs) |
T | operator * (const CTB2vec< T > &lhs, const CTB2vec< T > &rhs) |
CTB2vec< T > | operator * (const CTB2vec< T > &lhs, T f_rhs) |
CTB2vec< T > | operator * (T f_lhs, const CTB2vec< T > &rhs) |
CTB2vec< T > | operator/ (const CTB2vec< T > &lhs, T f_rhs) |
bool | operator== (const CTB2vec< T > &lhs, const CTB2vec< T > &rhs) |
bool | operator== (const CTB2vec< T > &lhs, T f_rhs) |
bool | operator== (T f_lhs, const CTB2vec< T > &rhs) |
ostream & | operator<< (ostream &os, const CTB2vec< T > &obj) |
T | CTBabs (const CTB2vec< T > &vec) |
The template class CTB2vec
represents a 2 component vector of type T
. It is mainly intended for usage in 2d geometry, the components are thus called X
and Y
.
Note, that this class is intended to be used with arithmetic data types, like float
or double
. It is expected that the arithmetic operators are defined and that an object of type T
can be initialized and assigned with a 0.
double
, there is no performance penalty for passing arguments by value, but due to potentially better optimization, even a performance advantage.
Definition at line 17 of file CTB2vec.hxx.
|
Construct and set all components to 0.
Definition at line 58 of file CTB2vec.icc. |
|
Construct with scalar init, set all components to rhs.
Definition at line 68 of file CTB2vec.icc. |
|
Construct from 2 values.
Definition at line 77 of file CTB2vec.icc. |
|
Copy constructor.
Definition at line 87 of file CTB2vec.icc. |
|
Access [0] or x component.
Definition at line 96 of file CTB2vec.icc. |
|
Constant access [0] or x component.
Definition at line 105 of file CTB2vec.icc. |
|
Access [1] or y component.
Definition at line 114 of file CTB2vec.icc. |
|
Constant access [1] or y component.
Definition at line 123 of file CTB2vec.icc. |
|
Set [0] or x component.
Definition at line 132 of file CTB2vec.icc. |
|
Set [1] or y component.
Definition at line 141 of file CTB2vec.icc. |
|
Returns length of vector.
Definition at line 151 of file CTB2vec.icc. Referenced by CTBabs().
|
|
Returns inner product with rhs.
Definition at line 160 of file CTB2vec.icc. Referenced by Project().
|
|
Returns projection of vector onto vectors x and y.
Definition at line 170 of file CTB2vec.icc. |
|
Returns vector with components [0] * x and [1] * y.
Definition at line 180 of file CTB2vec.icc. |
|
Access element.
Definition at line 191 of file CTB2vec.icc. |
|
Constant access element.
Definition at line 200 of file CTB2vec.icc. |
|
Convert to pointer.
Definition at line 209 of file CTB2vec.icc. |
|
Constant convert to pointer.
Definition at line 218 of file CTB2vec.icc. |
|
Returns negative of vector.
Definition at line 227 of file CTB2vec.icc. |
|
Add vector rhs.
Definition at line 236 of file CTB2vec.icc. |
|
Subtract vector rhs.
Definition at line 247 of file CTB2vec.icc. |
|
Multiply each component by the scalar value rhs.
Definition at line 258 of file CTB2vec.icc. |
|
Divide each component by the scalar value rhs.
Definition at line 269 of file CTB2vec.icc. |
|
Set all components to the scalar value rhs.
Definition at line 281 of file CTB2vec.icc. Referenced by CTB2vec().
|
|
Copy values of vector rhs.
Definition at line 292 of file CTB2vec.icc. |
|
Returns sum of two vectors lhs and rhs .
Definition at line 306 of file CTB2vec.icc. |
|
Returns sum of vectors lhs and scalar f_rhs .
Definition at line 318 of file CTB2vec.icc. |
|
Returns sum of scaler f_lhs and vector rhs .
Definition at line 330 of file CTB2vec.icc. |
|
Returns difference of two vectors lhs and rhs .
Definition at line 342 of file CTB2vec.icc. |
|
Returns difference of vectors lhs and scalar f_rhs .
Definition at line 354 of file CTB2vec.icc. |
|
Returns difference of scaler f_lhs and vector rhs .
Definition at line 366 of file CTB2vec.icc. |
|
Returns scalar product of two vectors lhs and rhs .
Definition at line 378 of file CTB2vec.icc. |
|
Returns vector lhs and multiplyied by scalar f_rhs .
Definition at line 390 of file CTB2vec.icc. |
|
Returns vector rhs and multiplyied by scalar f_lhs .
Definition at line 402 of file CTB2vec.icc. |
|
Returns vector lhs and divided by scalar f_rhs .
Definition at line 414 of file CTB2vec.icc. |
|
Returns
Definition at line 426 of file CTB2vec.icc. |
|
Definition at line 438 of file CTB2vec.icc. |
|
Definition at line 450 of file CTB2vec.icc. |
|
ostream insertion.
Definition at line 462 of file CTB2vec.icc. |
|
Returns length of vector vec .
Definition at line 478 of file CTB2vec.icc. |
|
data vector.
Definition at line 60 of file CTB2vec.hxx. |