Public Member Functions
CVector4f Class Reference

## Detailed Description

A 4-element vector that is represented by single floating point x,y,z coordinates. The class is used used for implementing custom ICE nodes.

See also:
  CVector3f, CMatrix4f

`#include <xsi_vector4f.h>`

List of all members.

## Public Member Functions
SICPPSDK_INLINE | CVector4f ()
SICPPSDK_INLINE | CVector4f (float in_fX, float in_fY, float in_fZ, float in_fW)
SICPPSDK_INLINE | CVector4f (const CVector4f &in_vector4)
SICPPSDK_INLINE | ~CVector4f ()
SICPPSDK_INLINE CVector4f & | operator= (const CVector4f &in_vector4)
SICPPSDK_INLINE bool | operator== (const CVector4f &in_vector4) const
SICPPSDK_INLINE bool | operator!= (const CVector4f &in_vector4) const
SICPPSDK_INLINE bool | operator< (const CVector4f &in_vector4) const
SICPPSDK_INLINE CVector4f & | operator~ ()
SICPPSDK_INLINE CVector4f & | operator+= (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | operator-= (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | operator*= (const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4f & | operator*= (const float &in_fAlpha)
SICPPSDK_INLINE float | operator[] (const short &in_sIndex)
SICPPSDK_INLINE CVector4f & | MulByMatrix4InPlace (const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4f & | MulByMatrix4 (const CVector4f &in_vector4, const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4f & | SetNull ()
float | GetLength () const
float | GetLengthSquared () const
SICPPSDK_INLINE CStatus | NormalizeInPlace ()
SICPPSDK_INLINE CStatus | Normalize (const CVector4f &in_vector4)
SICPPSDK_INLINE float | Dot (const CVector4f &in_vector4) const
SICPPSDK_INLINE CVector4f & | Cross (const CVector4f &in_vector4A, const CVector4f &in_vector4B)
CVector4f & | AbsoluteInPlace ()
CVector4f & | Absolute (const CVector4f &in_vector4)
bool | EpsilonEquals (const CVector4f &in_vector4, float in_fEpsilon) const
SICPPSDK_INLINE bool | Equals (const CVector4f &in_vector4) const
SICPPSDK_INLINE CVector4f & | ScaleAddInPlace (float in_fS, const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | ScaleAdd (float in_fS, const CVector4f &in_vector4A, const CVector4f &in_vector4B)
SICPPSDK_INLINE CVector4f & | ScaleInPlace (float in_fAlpha)
SICPPSDK_INLINE CVector4f & | Scale (float in_fAlpha, const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | NegateInPlace ()
SICPPSDK_INLINE CVector4f & | Negate (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | SubInPlace (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | Sub (const CVector4f &in_vector4A, const CVector4f &in_vector4B)
SICPPSDK_INLINE CVector4f & | AddInPlace (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4f & | Add (const CVector4f &in_vector4A, const CVector4f &in_vector4B)
SICPPSDK_INLINE void | Get (float &out_fX, float &out_fY, float &out_fZ, float &out_fW) const
SICPPSDK_INLINE CVector4f & | Set (float in_fX, float in_fY, float in_fZ, float in_fW)
SICPPSDK_INLINE float | GetW () const
SICPPSDK_INLINE CVector4f & | PutW (float in_fW)
SICPPSDK_INLINE float | GetZ () const
SICPPSDK_INLINE CVector4f & | PutZ (float in_fZ)
SICPPSDK_INLINE float | GetY () const
SICPPSDK_INLINE CVector4f & | PutY (float in_fY)
SICPPSDK_INLINE float | GetX () const
SICPPSDK_INLINE CVector4f & | PutX (float in_fX)

## Constructor & Destructor Documentation

SICPPSDK_INLINE CVector4f | ( |  | ) |

Default constructor.

SICPPSDK_INLINE CVector4f | ( | float | in_fX,
|  | float | in_fY,
|  | float | in_fZ,
|  | float | in_fW
| ) |  |

Constructor.

Parameters:

  in_fX | Value of the x component
  in_fY | Value of the y component
  in_fZ | Value of the z component
  in_fW | Value of the w component

SICPPSDK_INLINE CVector4f | ( | const CVector4f & | in_vector4 | ) |

Copy constructor.

Parameters:

  in_vector4 | constant class object.

SICPPSDK_INLINE ~CVector4f | ( |  | ) |

Default destructor.

## Member Function Documentation

SICPPSDK_INLINE CVector4f & operator= | ( | const CVector4f & | in_vector4 | ) |

Assignment operator.

Parameters:

  in_vector4 | constant class object.

Returns:
  A reference to this quaternion.

SICPPSDK_INLINE bool operator== | ( | const CVector4f & | 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:
  CVector4f::Equals

SICPPSDK_INLINE bool operator!= | ( | const CVector4f & | 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:
  CVector4f::Equals

SICPPSDK_INLINE bool operator< | ( | const CVector4f & | in_vector4 | ) | const

Less than operator. Performs a comparison with a specified CVector4f to determine if this CVector4f is less than the specified CVector4f. The comparison is arbitrary and not geometrically meaningful, it's only purpose is to make CVector4f compliant with stl for sorting operations.

Parameters:

  in_vector4 | CVector4f to compare.

Returns:
  true if this CVector4f is less than the specified CVector4f, false otherwise.

Since:
  7.5

SICPPSDK_INLINE CVector4f & operator~ | ( |  | ) |

Negates this vector (this = - this).

Returns:
  A reference to this vector.

See also:
  CVector4f::NegateInPlace

SICPPSDK_INLINE CVector4f & operator+= | ( | const CVector4f & | in_vector4 | ) |

Adds the input vector to this one (this = this + in_vector4).

Parameters:

  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

See also:
  CVector4f::AddInPlace

SICPPSDK_INLINE CVector4f & operator-= | ( | const CVector4f & | in_vector4 | ) |

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:
  CVector4f::SubInPlace

SICPPSDK_INLINE CVector4f & operator*= | ( | const CMatrix4f & | in_matrix4 | ) |

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:
  CVector4f::MulByMatrix4InPlace

SICPPSDK_INLINE CVector4f & operator*= | ( | const float & | in_fAlpha | ) |

Scales this vector by the input scalar (alpha) (this = alpha * this).

Parameters:

  in_fAlpha | Scalar multiplicator.

Returns:
  A reference to this vector.

See also:
  CVector4f::ScaleInPlace

SICPPSDK_INLINE float 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:
  CVector4f::GetX(), CVector4f::GetY(), CVector4f::GetZ(), CVector4f::GetW()

SICPPSDK_INLINE CVector4f & MulByMatrix4InPlace | ( | const CMatrix4f & | in_matrix4 | ) |

Right-multiplies this vector by the matrix m in place (this = this * m ).

Parameters:

  in_matrix4 | Operand matrix.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & MulByMatrix4 | ( | const CVector4f & | in_vector4,
|  | const CMatrix4f & | in_matrix4
| ) |  |

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.

SICPPSDK_INLINE CVector4f & SetNull | ( |  | ) |

Sets this vector to a null vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE float GetLength | ( |  | ) | const

Returns the length of this vector.

Returns:
  Length of this vector.

SICPPSDK_INLINE float GetLengthSquared | ( |  | ) | const

Returns the squared length of this vector.

Returns:
  Squared length of this vector.

SICPPSDK_INLINE CStatus NormalizeInPlace | ( |  | ) |

Normalizes this vector in place.

Returns:
  CStatus::OK if the normalization has been computed,

SICPPSDK_INLINE CStatus Normalize | ( | const CVector4f & | in_vector4 | ) |

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.

SICPPSDK_INLINE float Dot | ( | const CVector4f & | in_vector4 | ) | const

Returns the dot product of this vector and the input vector.

Parameters:

  in_vector4 | vector operand.

Returns:
  Dot product of this vector and vector in_vector4.

SICPPSDK_INLINE CVector4f& Cross | ( | const CVector4f & | in_vector4A,
|  | const CVector4f & | in_vector4B
| ) |  |

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.

SICPPSDK_INLINE CVector4f & AbsoluteInPlace | ( |  | ) |

Sets each component of this vector to its absolute value.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & Absolute | ( | const CVector4f & | in_vector4 | ) |

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.

SICPPSDK_INLINE bool EpsilonEquals | ( | const CVector4f & | in_vector4,
|  | float | in_fEpsilon
| ) |  | const

Tests the equality of this vector with the vector in_vector3, with a tolerance of Epsilon.

Parameters:

  in_vector4 | Operand vector.
  in_fEpsilon | Error margin Possible Values: [0, +INF[ should be a positive value

Returns:
  true if equal else false.

SICPPSDK_INLINE bool Equals | ( | const CVector4f & | 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.

SICPPSDK_INLINE CVector4f & ScaleAddInPlace | ( | float | in_fS,
|  | const CVector4f & | 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_fS | Scalar multiplicator.
  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & ScaleAdd | ( | float | in_fS,
|  | const CVector4f & | in_vector4A,
|  | const CVector4f & | in_vector4B
| ) |  |

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_fS | Scalar multiplicator.
  in_vector4A | Operand vector.
  in_vector4B | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & ScaleInPlace | ( | float | in_fAlpha | ) |

Scales this vector by the input scalar (alpha) (this = alpha * this).

Parameters:

  in_fAlpha | Scalar multiplicator.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & Scale | ( | float | in_fAlpha,
|  | const CVector4f & | in_vector4
| ) |  |

Scales the input vector (v) by (alpha) store the result into this one (this = alpha * v).

Parameters:

  in_fAlpha | Scalar multiplicator.
  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & NegateInPlace | ( |  | ) |

Negates this vector (this = - this).

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & Negate | ( | const CVector4f & | in_vector4 | ) |

Negates the input vector (v) store the result into this one (this = - v).

Parameters:

  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & SubInPlace | ( | const CVector4f & | in_vector4 | ) |

Subtracts the input vector (v) from this one (this = this - v).

Parameters:

  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & Sub | ( | const CVector4f & | in_vector4A,
|  | const CVector4f & | in_vector4B
| ) |  |

Subtracts the input vector (`in_vector4B`) from the input vector (`in_vector4A`) and stores the result into this one (`this = in_vector4A - in_vector4B`).

Parameters:

  in_vector4A | Operand vector.
  in_vector4B | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & AddInPlace | ( | const CVector4f & | in_vector4 | ) |

Adds the input vector to this one (this = this + in_vector3).

Parameters:

  in_vector4 | Operand vector.

Returns:
  A reference to this vector.

SICPPSDK_INLINE CVector4f & Add | ( | const CVector4f & | in_vector4A,
|  | const CVector4f & | in_vector4B
| ) |  |

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.

SICPPSDK_INLINE void Get | ( | float & | out_fX,
|  | float & | out_fY,
|  | float & | out_fZ,
|  | float & | out_fW
| ) |  | const

Returns the X, Y, Z and W values of the vector.

Return values:

  out_fX | X value to get in the vector.
  out_fY | Y value to get in the vector.
  out_fZ | Z value to get in the vector.
  out_fW | W value to get in the vector.

SICPPSDK_INLINE CVector4f & Set | ( | float | in_fX,
|  | float | in_fY,
|  | float | in_fZ,
|  | float | in_fW
| ) |  |

Sets the X, Y, Z and W values of the vector.

Parameters:

  in_fX | X value to set in the vector.
  in_fY | Y value to set in the vector.
  in_fZ | Z value to set in the vector.
  in_fW | W value to set in the vector.

Returns:
  A reference to the vector.

SICPPSDK_INLINE float GetW | ( |  | ) | const

Returns the W value of this vector.

Returns:
  W value of this vector.

SICPPSDK_INLINE CVector4f & PutW | ( | float | in_fW | ) |

Sets the W value of this vector.

Parameters:

  in_fW | z value.

Returns:
  A reference to this vector.

SICPPSDK_INLINE float GetZ | ( |  | ) | const

Returns the Z value of this vector.

Returns:
  Z value of this vector.

SICPPSDK_INLINE CVector4f & PutZ | ( | float | in_fZ | ) |

Sets the Z value of this vector.

Parameters:

  in_fZ | z value.

Returns:
  A reference to this vector.

SICPPSDK_INLINE float GetY | ( |  | ) | const

Returns the Y value of this vector.

Returns:
  Y value of this vector.

SICPPSDK_INLINE CVector4f & PutY | ( | float | in_fY | ) |

Sets the Y value of this vector.

Parameters:

  in_fY | y value.

Returns:
  A reference to this vector.

SICPPSDK_INLINE float GetX | ( |  | ) | const

Returns the X value of this vector.

Returns:
  X value of this vector.

SICPPSDK_INLINE CVector4f & PutX | ( | float | in_fX | ) |

Sets the X value of this vector.

Parameters:

  in_fX | x value.

Returns:
  A reference to this vector.

The documentation for this class was generated from the following file:

- xsi_vector4f.h