Data Structures | |
class | CarTemplate |
Defines the properties needed initialise a TA::DynamicObjectCar object. More...
| |
struct | Collision |
Stores collision details. More...
| |
class | PreCollision |
Stores collision details. More...
| |
class | PostCollision |
Stores collision details. More...
| |
class | CollisionObject |
The base class of all collision objects. More...
| |
class | CollisionObjectAABBMesh |
An implementation of TA::CollisionObjectComplex. More...
| |
class | CollisionObjectCachedPolyData |
A list of polygons that an object is close too. More...
| |
class | CollisionObjectCapsule |
An capsule implementation of TA::CollisionObjectSimple. More...
| |
class | CollisionObjectCombo |
Provides the collision representation for TA::DynamicObject. More...
| |
class | CollisionObjectComplex |
Provides an representation of large static arbitrary meshes. More...
| |
class | CollisionObjectConvex |
A convex object is an implementation of TA::CollisionObjectSimple. More...
| |
class | CollisionObjectCylinder |
An cylinder implementation of TA::CollisionObjectSimple. More...
| |
class | CollisionObjectLineList |
An implementation of TA::CollisionObjectSimple. More...
| |
class | CollisionObjectSimple |
A base class for all simple collision objects. More...
| |
class | CollisionObjectSphere |
A sphere implementation of TA::CollisionObjectSimple. More...
| |
class | DynamicObject |
Implements interactive objects in the physics simulation. More...
| |
class | DynamicObjectCar |
A car implementation of TA::DynamicObject. More...
| |
class | Physics |
The main interface to the True Axis Physics SDK. More...
| |
class | PhysicsJoint |
Holds information relating to physical joints between dynamic objects. More...
| |
class | PhysicsObject |
A virtual base class for all object types that can be added to the physics simulation. More...
| |
class | PhysicsRender |
Debug render functions. More...
| |
class | StaticObject |
An container for large static arbitrary polygon meshes. More...
| |
class | SurfaceAttribute |
Implements configurable surface attributes for collision objects. More...
| |
class | AABB |
An axis aligned bounding box. More...
| |
class | Mat33 |
A 3 by 3 matrix. More...
| |
class | MemoryMgr |
Memory debugging functions. More...
| |
class | MFrame |
Position and orientation. More...
| |
struct | Vec2 |
A 2 dimensional vector. More...
| |
struct | Vec3 |
A 3 dimensional vector. More...
| |
struct | Vec4 |
A 4 dimensional vector. More...
| |
Types | |
typedef unsigned char | u8 |
typedef unsigned short | u16 |
typedef unsigned int | u32 |
typedef unsigned __int64 | u64 |
typedef size_t | uSize |
typedef signed char | s8 |
typedef short | s16 |
typedef int | s32 |
typedef __int64 | s64 |
typedef char | Char |
Maths | |
float TAC_CALL | Fabs (float fValue) |
int TAC_CALL | Abs (int nValue) |
float TAC_CALL | Sign (float fValue) |
bool TAC_CALL | SignsEqual (float fA, float fB) |
float TAC_CALL | Sqrt (float fValue) |
float TAC_CALL | ReciprocalSqrt (float fValue) |
float TAC_CALL | Pow (float fValue, float fExponent) |
float | Pow2 (float fX) |
float TAC_CALL | Sin (float fAngle) |
float TAC_CALL | Cos (float fAngle) |
float TAC_CALL | Tan (float fAngle) |
void TAC_CALL | SinAndCos (float fAngle, float &fSin, float &fCos) |
float TAC_CALL | ATan2 (float fY, float fX) |
float TAC_CALL | ACos (float fValue) |
float TAC_CALL | FMod (float fValue, float fMod) |
float TAC_CALL | Exp (float fValue) |
float TAC_CALL | Log (float fValue) |
bool TAC_CALL | IsEqualToOneWithInError (float fValue) |
void TAC_CALL | Clamp (float &fValue, float const fMin, const float fMax) |
void TAC_CALL | Clamp (int &nValue, const int nMin, int const nMax) |
void TAC_CALL | ClampPosNeg (float &fValue, float fPositive) |
void TAC_CALL | WrapAngle (float &fValue) |
int TAC_CALL | FastFloatToInt (float fValue) |
bool TAC_CALL | FloatIsOK (float fValue) |
float TAC_CALL | FastMin (float fA, float fB) |
float TAC_CALL | FastMax (float fA, float fB) |
float TAC_CALL | Min (float fA, float fB) |
float TAC_CALL | Max (float fA, float fB) |
void TAC_CALL | ClampIfLessThen (float &fValue, float fClampTo) |
void TAC_CALL | ClampIfGreaterThen (float &fValue, float fClampTo) |
template<class Type> | |
void TAC_CALL | Swap (Type &a, Type &b) |
const float | k_fPi = 3.14159f |
const float | k_fMaxFloat = FLT_MAX |
const float | k_fMinFloat = FLT_MIN |
Vector Maths | |
const Vec2 | k_v2Zero (0.0f, 0.0f) |
const Vec2 | k_v2UnitX (1.0f, 0.0f) |
const Vec2 | k_v2UnitY (0.0f, 1.0f) |
Vector Maths | |
const Vec3 | k_v3Zero (0.0f, 0.0f, 0.0f) |
const Vec3 | k_v3UnitX (1.0f, 0.0f, 0.0f) |
const Vec3 | k_v3UnitY (0.0f, 1.0f, 0.0f) |
const Vec3 | k_v3UnitZ (0.0f, 0.0f, 1.0f) |
Vector Maths | |
const Vec4 | k_v4Zero (0.0f, 0.0f, 0.0f, 0.0f) |
const Vec4 | k_v4UnitX (1.0f, 0.0f, 0.0f, 0.0f) |
const Vec4 | k_v4UnitY (0.0f, 1.0f, 0.0f, 0.0f) |
const Vec4 | k_v4UnitZ (0.0f, 0.0f, 1.0f, 0.0f) |
const Vec4 | k_v4UnitW (0.0f, 0.0f, 0.0f, 1.0f) |
Typedefs | |
typedef float | HeapSortType |
typedef DynamicObjectPair * | HeapSortPtr |
typedef Pool< IPolygon, true >::ActiveList::Iterator | IPolygonIterator |
typedef Pool< IEdge, true >::ActiveList::Iterator | IEdgeIterator |
typedef IZipFile *(* | IZipFile_FnCreateZipFile )() |
Functions | |
bool TAC_CALL | CollisionShared_NewCollision (Collision &collision, CollisionCallData *pCollisionCallbackData) |
bool TAC_CALL | CollisionShared_NewCollisionWithComplex (Collision &collision, CollisionCallData *pCollisionCallbackData) |
float TAC_CALL | CollisionShared_CubeRoot (float fValue) |
int TAC_CALL | CollisionShared_SolveQuadratic (float fC, float fD, float pfRootList[2]) |
float TAC_CALL | CollisionShared_FindLowestCubicRoot (float fB, float fC, float fD) |
int TAC_CALL | CollisionShared_SolveQuartic (float fB, float fC, float fD, float fE, float pfRootList[4]) |
bool TAC_CALL | CollisionShared_LineVsQuarterTorus (const Vec3 &v3Line0, const Vec3 &v3Line1, const Vec3 &v3TorusCenter, const Vec3 &v3TorusNormal, float fRadius1, float fRadius2, float &fResultTime, Vec3 &v3ResultPos, Vec3 &v3ResultNormal) |
int TAC_CALL | CollisionShared_Next (int nValue, int nMaxValue) |
int TAC_CALL | CollisionShared_Prev (int nValue, int nMaxValue) |
void | Initialise (CarTemplate *pCarTemplate) |
void | Initialise (const Char *szFileName) |
void | Finalise () |
void | CollisionGroupMgr_Collision_SetNext (Collision *pThis, Collision *pNext) |
void TAC_CALL | Physics_CreateInstance (const AABB &worldAABB, const Vec3 &v3Gravity, u32 nFlags, float fMinSpacialDivision, int nSpacialDivisionMemory) |
void TAC_CALL | Physics_CreateInstance () |
float | Physics_ScaleMassLog (float fSrc) |
float | Physics_ScaleMassExp (float fSrc) |
const Version | g_fileVersion (1015, 0) |
template<class Type> | |
void | SetFlag (Type &m_nFlags, u32 nBit, bool bValue) |
template<class Type> | |
bool | GetFlag (Type m_nFlags, u32 nBit) |
Mat33 | operator * (float fValue, const Mat33 &m33Value) |
Vec3 TA_FAST_CALL | operator * (const Vec3 &v3A, const Mat33 &m33B) |
Vec3 | operator/ (const Vec3 &v3A, const Mat33 &m33B) |
Vec3 & | operator *= (Vec3 &v3A, const Mat33 &m33B) |
Vec3 & | operator/= (Vec3 &v3A, const Mat33 &m33B) |
Vec3 | operator * (const Vec3 &v3A, const MFrame &mFrameB) |
Vec3 | operator/ (const Vec3 &v3A, const MFrame &mFrameB) |
Vec3 & | operator *= (Vec3 &v3A, const MFrame &mFrameB) |
Vec3 & | operator/= (Vec3 &v3A, const MFrame &mFrameB) |
String TAC_CALL | operator+ (const Char *a, const String &b) |
Vec2 | operator * (float fValue, const Vec2 &v2Value) |
Vec3 | operator * (float fValue, const Vec3 &v3Value) |
__forceinline Vec3 TA_VEC3_CALL | operator * (const Vec3 &v3A, const Vec3 &v3B) |
__forceinline Vec3 TA_VEC3_CALL | operator * (const Vec3 &v3B, float fA) |
template<class TypeA, class TypeB> | |
__forceinline float TA_VEC3_CALL | operator * (const Meta::ScalerVec< TypeA > &baseA, const Meta::ScalerVec< TypeB > &baseB) |
template<class Type> | |
__forceinline float TA_VEC3_CALL | operator * (float fA, const Meta::ScalerVec< Type > &baseB) |
template<class Type> | |
__forceinline float TA_VEC3_CALL | operator * (const Meta::ScalerVec< Type > &baseB, float fA) |
template<class Type> | |
__forceinline Vec3 TA_VEC3_CALL | operator * (const Vec3 &v3A, const Meta::ScalerVec< Type > &baseB) |
template<class Type> | |
__forceinline Vec3 TA_VEC3_CALL | operator * (const Meta::ScalerVec< Type > &baseB, const Vec3 &v3A) |
__forceinline Vec3 TA_VEC3_CALL | operator/ (const Vec3 &v3A, const Vec3 &v3B) |
__forceinline Vec3 TA_VEC3_CALL | operator/ (const Vec3 &v3B, float fA) |
template<class TypeA, class TypeB> | |
__forceinline float TA_VEC3_CALL | operator/ (const Meta::ScalerVec< TypeA > &baseA, const Meta::ScalerVec< TypeB > &baseB) |
template<class Type> | |
__forceinline float TA_VEC3_CALL | operator/ (float fA, const Meta::ScalerVec< Type > &baseB) |
template<class Type> | |
__forceinline float TA_VEC3_CALL | operator/ (const Meta::ScalerVec< Type > &baseB, float fA) |
template<class Type> | |
__forceinline Vec3 TA_VEC3_CALL | operator/ (const Vec3 &v3A, const Meta::ScalerVec< Type > &baseB) |
template<class Type> | |
__forceinline Vec3 TA_VEC3_CALL | operator/ (const Meta::ScalerVec< Type > &baseB, const Vec3 &v3A) |
__forceinline Vec3 TA_VEC3_CALL | operator+ (const Vec3 &v3A, const Vec3 &v3B) |
__forceinline Vec3 TA_VEC3_CALL | operator- (const Vec3 &v3A, const Vec3 &v3B) |
__forceinline Vec3 &TA_VEC3_CALL | operator *= (Vec3 &v3A, float fB) |
template<class Type> | |
__forceinline Vec3 &TA_VEC3_CALL | operator *= (Vec3 &v3A, const Meta::ScalerVec< Type > &baseB) |
__forceinline Vec3 &TA_VEC3_CALL | operator/= (Vec3 &v3A, float fB) |
template<class Type> | |
__forceinline Vec3 &TA_VEC3_CALL | operator/= (Vec3 &v3A, const Meta::ScalerVec< Type > &baseB) |
Vec4 TA_VEC4_CALL | operator * (float fValue, const Vec4 &v4Value) |
Variables | |
const int | k_nMaxNumVerticesInPolygon = 31 |
const float | k_fBoundingBoxError = 0.01f |
float | g_fSolverScale = 1.0f |
const int | k_nMaxNumVerticesInConvexObject = 128 |
const int | k_nMaxNumTrianglesInSimplexPriorityQueue = 128 |
const float | k_fNormalTolerance = 0.001f |
const float | k_fQuarticMax = Sqrt(k_fMaxFloat) |
const float | k_fQuarticMin = k_fMinFloat |
const float | k_fSqrt3 = Sqrt(3.0f) |
float | g_fAngularFudge = 1.0f |
float | g_fMinFrictionImpulseMult = 0.001f |
const float | k_fMinMass = 1.0e-9f |
const float | k_fMaxMass = 1.0e9f |
const float | JOINT_LIMIT_DISABLED = k_fMaxFloat |
float | s_fPushOutFudge = 1.0f |
const float | k_fBigFrictionImpulse = 100000000000.0f |
const float | k_fCollisionDistanceTolerance = 0.05f |
const float | k_fCollisionDistanceToleranceSqrd |
const float | k_fCollisionNormalToleranceSqrd = 0.1f |
const float | k_nBoundingBoxTolerance = 0.01f |
const Mat33 | k_m33Identity (1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f) |
const MFrame | k_mFrameIdentity (k_v3Zero, k_m33Identity) |
Char | pnZeroChars [4] = { 0, 0, 0, 0 } |
const String | k_strEmptyString |