Data Structures | Functions | Variables

OrxVector

Data Structures

struct  orxVECTOR

Functions

static orxINLINE orxFLOAT orxVector_2DDot (const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_2DRotate (orxVECTOR *_pvRes, const orxVECTOR *_pvOp, orxFLOAT _fAngle)
static orxINLINE orxVECTORorxVector_Add (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxBOOL orxVector_AreEqual (const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Clamp (orxVECTOR *_pvRes, const orxVECTOR *_pvOp, const orxVECTOR *_pvMin, const orxVECTOR *_pvMax)
static orxINLINE orxVECTORorxVector_Copy (orxVECTOR *_pvDst, const orxVECTOR *_pvSrc)
static orxINLINE orxVECTORorxVector_Cross (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Div (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Divf (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
static orxINLINE orxFLOAT orxVector_Dot (const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Floor (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_FromCartesianToSpherical (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_FromSphericalToCartesian (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxVector_GetDistance (const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxFLOAT orxVector_GetSize (const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxVector_GetSquareDistance (const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxFLOAT orxVector_GetSquareSize (const orxVECTOR *_pvOp)
static orxINLINE orxBOOL orxVector_IsNull (const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_Lerp (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2, orxFLOAT _fOp)
static orxINLINE orxVECTORorxVector_Max (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Min (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Mul (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTORorxVector_Mulf (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
static orxINLINE orxVECTORorxVector_Neg (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_Normalize (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_Rec (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_Round (orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTORorxVector_Set (orxVECTOR *_pvVec, orxFLOAT _fX, orxFLOAT _fY, orxFLOAT _fZ)
static orxINLINE orxVECTORorxVector_SetAll (orxVECTOR *_pvVec, orxFLOAT _fValue)
static orxINLINE orxVECTORorxVector_Sub (orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)

Variables

orxDLLAPI const orxVECTOR orxVECTOR_0
orxDLLAPI const orxVECTOR orxVECTOR_1
orxDLLAPI const orxVECTOR orxVECTOR_BLACK
orxDLLAPI const orxVECTOR orxVECTOR_BLUE
orxDLLAPI const orxVECTOR orxVECTOR_GREEN
orxDLLAPI const orxVECTOR orxVECTOR_RED
orxDLLAPI const orxVECTOR orxVECTOR_WHITE
orxDLLAPI const orxVECTOR orxVECTOR_X
orxDLLAPI const orxVECTOR orxVECTOR_Y
orxDLLAPI const orxVECTOR orxVECTOR_Z

Detailed Description

Vector module Module that handles vectors and basic structures based on them


Function Documentation

static orxINLINE orxFLOAT orxVector_2DDot ( const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets 2D dot product of two vectors

Parameters:
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
2D dot product

Definition at line 800 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_2DRotate ( orxVECTOR _pvRes,
const orxVECTOR _pvOp,
orxFLOAT  _fAngle 
) [static]

Rotates a 2D vector (along Z-axis)

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to rotate
[in]_fAngleAngle of rotation (radians)
Returns:
Rotated vector

Definition at line 577 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Add ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Adds vectors and stores result in a third one

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector (Op1 + Op2)

Definition at line 145 of file orxVector.h.

static orxINLINE orxBOOL orxVector_AreEqual ( const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Are vectors equal?

Parameters:
[in]_pvOp1First vector to compare
[in]_pvOp2Second vector to compare
Returns:
orxTRUE if both vectors are equal, orxFALSE otherwise

Definition at line 619 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Clamp ( orxVECTOR _pvRes,
const orxVECTOR _pvOp,
const orxVECTOR _pvMin,
const orxVECTOR _pvMax 
) [static]

Clamps a vector between two others

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to clamp
[in]_pvMinMinimum boundary
[in]_pvMaxMaximum boundary
Returns:
Resulting vector CLAMP(Op, MIN, MAX)

Definition at line 353 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Copy ( orxVECTOR _pvDst,
const orxVECTOR _pvSrc 
) [static]

Copies a vector onto another one

Parameters:
[in]_pvDstVector to copy to (destination)
[in]_pvSrcVector to copy from (source)
Returns:
Destination vector

Definition at line 126 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Cross ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets cross product of two vectors

Parameters:
[out]_pvResVector where to store result
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Cross product orxVECTOR / orxNULL

Definition at line 821 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Div ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Divides a vector by another vector and stores result in a third one

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector (Op1 / Op2)

Definition at line 259 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Divf ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
orxFLOAT  _fOp2 
) [static]

Divides a vector by an orxFLOAT and stores result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOp1First operand
[in]_fOp2Second operand
Returns:
Resulting vector

Definition at line 232 of file orxVector.h.

static orxINLINE orxFLOAT orxVector_Dot ( const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets dot product of two vectors

Parameters:
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Dot product

Definition at line 780 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Floor ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Gets floored vector and stores the result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpInput value
Returns:
Resulting vector Floor(Op)

Definition at line 415 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_FromCartesianToSpherical ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Transforms a cartesian vector into a spherical one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to transform
Returns:
Transformed vector

Definition at line 639 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_FromSphericalToCartesian ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Transforms a spherical vector into a cartesian one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to transform
Returns:
Transformed vector

Definition at line 733 of file orxVector.h.

static orxINLINE orxFLOAT orxVector_GetDistance ( const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets distance between 2 positions

Parameters:
[in]_pvOp1First position
[in]_pvOp2Second position
Returns:
Distance

Definition at line 515 of file orxVector.h.

static orxINLINE orxFLOAT orxVector_GetSize ( const orxVECTOR _pvOp ) [static]

Gets vector size

Parameters:
[in]_pvOpInput vector
Returns:
Vector's size

Definition at line 472 of file orxVector.h.

static orxINLINE orxFLOAT orxVector_GetSquareDistance ( const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets squared distance between 2 positions

Parameters:
[in]_pvOp1First position
[in]_pvOp2Second position
Returns:
Squared distance

Definition at line 491 of file orxVector.h.

static orxINLINE orxFLOAT orxVector_GetSquareSize ( const orxVECTOR _pvOp ) [static]

Gets vector squared size

Parameters:
[in]_pvOpInput vector
Returns:
Vector's squared size

Definition at line 454 of file orxVector.h.

static orxINLINE orxBOOL orxVector_IsNull ( const orxVECTOR _pvOp ) [static]

Is vector null?

Parameters:
[in]_pvOpVector to test
Returns:
orxTRUE if vector's null, orxFALSE otherwise

Definition at line 600 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Lerp ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2,
orxFLOAT  _fOp 
) [static]

Lerps from one vector to another one using a coefficient

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
[in]_fOpLerp coefficient parameter
Returns:
Resulting vector

Definition at line 285 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Max ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets maximum between two vectors

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector MAX(Op1, Op2)

Definition at line 330 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Min ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Gets minimum between two vectors

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector MIN(Op1, Op2)

Definition at line 308 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Mul ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Multiplies a vector by another vector and stores result in a third one

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector (Op1 * Op2)

Definition at line 210 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Mulf ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
orxFLOAT  _fOp2 
) [static]

Multiplies a vector by an orxFLOAT and stores result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOp1First operand
[in]_fOp2Second operand
Returns:
Resulting vector

Definition at line 189 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Neg ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Negates a vector and stores result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to negates
Returns:
Resulting vector (-Op)

Definition at line 375 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Normalize ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Normalizes a vector

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpVector to normalize
Returns:
Normalized vector

Definition at line 539 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Rec ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Gets reciprocal (1.0 /) vector and stores the result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpInput value
Returns:
Resulting vector (1 / Op)

Definition at line 395 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Round ( orxVECTOR _pvRes,
const orxVECTOR _pvOp 
) [static]

Gets rounded vector and stores the result in another one

Parameters:
[out]_pvResVector where to store result (can be the operand)
[in]_pvOpInput value
Returns:
Resulting vector Round(Op)

Definition at line 435 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Set ( orxVECTOR _pvVec,
orxFLOAT  _fX,
orxFLOAT  _fY,
orxFLOAT  _fZ 
) [static]

Sets vector XYZ values (also work for other coordinate system)

Parameters:
[in]_pvVecConcerned vector
[in]_fXFirst coordinate value
[in]_fYSecond coordinate value
[in]_fZThird coordinate value
Returns:
Vector

Definition at line 96 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_SetAll ( orxVECTOR _pvVec,
orxFLOAT  _fValue 
) [static]

Sets all the vector coordinates with the given value

Parameters:
[in]_pvVecConcerned vector
[in]_fValueValue to set
Returns:
Vector

Definition at line 115 of file orxVector.h.

static orxINLINE orxVECTOR* orxVector_Sub ( orxVECTOR _pvRes,
const orxVECTOR _pvOp1,
const orxVECTOR _pvOp2 
) [static]

Substracts vectors and stores result in a third one

Parameters:
[out]_pvResVector where to store result (can be one of the two operands)
[in]_pvOp1First operand
[in]_pvOp2Second operand
Returns:
Resulting vector (Op1 - Op2)

Definition at line 167 of file orxVector.h.


Variable Documentation

orxDLLAPI const orxVECTOR orxVECTOR_0

Null vector

orxDLLAPI const orxVECTOR orxVECTOR_1

Vector filled with 1s

orxDLLAPI const orxVECTOR orxVECTOR_BLACK

Black color vector

orxDLLAPI const orxVECTOR orxVECTOR_BLUE

Blue color vector

orxDLLAPI const orxVECTOR orxVECTOR_GREEN

Green color vector

orxDLLAPI const orxVECTOR orxVECTOR_RED

Red color vector

orxDLLAPI const orxVECTOR orxVECTOR_WHITE

White color vector

orxDLLAPI const orxVECTOR orxVECTOR_X

X-Axis unit vector

orxDLLAPI const orxVECTOR orxVECTOR_Y

Y-Axis unit vector

orxDLLAPI const orxVECTOR orxVECTOR_Z

Z-Axis unit vector


Generated for orx by doxygen 1.5.6