Inherits BASE::RCStringValueInterface.
Inheritance diagram for BASE::RCVector:


Public Member Functions | |
| RCVector () | |
| RCVector (TReal nX, TReal nY, TReal nZ, TReal nW=1.0) | |
| RCVector (const RCTriple &Pos) | |
| RCVector (const TReal *naSource, TBool b3D=true) | |
| RCVector (const RCVector &Source) | |
| const RCVector & | operator= (const RCVector &Source) |
| const TReal * | Data () const |
| TReal & | operator[] (TInt nIndex) |
| const TReal & | operator[] (TInt nIndex) const |
| RCVector | operator+ (const RCVector &rhs) const |
| RCVector | operator- (const RCVector &rhs) const |
| RCVector | operator * (TReal rhs) const |
| RCVector | operator/ (TReal rhs) const |
| RCVector | operator- () const |
| const RCVector & | operator+= (const RCVector &rhs) |
| const RCVector & | operator-= (const RCVector &rhs) |
| const RCVector & | operator *= (TReal rhs) |
| const RCVector & | operator/= (TReal rhs) |
| TBool | IsZero () const |
| TReal | DotProduct (const RCVector &rhs) const |
| RCVector | CrossProduct (const RCVector &rhs) const |
| TBool | IsDirection () const |
| TBool | IsUnfactorized () const |
| void | Unfactorize () |
| RCVector | Unfactorized () const |
| void | Normalize () |
| RCVector | Normalized () const |
| TReal | Length () const |
| virtual TBool | FromString (const RCString &sValue) |
| virtual const RCString & | ToString () const |
Static Public Attributes | |
| static const RCVector | INFINITE |
| static const RCVector | ZERO |
|
|
Creates an unfactorized zero vector. |
|
||||||||||||||||||||
|
Creates a vector with the specified values. |
|
||||||||||||
|
Creates a vector with the values stored in the specified array. If b3D is true the array is expected to hold at least 3 values and the 4th will be set to 1. Otherwise 4 values are copied from the array. |
|
|
Creates a copy of the specified vector. |
|
|
Returns the crossproduct of this and the specified vector. Neither vector needs to be factorized but if either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. The result is always unfactorized. |
|
|
Returns a constant pointer to the internally stored data containing 4 values. |
|
|
Returns the dotproduct of this and the specified vector. Neither vector needs to be factorized but if either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Returns true if this vector represents a direction, that is, if the 4th element is zero. |
|
|
Returns the length of this vector, that is, the euclid norm of the first 3 elements devided by the 4th. If this vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Normalizes this vector, that is, scales the elements that way that the lenght of the vector becomes 1. If this vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. If this vector is no direction teh result will also be unfactorized. |
|
|
Returns a copy of this vector that is normalized. |
|
|
Returns a copy of this vector multiplied by the specified factor. In general the result is factorized. |
|
|
Multiplies this vector by the specified value. In general the result is factorized. |
|
|
Returns a vector that is the sum of this and the specified one. The result is always unfactorizes. If either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Adds the specified vector to this one. The result is always unfactorized. If either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Returns a copy of this vector with negated elements. |
|
|
Returns a vector that is the difference of this and the specified one. The result is always unfactorizes. If either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Subtracts the specified vector fromthis one. The result is always unfactorized. If either this or the specified vector is a direction an assertion will occure in debug version. In realease version an exception (division by zero) is thrown. |
|
|
Returns a copy of this vector multiplied by the specified factor. In general the result is factorized. Calling the operator with 0 as argument will result in a vector pointing in the same direction as this vector does but with infinite length. |
|
|
Devides this vector by the specified value. In general the result is factorized. Calling the function with 0 as argument will result in a vector pointing in the same direction as before but with infinite length. |
|
|
Assigns the specifed vextor to this one. |
|
|
Returns a constant reference to the nIndex'th element of the vector. The index needs to be less than 4. |
|
|
Returns a reference to the nIndex'th element of the vector. The index needs to be less than 4. |
|
|
Unfactorizes this vector by deviding the first 3 elements by the 4th. If this vector is a direction the function will scale the elements that way that the element with highest norm will be TRealMax (or TRealMin for negative values). In both cases the 4th element will be set to 1 and thus the vector is unfactorized. |
1.4.6-NO