Kaim::CoordSystem Class Reference
#include <coordsystem.h>
This class maintains the mapping between the system of coordinate axes used internally within the game engine, and the system used within the Gameware Navigation engine at runtime.
This mapping is used to automatically convert coordinates and distances back and forth between the systems.
This class represents the mapping between global spaces by internally storing:
- Which axis in the game engine relates to each of the X (Right), Y (Front) and Z (Up) axes within Gameware Navigation.
- Whether the direction of each of those axes must be reversed (or negated).
The number of units in the game engine world that add up to one meter.
Internally, all Gameware Navigation components use a global space in which the X, Y and Z axes represent the Right, Up and Front axes respectively, and all distances are expressed and stored in meters using floating-point numbers.
When you open the Gameware Navigation Engine, an instance of the CoordSystem class is automatically created.
You can access this instance by calling Kaim::CoordSystem::Instance(). In your initialization code, retrieve this instance and set it up with the correct mapping to the coordinate system used in your game engine by calling Setup().
To convert values between different coordinate systems, you can use the class methods of this object directly.
A type that represents the possible axis orientations that can be assigned to each of the Right, Front, and Up axes used within Gameware Navigation.
Used in calls to CoordSystem::Setup() and CoordSystem::SetAxes().
Kaim::CoordSystem::CoordSystem |
( |
| ) |
|
|
inline |
For internal use: constructs a new instance of this class.
void Kaim::CoordSystem::ClientToNavigation_AngularVelocity |
( |
const Vec3f & |
clientAngularVelocity, |
|
|
Vec3f & |
navigationAngularVelocity |
|
) |
| const |
|
inline |
Converts an angular velocity vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientAngularVelocity | The angular velocity vector to convert, expressed in the game engine coordinate system. |
[out] | navigationAngularVelocity | Used to store the converted angular velocity vector, expressed in the Gameware Navigation coordinate system. |
Vec3f Kaim::CoordSystem::ClientToNavigation_AngularVelocity |
( |
const Vec3f & |
clientAngularVelocity | ) |
const |
|
inline |
Converts an angular velocity vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientAngularVelocity | The angular velocity vector to convert, expressed in the game engine coordinate system. |
- Returns
- The converted angular velocity vector, expressed in the Gameware Navigation coordinate system.
void Kaim::CoordSystem::ClientToNavigation_Box |
( |
const Vec3f & |
clientMin, |
|
|
const Vec3f & |
clientMax, |
|
|
Box3f & |
navigationBox |
|
) |
| const |
|
inline |
Converts a bounding box from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientMin | The minima of the bounding box to convert, expressed in the game engine coordinate system. |
| clientMax | The maxima of the bounding box to convert, expressed in the game engine coordinate system. |
[out] | navigationBox | Used to store the converted bounding box, expressed in the Gameware Navigation coordinate system. |
void Kaim::CoordSystem::ClientToNavigation_Box |
( |
const Box3f & |
clientBox, |
|
|
Box3f & |
navigationBox |
|
) |
| const |
|
inline |
Converts a bounding box from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientBox | The bounding box to convert, expressed in the game engine coordinate system. |
[out] | navigationBox | Used to store the converted bounding box, expressed in the Gameware Navigation coordinate system. |
Converts a distance measurement from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientDist | The distance to convert, expressed in game engine units. |
- Returns
- The converted distance, expressed in meters.
void Kaim::CoordSystem::ClientToNavigation_Extents |
( |
const Vec3f & |
clientExtents, |
|
|
Vec3f & |
navigationExtents |
|
) |
| const |
|
inline |
Converts an extents vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Precondition
- All coordinates of input vector must be positive or null.
- Parameters
-
| clientExtents | The extents vector to convert, expressed in the game engine coordinate system. |
[out] | navigationExtents | Used to store the converted extents vector, expressed in the Gameware Navigation coordinate system. |
Vec3f Kaim::CoordSystem::ClientToNavigation_Extents |
( |
const Vec3f & |
clientExtents | ) |
const |
|
inline |
Converts an extents vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Precondition
- All coordinates of input vector must be positive or null.
- Parameters
-
clientExtents | The extents vector to convert, expressed in the game engine coordinate system. |
- Returns
- The converted extents vector, expressed in the Gameware Navigation coordinate system.
void Kaim::CoordSystem::ClientToNavigation_Matrix |
( |
const Matrix3x3f & |
clientMatrix, |
|
|
Matrix3x3f & |
navigationMatrix |
|
) |
| const |
|
inline |
Converts a matrix from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientMatrix | The matrix to convert, expressed in the game engine coordinate system. |
[out] | navigationMatrix | Used to store the converted matrix, expressed in the Gameware Navigation coordinate system. |
void Kaim::CoordSystem::ClientToNavigation_Normal |
( |
const Vec3f & |
clientNormal, |
|
|
Vec3f & |
navigationNormal |
|
) |
| const |
|
inline |
Converts a normalized vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientNormal | The normal to convert, expressed in the game engine coordinate system. |
[out] | navigationNormal | Used to store the converted normal, expressed in the Gameware Navigation coordinate system. |
Vec3f Kaim::CoordSystem::ClientToNavigation_Normal |
( |
const Vec3f & |
clientNormal | ) |
const |
|
inline |
Converts a normalized vector from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientNormal | The normal to convert, expressed in the game engine coordinate system. |
- Returns
- The converted normal, expressed in the Gameware Navigation coordinate system.
void Kaim::CoordSystem::ClientToNavigation_Pos |
( |
const Vec3f & |
clientPos, |
|
|
Vec3f & |
navigationPos |
|
) |
| const |
|
inline |
Converts a position from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientPos | The position to convert, expressed in the game engine coordinate system. |
[out] | navigationPos | Used to store the converted position, expressed in the Gameware Navigation coordinate system. |
Vec3f Kaim::CoordSystem::ClientToNavigation_Pos |
( |
const Vec3f & |
clientPos | ) |
const |
|
inline |
Converts a position from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientPos | The position to convert, expressed in the game engine coordinate system. |
- Returns
- The converted position, expressed in the Gameware Navigation coordinate system.
KyFloat32 Kaim::CoordSystem::ClientToNavigation_SquareDist |
( |
KyFloat32 |
clientSquareDist | ) |
const |
|
inline |
Converts a squared distance measurement from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientSquareDist | The squared distance to convert, expressed in game engine units. |
- Returns
- The converted squared distance, expressed in meters.
void Kaim::CoordSystem::ClientToNavigation_Transform |
( |
const Transform & |
clientTransform, |
|
|
Transform & |
navigationTransform |
|
) |
| const |
|
inline |
Converts a Transform from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
| clientTransform | The Transform to convert, expressed in the game engine coordinate system. |
[out] | navigationTransform | Used to store the converted Transform, expressed in the Gameware Navigation coordinate system. |
void Kaim::CoordSystem::ClientToNavigation_Triangle |
( |
const Triangle3f & |
clientTriangle, |
|
|
Triangle3f & |
navigationTriangle |
|
) |
| const |
|
inline |
Converts a triangle from the game engine coordinate system to the Gameware Navigation coordinate system.
- Parameters
-
clientTriangle | The converted triangle, expressed in the game engine coordinate system. |
navigationTriangle | The triangle to convert, expressed in the Gameware Navigation coordinate system. |
Retrieves the axis in the game engine coordinate system that is mapped to the X axis within the Gameware Navigation coordinate system.
Retrieves the axis in the game engine coordinate system that is mapped to the Y axis within the Gameware Navigation coordinate system.
Retrieves the axis in the game engine coordinate system that is mapped to the Z axis within the Gameware Navigation coordinate system.
bool Kaim::CoordSystem::IsRightHanded |
( |
| ) |
const |
|
inline |
Indicates whether or not CoordSystem instance is right-handed.
void Kaim::CoordSystem::NavigationToClient_AngularVelocity |
( |
const Vec3f & |
navigationAngularVelocity, |
|
|
Vec3f & |
clientAngularVelocity |
|
) |
| const |
|
inline |
Converts an angular velocity vector from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationAngularVelocity | The angular velocity vector to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientAngularVelocity | Used to store the converted angular velocity vector, expressed in the game engine coordinate system. |
Vec3f Kaim::CoordSystem::NavigationToClient_AngularVelocity |
( |
const Vec3f & |
navigationAngularVelocity | ) |
const |
|
inline |
Converts an angular velocity vector from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationAngularVelocity | The angular velocity vector to convert, expressed in the Gameware Navigation coordinate system. |
- Returns
- The converted angular velocity vector, expressed in the game engine coordinate system.
void Kaim::CoordSystem::NavigationToClient_Box |
( |
const Box3f & |
navigationBox, |
|
|
Vec3f & |
clientMin, |
|
|
Vec3f & |
clientMax |
|
) |
| const |
|
inline |
Converts a bounding box from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationBox | The bounding box to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientMin | The minima of the bounding box, expressed in the game engine coordinate system. |
[out] | clientMax | The maxima of the bounding box, expressed in the game engine coordinate system. |
void Kaim::CoordSystem::NavigationToClient_Box |
( |
const Box3f & |
navigationBox, |
|
|
Box3f & |
clientBox |
|
) |
| const |
|
inline |
Converts a bounding box from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationBox | The bounding box to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientBox | Used to store the converted bounding box, expressed in the game engine coordinate system. |
Converts a distance measurement from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationDist | The distance to convert, expressed in meters. |
- Returns
- The converted distance, expressed in game engine units.
void Kaim::CoordSystem::NavigationToClient_Extents |
( |
const Vec3f & |
navigationExtents, |
|
|
Vec3f & |
clientExtents |
|
) |
| const |
|
inline |
Converts an extents vector from the Gameware Navigation engine coordinate system to the game coordinate system.
- Precondition
- All coordinates of input vector must be positive or null.
- Parameters
-
| navigationExtents | The extents vector to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientExtents | Used to store the converted extents vector, expressed in the game engine coordinate system. |
Vec3f Kaim::CoordSystem::NavigationToClient_Extents |
( |
const Vec3f & |
navigationExtents | ) |
const |
|
inline |
Converts an extents vector from the Gameware Navigation coordinate system to the game engine coordinate system.
- Precondition
- All coordinates of input vector must be positive or null.
- Parameters
-
navigationExtents | The extents vector to convert, expressed in the Gameware Navigation coordinate system. |
- Returns
- The converted extents vector, expressed in the game engine coordinate system.
void Kaim::CoordSystem::NavigationToClient_Matrix |
( |
const Matrix3x3f & |
navigationMatrix, |
|
|
Matrix3x3f & |
clientMatrix |
|
) |
| const |
|
inline |
Converts a matrix from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationMatrix | The matrix to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientMatrix | Used to store the converted matrix, expressed in the game engine coordinate system. |
void Kaim::CoordSystem::NavigationToClient_Normal |
( |
const Vec3f & |
navigationNormal, |
|
|
Vec3f & |
clientNormal |
|
) |
| const |
|
inline |
Converts a normalized vector from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationNormal | The normal to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientNormal | Used to store the converted normal, expressed in the game engine coordinate system. |
Vec3f Kaim::CoordSystem::NavigationToClient_Normal |
( |
const Vec3f & |
navigationNormal | ) |
const |
|
inline |
Converts a normalized vector from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationNormal | The normal to convert, expressed in the Gameware Navigation coordinate system. |
- Returns
- The converted normal, expressed in the game engine coordinate system.
void Kaim::CoordSystem::NavigationToClient_Pos |
( |
const Vec3f & |
navigationPos, |
|
|
Vec3f & |
clientPos |
|
) |
| const |
|
inline |
Converts a position from the Gameware Navigation engine coordinate system to the game coordinate system.
- Parameters
-
| navigationPos | The position to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientPos | Used to store the converted position, expressed in the game engine coordinate system. |
Vec3f Kaim::CoordSystem::NavigationToClient_Pos |
( |
const Vec3f & |
navigationPos | ) |
const |
|
inline |
Converts a position from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationPos | The position to convert, expressed in the Gameware Navigation coordinate system. |
- Returns
- The converted position, expressed in the game engine coordinate system.
KyFloat32 Kaim::CoordSystem::NavigationToClient_SquareDist |
( |
KyFloat32 |
navigationSquareDist | ) |
const |
|
inline |
Converts a squared distance measurement from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationSquareDist | The squared distance to convert, expressed in meters. |
- Returns
- The converted squared distance, expressed in game engine units.
void Kaim::CoordSystem::NavigationToClient_Transform |
( |
const Transform & |
navigationTransform, |
|
|
Transform & |
clientTransform |
|
) |
| const |
|
inline |
Converts a Transform from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
| navigationTransform | The Transform to convert, expressed in the Gameware Navigation coordinate system. |
[out] | clientTransform | Used to store the converted Transform, expressed in the game engine coordinate system. |
void Kaim::CoordSystem::NavigationToClient_Triangle |
( |
const Triangle3f & |
navigationTriangle, |
|
|
Triangle3f & |
clientTriangle |
|
) |
| const |
|
inline |
Converts a triangle from the Gameware Navigation coordinate system to the game engine coordinate system.
- Parameters
-
navigationTriangle | The triangle to convert, expressed in the Gameware Navigation coordinate system. |
clientTriangle | The converted triangle, expressed in the game engine coordinate system. |
bool Kaim::CoordSystem::operator!= |
( |
const CoordSystem & |
other | ) |
const |
|
inline |
Indicates whether or not the two CoordSystem instances contain at least one different data member.
bool Kaim::CoordSystem::operator== |
( |
const CoordSystem & |
other | ) |
const |
|
inline |
Indicates whether or not the two CoordSystem instances contain the same data members.
void Kaim::CoordSystem::SetClientAxisForNavigationX |
( |
ClientAxis |
clientAxisForNavigationX | ) |
|
|
inline |
Sets the axis in the game engine coordinate system that should be mapped to the X axis within the Gameware Navigation coordinate system.
void Kaim::CoordSystem::SetClientAxisForNavigationY |
( |
ClientAxis |
clientAxisForNavigationY | ) |
|
|
inline |
Sets the axis in the game engine coordinate system that should be mapped to the Y axis within the Gameware Navigation coordinate system.
void Kaim::CoordSystem::SetClientAxisForNavigationZ |
( |
ClientAxis |
clientAxisForNavigationZ | ) |
|
|
inline |
Sets the axis in the game engine coordinate system that should be mapped to the Z axis within the Gameware Navigation coordinate system.
void Kaim::CoordSystem::SetOneMeterInClientUnits |
( |
KyFloat32 |
oneMeter | ) |
|
|
inline |
Sets the number of world units in the game engine that add up to one meter in length.
Sets the mapping between the coordinate system used in the Gameware Navigation Engine and the game engine.
- Parameters
-
oneMeterInClientUnits | The number of world units in the game engine that add up to one meter in length. |
clientAxisForNavigationX | The axis in the game engine coordinate system that should be mapped to the X axis within the Gameware Navigation coordinate system. |
clientAxisForNavigationY | The axis in the game engine coordinate system that should be mapped to the Y axis within the Gameware Navigation coordinate system. |
clientAxisForNavigationZ | The axis in the game engine coordinate system that should be mapped to the Z axis within the Gameware Navigation coordinate system. |
Sets the mapping between the coordinate system used in the Gameware Navigation Engine and the game engine using the values set in the specified CoordSystemConfig object.
const ClientAxis Kaim::CoordSystem::CLIENT_MINUS_X = Kaim::CLIENT_MINUS_X |
|
static |
Represents the negative direction of the X axis in the game engine.
const ClientAxis Kaim::CoordSystem::CLIENT_MINUS_Y = Kaim::CLIENT_MINUS_Y |
|
static |
Represents the negative direction of the Y axis in the game engine.
const ClientAxis Kaim::CoordSystem::CLIENT_MINUS_Z = Kaim::CLIENT_MINUS_Z |
|
static |
Represents the negative direction of the Z axis in the game engine.
const ClientAxis Kaim::CoordSystem::CLIENT_X = Kaim::CLIENT_X |
|
static |
Represents the positive direction of the X axis in the game engine.
const ClientAxis Kaim::CoordSystem::CLIENT_Y = Kaim::CLIENT_Y |
|
static |
Represents the positive direction of the Y axis in the game engine.
const ClientAxis Kaim::CoordSystem::CLIENT_Z = Kaim::CLIENT_Z |
|
static |
Represents the positive direction of the Z axis in the game engine.
KyInt32 Kaim::CoordSystem::m_navigationX_idx |
Identifies the index within each Vec3f that contains game engine coordinates that is mapped to the X axis in the Gameware Navigation coordinate system.
KyFloat32 Kaim::CoordSystem::m_navigationX_sign |
Indicates whether coordinates on the Gameware Navigation X axis need to be negated when converting between the Gameware Navigation and game engine coordinate systems.
KyInt32 Kaim::CoordSystem::m_navigationY_idx |
Identifies the index within each Vec3f that contains game engine coordinates that is mapped to the Y axis in the Gameware Navigation coordinate system.
KyFloat32 Kaim::CoordSystem::m_navigationY_sign |
Indicates whether coordinates on the Gameware Navigation Y axis need to be negated when converting between the Gameware Navigation and game engine coordinate systems.
KyInt32 Kaim::CoordSystem::m_navigationZ_idx |
Identifies the index within each Vec3f that contains game engine coordinates that is mapped to the Z axis in the Gameware Navigation coordinate system.
KyFloat32 Kaim::CoordSystem::m_navigationZ_sign |
Indicates whether coordinates on the Gameware Navigation Z axis need to be negated when converting between the Gameware Navigation and game engine coordinate systems.
The number of world units in the game engine that add up to one meter in length.
The documentation for this class was generated from the following files: