CVector4 Class Reference
A 4-element vector that is represented by double precision floating point x,y,z,w coordinates. More...#include <xsi_vector4.h>
List of all members.
|
|
Public Member Functions
|
| __forceinline |
CVector4 () |
| __forceinline |
CVector4 (double in_dX, double in_dY, double in_dZ, double in_dW) |
| __forceinline |
CVector4 (const CVector4 &in_vector4) |
| __forceinline |
~CVector4 () |
| __forceinline CVector4 & |
operator= (const CVector4 &in_vector4) |
| __forceinline bool |
operator== (const CVector4 &in_vector4) const |
| __forceinline bool |
operator!= (const CVector4 &in_vector4) const |
| __forceinline CVector4 & |
operator~ () |
| __forceinline CVector4 & |
operator+= (const CVector4 &in_vector4) |
| __forceinline CVector4 & |
operator-= (const CVector4 &in_vector4) |
| __forceinline CVector4 & |
operator *= (const CMatrix4 &in_matrix4) |
| __forceinline CVector4 & |
operator *= (const CTransformation &in_transformation) |
| __forceinline CVector4 & |
operator *= (const double &in_dAlpha) |
| double |
operator[] (const short &in_sIndex) |
| __forceinline CVector4 & |
MulByMatrix4InPlace (const CMatrix4 &in_matrix4) |
| __forceinline CVector4 & |
MulByMatrix4 (const CVector4 &in_vector4, const CMatrix4 &in_matrix4) |
| __forceinline CVector4 & |
MulByTransformationInPlace (const CTransformation &in_transformation) |
| __forceinline CVector4 & |
MulByTransformation (const CVector4 &in_vector4, const CTransformation &in_transformation) |
| __forceinline CVector4 & |
PutNull () |
| double |
GetLength () const |
| double |
GetLengthSquared () const |
| CStatus |
NormalizeInPlace () |
| CStatus |
Normalize (const CVector4 &in_vector4) |
| __forceinline double |
Dot (const CVector4 &in_vector4) const |
| __forceinline CVector4 & |
Cross (const CVector4 &in_vector4A, const CVector4 &in_vector4B) |
| CVector4 & |
AbsoluteInPlace () |
| CVector4 & |
Absolute (const CVector4 &in_vector4) |
| bool |
EpsilonEquals (const CVector4 &in_vector4, double in_dEpsilon) const |
| __forceinline bool |
Equals (const CVector4 &in_vector4) const |
| __forceinline CVector4 & |
ScaleAddInPlace (double in_dS, const CVector4 &in_vector4) |
| __forceinline CVector4 & |
ScaleAdd (double in_dS, const CVector4 &in_vector4A, const CVector4 &in_vector4B) |
| __forceinline CVector4 & |
ScaleInPlace (double in_dAlpha) |
| __forceinline CVector4 & |
Scale (double in_dAlpha, const CVector4 &in_vector4) |
| __forceinline CVector4 & |
NegateInPlace () |
| __forceinline CVector4 & |
Negate (const CVector4 &in_vector4) |
| __forceinline CVector4 & |
SubInPlace (const CVector4 &in_vector4) |
| __forceinline CVector4 & |
Sub (const CVector4 &in_vector4A, const CVector4 &in_vector4B) |
| __forceinline CVector4 & |
AddInPlace (const CVector4 &in_vector4) |
| __forceinline CVector4 & |
Add (const CVector4 &in_vector4A, const CVector4 &in_vector4B) |
| __forceinline void |
Get (double &out_dX, double &out_dY, double &out_dZ, double &out_dW) const |
| __forceinline CVector4 & |
Set (double in_dX, double in_dY, double in_dZ, double in_dW) |
| __forceinline double |
GetW () const |
| __forceinline CVector4 & |
PutW (double in_dW) |
| __forceinline double |
GetZ () const |
| __forceinline CVector4 & |
PutZ (double in_dZ) |
| __forceinline double |
GetY () const |
| __forceinline CVector4 & |
PutY (double in_dY) |
| __forceinline double |
GetX () const |
| __forceinline CVector4 & |
PutX (double in_dX) |
Detailed Description
A 4-element vector that is represented by double precision floating point x,y,z,w coordinates.
- See also:
- MATH::CMatrix4, MATH::CVector4Array
Constructor & Destructor Documentation
| __forceinline CVector4 |
( |
double |
in_dX, |
|
|
|
double |
in_dY, |
|
|
|
double |
in_dZ, |
|
|
|
double |
in_dW |
|
|
|
) |
|
|
|
Constructor.
- Parameters:
-
|
|
in_dX |
Value of the x component |
|
|
in_dY |
Value of the y component |
|
|
in_dZ |
Value of the z component |
|
|
in_dW |
Value of the w component |
Copy constructor.
- Parameters:
-
|
|
in_vector4 |
constant class object. |
Default destructor.
Member Function Documentation
Assignment operator.
- Parameters:
-
|
|
in_vector4 |
constant class object. |
- Returns:
- A reference to this quaternion.
| __forceinline bool operator== |
( |
const CVector4 & |
in_vector4 |
) |
const |
Equality operator tests the strict equality of this vector with the specified vector.
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- true if equal else false.
- See also:
- CVector4::Equals
| __forceinline bool operator!= |
( |
const CVector4 & |
in_vector4 |
) |
const |
Inequality operator tests the strict inequality of this vector with the specified vector.
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- true if equal else false.
- See also:
- CVector4::Equals
Negates this vector (this = - this).
- Returns:
- A reference to this vector.
- See also:
- CVector4::NegateInPlace
Adds the input vector to this one (this = this + in_vector4).
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
- See also:
- CVector4::AddInPlace
Subtracts the input vector4 (in_vector4) from this one (this = this - in_vector4).
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
- See also:
- CVector4::SubInPlace
Right-multiplies this vector by the matrix m in place. (this = this . m )
- Parameters:
-
|
|
in_matrix4 |
Operand matrix. |
- Returns:
- A reference to this vector.
- See also:
- CVector4::MulByMatrix4InPlace
Right-multiplies this vector by the transformation t in place (this = this . t).
- Parameters:
-
|
|
in_transformation |
transformation operand. |
- Returns:
- A reference to this vector.
- See also:
- CVector4::MulByTransformationInPlace
| __forceinline CVector4 & operator *= |
( |
const double & |
in_dAlpha |
) |
|
Scales this vector by the input scalar (alpha) (this = alpha * this).
- Parameters:
-
|
|
in_dAlpha |
Scalar multiplicator. |
- Returns:
- A reference to this vector.
- See also:
- CVector4::ScaleInPlace
| double operator[] |
( |
const short & |
in_sIndex |
) |
|
Read-only accessors to the X,Y,Z,W components.
- Parameters:
-
|
|
in_sIndex |
0,1,2,3 for X,Y,Z and W values. |
- Returns:
- The value of the specified component. If the index supplied is out of range the function returns DBL_MAX.
- See also:
- CVector4::GetX(), CVector4::GetY(), CVector4::GetZ(), CVector4::GetW()
Right-multiplies this vector by the matrix m in place (this = this . m ).
- Parameters:
-
|
|
in_matrix4 |
Operand matrix. |
- Returns:
- A reference to this vector.
Right-multiplies the vector v by the matrix m and store the result in this vector (this = v . m ).
- Parameters:
-
|
|
in_vector4 |
Operand vector |
|
|
in_matrix4 |
Operand matrix. |
- Returns:
- A reference to this vector.
Right-multiplies this vector by the transformation t in place (this = this . t).
- Parameters:
-
|
|
in_transformation |
transformation operand. |
- Returns:
- A reference to this vector.
Right-multiplies the vector v by the transformation t and store the result in this vector (this = v . t ).
- Parameters:
-
|
|
in_vector4 |
transformation operand. |
|
|
in_transformation |
transformation operand. |
- Returns:
- A reference to this vector.
Sets this vector to a null vector.
- Returns:
- A reference to this vector.
| double GetLength |
( |
|
) |
const |
Returns the length of this vector.
- Returns:
- Length of this vector.
| double GetLengthSquared |
( |
|
) |
const |
Returns the squared length of this vector.
- Returns:
- Squared length of this vector.
Normalizes this vector in place.
- Returns:
- CStatus::OK if the normalization has been computed,
Sets the value of this vector to the normalization of inputed vector.
- Parameters:
-
|
|
in_vector4 |
vector operand. |
- Returns:
- CStatus::OK if the normalization has been computed.
| __forceinline double Dot |
( |
const CVector4 & |
in_vector4 |
) |
const |
Returns the dot product of this vector and the inputed vector.
- Parameters:
-
|
|
in_vector4 |
vector operand. |
- Returns:
- Dot product of this vector and vector in_vector4.
Sets this vector to the vector cross product of vectors A and B.
- Parameters:
-
|
|
in_vector4A |
vector operand. |
|
|
in_vector4B |
vector operand. |
- Returns:
- A reference to this vector.
Sets each component of this vector to its absolute value.
- Returns:
- A reference to this vector.
Sets each component of the specified vector to its absolute value and places the modified values into this vector
- Parameters:
-
|
|
in_vector4 |
Vector to make absolute |
- Returns:
- A reference to this vector.
| bool EpsilonEquals |
( |
const CVector4 & |
in_vector4, |
|
|
|
double |
in_dEpsilon |
|
|
|
) |
|
|
const |
Tests the equality of this vector with the vector in_vector3, with a tolerance of Epsilon.
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
|
|
in_dEpsilon |
Error margin Possible Values: [0, +INF[ should be a positive value |
- Returns:
- true if equal else false.
| __forceinline bool Equals |
( |
const CVector4 & |
in_vector4 |
) |
const |
Tests the strict equality of this vector with the vector in_vector3.
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- true if equal else false.
| __forceinline CVector4 & ScaleAddInPlace |
( |
double |
in_dS, |
|
|
|
const CVector4 & |
in_vector4 |
|
|
|
) |
|
|
|
Sets the value of this vector to the scalar multiplication of itself by s and then adds vector v (this = s*this + v).
- Parameters:
-
|
|
in_dS |
Scalar multiplicator. |
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
Sets the value of this vector to the scalar multiplication of vector A by s and then adds vector B (this = s*v1 + v2).
- Parameters:
-
|
|
in_dS |
Scalar multiplicator. |
|
|
in_vector4A |
Operand vector. |
|
|
in_vector4B |
Operand vector. |
- Returns:
- A reference to this vector.
| __forceinline CVector4 & ScaleInPlace |
( |
double |
in_dAlpha |
) |
|
Scales this vector by the input scalar (alpha) (this = alpha * this).
- Parameters:
-
|
|
in_dAlpha |
Scalar multiplicator. |
- Returns:
- A reference to this vector.
| __forceinline CVector4 & Scale |
( |
double |
in_dAlpha, |
|
|
|
const CVector4 & |
in_vector4 |
|
|
|
) |
|
|
|
Scales the input vector (v) by (alpha) store the result into this one (this = alpha * v).
- Parameters:
-
|
|
in_dAlpha |
Scalar multiplicator. |
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
| __forceinline CVector4 & NegateInPlace |
( |
|
) |
|
Negates this vector (this = - this).
- Returns:
- A reference to this vector.
Negates the input vector (v) store the result into this one (this = - v).
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
Subtracts the input vector (v) from this one (this = this - v).
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
Subtracts the input vector (in_vector4B) from the input vector (in_vector4A) and stores the result into this one (this = in_vector4A - in_vector4A).
- Parameters:
-
|
|
in_vector4A |
Operand vector. |
|
|
in_vector4B |
Operand vector. |
- Returns:
- A reference to this vector.
Adds the input vector to this one (this = this + in_vector3).
- Parameters:
-
|
|
in_vector4 |
Operand vector. |
- Returns:
- A reference to this vector.
Adds both input vectors and store the result in this one (this = A + B).
- Parameters:
-
|
|
in_vector4A |
Operand vector. |
|
|
in_vector4B |
Operand vector. |
- Returns:
- A reference to this vector.
| __forceinline void Get |
( |
double & |
out_dX, |
|
|
|
double & |
out_dY, |
|
|
|
double & |
out_dZ, |
|
|
|
double & |
out_dW |
|
|
|
) |
|
|
const |
Returns the X, Y, Z and W values of the vector.
- Return values:
-
|
|
out_dX |
X value to get in the vector. |
|
|
out_dY |
Y value to get in the vector. |
|
|
out_dZ |
Z value to get in the vector. |
|
|
out_dW |
W value to get in the vector. |
| __forceinline CVector4 & Set |
( |
double |
in_dX, |
|
|
|
double |
in_dY, |
|
|
|
double |
in_dZ, |
|
|
|
double |
in_dW |
|
|
|
) |
|
|
|
Sets the X, Y, Z and W values of the vector.
- Parameters:
-
|
|
in_dX |
X value to set in the vector. |
|
|
in_dY |
Y value to set in the vector. |
|
|
in_dZ |
Z value to set in the vector. |
|
|
in_dW |
W value to set in the vector. |
- Returns:
- A reference to the vector.
| __forceinline double GetW |
( |
|
) |
const |
Returns the W value of this vector.
- Returns:
- W value of this vector.
| __forceinline CVector4 & PutW |
( |
double |
in_dW |
) |
|
Sets the W value of this vector.
- Parameters:
-
- Returns:
- A reference to this vector.
| __forceinline double GetZ |
( |
|
) |
const |
Returns the Z value of this vector.
- Returns:
- Z value of this vector.
| __forceinline CVector4 & PutZ |
( |
double |
in_dZ |
) |
|
Sets the Z value of this vector.
- Parameters:
-
- Returns:
- A reference to this vector.
| __forceinline double GetY |
( |
|
) |
const |
Returns the Y value of this vector.
- Returns:
- Y value of this vector.
| __forceinline CVector4 & PutY |
( |
double |
in_dY |
) |
|
Sets the Y value of this vector.
- Parameters:
-
- Returns:
- A reference to this vector.
| __forceinline double GetX |
( |
|
) |
const |
Returns the X value of this vector.
- Returns:
- X value of this vector.
| __forceinline CVector4 & PutX |
( |
double |
in_dX |
) |
|
Sets the X value of this vector.
- Parameters:
-
- Returns:
- A reference to this vector.
The documentation for this class was generated from the following file: