orx  stable
Portable Game Engine
orxPhysics.h File Reference
#include "orxInclude.h"
#include "plugin/orxPluginCore.h"
#include "math/orxAABox.h"

Go to the source code of this file.

Data Structures

struct  orxBODY_DEF
 
struct  orxBODY_JOINT_DEF
 
struct  orxBODY_PART_DEF
 
struct  orxPHYSICS_EVENT_PAYLOAD
 

Macros

#define orxBODY_DEF_KU32_FLAG_2D   0x00000001
 
#define orxBODY_DEF_KU32_FLAG_ALLOW_SLEEP   0x00000020
 
#define orxBODY_DEF_KU32_FLAG_CAN_MOVE   0x00000010
 
#define orxBODY_DEF_KU32_FLAG_DYNAMIC   0x00000002
 
#define orxBODY_DEF_KU32_FLAG_FIXED_ROTATION   0x00000008
 
#define orxBODY_DEF_KU32_FLAG_HIGH_SPEED   0x00000004
 
#define orxBODY_DEF_KU32_FLAG_NONE   0x00000000
 
#define orxBODY_DEF_KU32_MASK_ALL   0xFFFFFFFF
 
#define orxBODY_JOINT_DEF_KU32_FLAG_COLLIDE   0x10000000
 
#define orxBODY_JOINT_DEF_KU32_FLAG_FRICTION   0x00000080
 
#define orxBODY_JOINT_DEF_KU32_FLAG_GEAR   0x00000100
 
#define orxBODY_JOINT_DEF_KU32_FLAG_MOTOR   0x40000000
 
#define orxBODY_JOINT_DEF_KU32_FLAG_NONE   0x00000000
 
#define orxBODY_JOINT_DEF_KU32_FLAG_PRISMATIC   0x00000002
 
#define orxBODY_JOINT_DEF_KU32_FLAG_PULLEY   0x00000010
 
#define orxBODY_JOINT_DEF_KU32_FLAG_REVOLUTE   0x00000001
 
#define orxBODY_JOINT_DEF_KU32_FLAG_ROPE   0x00000008
 
#define orxBODY_JOINT_DEF_KU32_FLAG_ROTATION_LIMIT   0x20000000
 
#define orxBODY_JOINT_DEF_KU32_FLAG_SPRING   0x00000004
 
#define orxBODY_JOINT_DEF_KU32_FLAG_SUSPENSION   0x00000020
 
#define orxBODY_JOINT_DEF_KU32_FLAG_TRANSLATION_LIMIT   0x80000000
 
#define orxBODY_JOINT_DEF_KU32_FLAG_WELD   0x00000040
 
#define orxBODY_JOINT_DEF_KU32_MASK_ALL   0xFFFFFFFF
 
#define orxBODY_JOINT_DEF_KU32_MASK_TYPE   0x00000FFF
 
#define orxBODY_PART_DEF_KU32_FLAG_BOX   0x00000002
 
#define orxBODY_PART_DEF_KU32_FLAG_CHAIN   0x00000010
 
#define orxBODY_PART_DEF_KU32_FLAG_EDGE   0x00000008
 
#define orxBODY_PART_DEF_KU32_FLAG_MESH   0x00000004
 
#define orxBODY_PART_DEF_KU32_FLAG_NONE   0x00000000
 
#define orxBODY_PART_DEF_KU32_FLAG_SOLID   0x10000000
 
#define orxBODY_PART_DEF_KU32_FLAG_SPHERE   0x00000001
 
#define orxBODY_PART_DEF_KU32_MASK_ALL   0xFFFFFFFF
 
#define orxBODY_PART_DEF_KU32_MASK_TYPE   0x0000001F
 
#define orxBODY_PART_DEF_KU32_MESH_VERTEX_NUMBER   8
 
#define orxPHYSICS_KZ_CONFIG_ALLOW_SLEEP   "AllowSleep"
 
#define orxPHYSICS_KZ_CONFIG_COLLISION_FLAG_LIST   "CollisionFlagList"
 
#define orxPHYSICS_KZ_CONFIG_GRAVITY   "Gravity"
 
#define orxPHYSICS_KZ_CONFIG_INTERPOLATE   "Interpolate"
 
#define orxPHYSICS_KZ_CONFIG_ITERATIONS   "IterationsPerStep"
 
#define orxPHYSICS_KZ_CONFIG_RATIO   "DimensionRatio"
 
#define orxPHYSICS_KZ_CONFIG_SECTION   "Physics"
 
#define orxPHYSICS_KZ_CONFIG_SHOW_DEBUG   "ShowDebug"
 
#define orxPHYSICS_KZ_CONFIG_STEP_FREQUENCY   "StepFrequency"
 

Typedefs

typedef struct __orxPHYSICS_BODY_t orxPHYSICS_BODY
 
typedef struct __orxPHYSICS_BODY_JOINT_t orxPHYSICS_BODY_JOINT
 
typedef struct __orxPHYSICS_BODY_PART_t orxPHYSICS_BODY_PART
 

Enumerations

enum  orxPHYSICS_EVENT { orxPHYSICS_EVENT_CONTACT_ADD = 0, orxPHYSICS_EVENT_CONTACT_REMOVE, orxPHYSICS_EVENT_NUMBER, orxPHYSICS_EVENT_NONE = orxENUM_NONE }
 

Functions

orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyForce (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvForce, const orxVECTOR *_pvPoint)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyImpulse (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvImpulse, const orxVECTOR *_pvPoint)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyTorque (orxPHYSICS_BODY *_pstBody, orxFLOAT _fTorque)
 
orxDLLAPI orxPHYSICS_BODY *orxFASTCALL orxPhysics_CreateBody (const orxHANDLE _hUserData, const orxBODY_DEF *_pstBodyDef)
 
orxDLLAPI orxPHYSICS_BODY_JOINT *orxFASTCALL orxPhysics_CreateJoint (orxPHYSICS_BODY *_pstSrcBody, orxPHYSICS_BODY *_pstDstBody, const orxHANDLE _hUserData, const orxBODY_JOINT_DEF *_pstBodyJointDef)
 
orxDLLAPI orxPHYSICS_BODY_PART *orxFASTCALL orxPhysics_CreatePart (orxPHYSICS_BODY *_pstBody, const orxHANDLE _hUserData, const orxBODY_PART_DEF *_pstBodyPartDef)
 
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBody (orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI void orxFASTCALL orxPhysics_DeleteJoint (orxPHYSICS_BODY_JOINT *_pstBodyJoint)
 
orxDLLAPI void orxFASTCALL orxPhysics_DeletePart (orxPHYSICS_BODY_PART *_pstBodyPart)
 
orxDLLAPI void orxFASTCALL orxPhysics_EnableMotor (orxPHYSICS_BODY_JOINT *_pstBodyJoint, orxBOOL _bEnable)
 
orxDLLAPI void orxFASTCALL orxPhysics_EnableSimulation (orxBOOL _bEnable)
 
orxDLLAPI void orxFASTCALL orxPhysics_Exit ()
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetAngularDamping (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetAngularVelocity (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI const orxSTRING orxFASTCALL orxPhysics_GetCollisionFlagName (orxU32 _u32Flag)
 
orxDLLAPI orxU32 orxFASTCALL orxPhysics_GetCollisionFlagValue (const orxSTRING _zFlag)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetCustomGravity (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvCustomGravity)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetGravity (orxVECTOR *_pvGravity)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetJointReactionForce (const orxPHYSICS_BODY_JOINT *_pstBodyJoint, orxVECTOR *_pvForce)
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetJointReactionTorque (const orxPHYSICS_BODY_JOINT *_pstBodyJoint)
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetLinearDamping (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetMass (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetMassCenter (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvMassCenter)
 
orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetPartCheckMask (const orxPHYSICS_BODY_PART *_pstBodyPart)
 
orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetPartSelfFlags (const orxPHYSICS_BODY_PART *_pstBodyPart)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetPosition (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvPosition)
 
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetRotation (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetSpeed (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvSpeed)
 
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetSpeedAtWorldPosition (const orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvPosition, orxVECTOR *_pvSpeed)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_Init ()
 
orxDLLAPI orxBOOL orxFASTCALL orxPhysics_IsFixedRotation (const orxPHYSICS_BODY *_pstBody)
 
orxDLLAPI orxBOOL orxFASTCALL orxPhysics_IsPartSolid (const orxPHYSICS_BODY_PART *_pstBodyPart)
 
orxDLLAPI orxHANDLE orxFASTCALL orxPhysics_Raycast (const orxVECTOR *_pvStart, const orxVECTOR *_pvEnd, orxU16 _u16SelfFlags, orxU16 _u16CheckMask, orxBOOL _bEarlyExit, orxVECTOR *_pvContact, orxVECTOR *_pvNormal)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularDamping (orxPHYSICS_BODY *_pstBody, orxFLOAT _fDamping)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularVelocity (orxPHYSICS_BODY *_pstBody, orxFLOAT _fVelocity)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCustomGravity (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvCustomGravity)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetFixedRotation (orxPHYSICS_BODY *_pstBody, orxBOOL _bFixed)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetGravity (const orxVECTOR *_pvGravity)
 
orxDLLAPI void orxFASTCALL orxPhysics_SetJointMaxMotorTorque (orxPHYSICS_BODY_JOINT *_pstBodyJoint, orxFLOAT _fMaxTorque)
 
orxDLLAPI void orxFASTCALL orxPhysics_SetJointMotorSpeed (orxPHYSICS_BODY_JOINT *_pstBodyJoint, orxFLOAT _fSpeed)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetLinearDamping (orxPHYSICS_BODY *_pstBody, orxFLOAT _fDamping)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPartCheckMask (orxPHYSICS_BODY_PART *_pstBodyPart, orxU16 _u16CheckMask)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPartSelfFlags (orxPHYSICS_BODY_PART *_pstBodyPart, orxU16 _u16SelfFlags)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPartSolid (orxPHYSICS_BODY_PART *_pstBodyPart, orxBOOL _bSolid)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPosition (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvPosition)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetRotation (orxPHYSICS_BODY *_pstBody, orxFLOAT _fRotation)
 
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSpeed (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvSpeed)
 
orxDLLAPI void orxFASTCALL orxPhysics_Setup ()
 

Detailed Description


Generated for orx by doxygen 1.5.6