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 CVector4foperator= (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 CVector4foperator~ ()
SICPPSDK_INLINE CVector4foperator+= (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4foperator-= (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4foperator*= (const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4foperator*= (const float &in_fAlpha)
SICPPSDK_INLINE float operator[] (const short &in_sIndex)
SICPPSDK_INLINE CVector4fMulByMatrix4InPlace (const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4fMulByMatrix4 (const CVector4f &in_vector4, const CMatrix4f &in_matrix4)
SICPPSDK_INLINE CVector4fSetNull ()
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 CVector4fCross (const CVector4f &in_vector4A, const CVector4f &in_vector4B)
CVector4fAbsoluteInPlace ()
CVector4fAbsolute (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 CVector4fScaleAddInPlace (float in_fS, const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4fScaleAdd (float in_fS, const CVector4f &in_vector4A, const CVector4f &in_vector4B)
SICPPSDK_INLINE CVector4fScaleInPlace (float in_fAlpha)
SICPPSDK_INLINE CVector4fScale (float in_fAlpha, const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4fNegateInPlace ()
SICPPSDK_INLINE CVector4fNegate (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4fSubInPlace (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4fSub (const CVector4f &in_vector4A, const CVector4f &in_vector4B)
SICPPSDK_INLINE CVector4fAddInPlace (const CVector4f &in_vector4)
SICPPSDK_INLINE CVector4fAdd (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 CVector4fSet (float in_fX, float in_fY, float in_fZ, float in_fW)
SICPPSDK_INLINE float GetW () const
SICPPSDK_INLINE CVector4fPutW (float in_fW)
SICPPSDK_INLINE float GetZ () const
SICPPSDK_INLINE CVector4fPutZ (float in_fZ)
SICPPSDK_INLINE float GetY () const
SICPPSDK_INLINE CVector4fPutY (float in_fY)
SICPPSDK_INLINE float GetX () const
SICPPSDK_INLINE CVector4fPutX (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_fXValue of the x component
in_fYValue of the y component
in_fZValue of the z component
in_fWValue of the w component
SICPPSDK_INLINE CVector4f ( const CVector4f in_vector4)

Copy constructor.

Parameters:
in_vector4constant class object.
SICPPSDK_INLINE ~CVector4f ( )

Default destructor.


Member Function Documentation

SICPPSDK_INLINE CVector4f & operator= ( const CVector4f in_vector4)

Assignment operator.

Parameters:
in_vector4constant 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_vector4Operand 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_vector4Operand 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_vector4CVector4f 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_vector4Operand 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_vector4Operand 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_matrix4Operand 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_fAlphaScalar 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_sIndex0,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_matrix4Operand 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_vector4Operand vector
in_matrix4Operand 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_vector4vector 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_vector4vector 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_vector4Avector operand.
in_vector4Bvector 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_vector4Vector 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_vector4Operand vector.
in_fEpsilonError 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_vector4Operand 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_fSScalar multiplicator.
in_vector4Operand 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_fSScalar multiplicator.
in_vector4AOperand vector.
in_vector4BOperand 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_fAlphaScalar 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_fAlphaScalar multiplicator.
in_vector4Operand 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_vector4Operand 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_vector4Operand 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_vector4AOperand vector.
in_vector4BOperand 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_vector4Operand 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_vector4AOperand vector.
in_vector4BOperand 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_fXX value to get in the vector.
out_fYY value to get in the vector.
out_fZZ value to get in the vector.
out_fWW 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_fXX value to set in the vector.
in_fYY value to set in the vector.
in_fZZ value to set in the vector.
in_fWW 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_fWz 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_fZz 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_fYy 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_fXx value.
Returns:
A reference to this vector.

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