True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

TA Namespace Reference


Detailed Description

---------------------------------------------------------------------------------


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


© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.