Data Structures | Defines | Typedefs | Enumerations | Functions

OrxPhysics

Data Structures

struct  orxBODY_DEF
struct  orxBODY_JOINT_DEF
struct  orxBODY_PART_DEF
struct  orxPHYSICS_EVENT_PAYLOAD

Defines

#define orxBODY_DEF_KU32_FLAG_2D   0x00000001
#define orxBODY_DEF_KU32_FLAG_ALLOW_SLEEP   0x00000040
#define orxBODY_DEF_KU32_FLAG_CAN_MOVE   0x00000020
#define orxBODY_DEF_KU32_FLAG_CAN_SLIDE   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   0x000000FF
#define orxBODY_PART_DEF_KU32_FLAG_BOX   0x00000002
#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   0x00000007
#define orxBODY_PART_DEF_KU32_MESH_VERTEX_NUMBER   8
#define orxPHYSICS_KZ_CONFIG_ALLOW_SLEEP   "AllowSleep"
#define orxPHYSICS_KZ_CONFIG_FIXED_DT   "FixedDT"
#define orxPHYSICS_KZ_CONFIG_FREQUENCY   "SimulationFrequency"
#define orxPHYSICS_KZ_CONFIG_GRAVITY   "Gravity"
#define orxPHYSICS_KZ_CONFIG_ITERATIONS   "IterationsPerStep"
#define orxPHYSICS_KZ_CONFIG_RATIO   "DimensionRatio"
#define orxPHYSICS_KZ_CONFIG_SECTION   "Physics"

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_CreateBodyJoint (orxPHYSICS_BODY *_pstSrcBody, orxPHYSICS_BODY *_pstDstBody, const orxHANDLE _hUserData, const orxBODY_JOINT_DEF *_pstBodyJointDef)
orxDLLAPI orxPHYSICS_BODY_PART
*orxFASTCALL 
orxPhysics_CreateBodyPart (orxPHYSICS_BODY *_pstBody, const orxHANDLE _hUserData, const orxBODY_PART_DEF *_pstBodyPartDef)
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBody (orxPHYSICS_BODY *_pstBody)
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyJoint (orxPHYSICS_BODY_JOINT *_pstBodyJoint)
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyPart (orxPHYSICS_BODY_PART *_pstBodyPart)
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 orxU16 orxFASTCALL orxPhysics_GetCheckMask (const orxPHYSICS_BODY_PART *_pstBodyPart)
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetCustomGravity (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvCustomGravity)
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetGravity (orxVECTOR *_pvGravity)
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 orxVECTOR *orxFASTCALL orxPhysics_GetPosition (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvPosition)
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetRotation (const orxPHYSICS_BODY *_pstBody)
orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetSelfFlags (const orxPHYSICS_BODY_PART *_pstBodyPart)
orxDLLAPI orxVECTOR *orxFASTCALL orxPhysics_GetSpeed (const orxPHYSICS_BODY *_pstBody, orxVECTOR *_pvSpeed)
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_Init ()
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_SetCheckMask (orxPHYSICS_BODY_PART *_pstBodyPart, orxU16 _u16CheckMask)
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCustomGravity (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvCustomGravity)
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetGravity (const orxVECTOR *_pvGravity)
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetLinearDamping (orxPHYSICS_BODY *_pstBody, orxFLOAT _fDamping)
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_SetSelfFlags (orxPHYSICS_BODY_PART *_pstBodyPart, orxU16 _u16SelfFlags)
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSpeed (orxPHYSICS_BODY *_pstBody, const orxVECTOR *_pvSpeed)
orxDLLAPI void orxFASTCALL orxPhysics_Setup ()

Detailed Description

Physics plugin module Module that handles physics interactions


Define Documentation

#define orxBODY_DEF_KU32_FLAG_2D   0x00000001

2D type body def flag

Definition at line 56 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_ALLOW_SLEEP   0x00000040

Allow sleep body def flag

Definition at line 62 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_CAN_MOVE   0x00000020

Static body is allowed to move by user direct access

Definition at line 61 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_CAN_SLIDE   0x00000010

Body is allowed to slide

Definition at line 60 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_DYNAMIC   0x00000002

Dynamic type body def flag

Definition at line 57 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_FIXED_ROTATION   0x00000008

Body can't be rotated by physics

Definition at line 59 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_HIGH_SPEED   0x00000004

High speed type body def flag

Definition at line 58 of file orxPhysics.h.

#define orxBODY_DEF_KU32_FLAG_NONE   0x00000000

Body definition flags No flags

Definition at line 54 of file orxPhysics.h.

#define orxBODY_DEF_KU32_MASK_ALL   0xFFFFFFFF

Body def all mask

Definition at line 64 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_COLLIDE   0x10000000

Collide body joint def flag

Definition at line 96 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_FRICTION   0x00000080

Friction body joint def flag

Definition at line 91 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_GEAR   0x00000100

Gear body joint def flag

Definition at line 92 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_MOTOR   0x40000000

Motor body joint def flag

Definition at line 98 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_NONE   0x00000000

Body joint definition flags No flags

Definition at line 82 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_PRISMATIC   0x00000002

Prismatic body joint def flag

Definition at line 85 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_PULLEY   0x00000010

Pulley body joint def flag

Definition at line 88 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_REVOLUTE   0x00000001

Revolute body joint def flag

Definition at line 84 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_ROPE   0x00000008

Rope body joint def flag

Definition at line 87 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_ROTATION_LIMIT   0x20000000

Rotation limit body joint def flag

Definition at line 97 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_SPRING   0x00000004

Spring body joint def flag

Definition at line 86 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_SUSPENSION   0x00000020

Suspension body joint def flag

Definition at line 89 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_TRANSLATION_LIMIT   0x80000000

Translation limit def flag

Definition at line 99 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_FLAG_WELD   0x00000040

Weld body joint def flag

Definition at line 90 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_MASK_ALL   0xFFFFFFFF

Body joint def all mask

Definition at line 101 of file orxPhysics.h.

#define orxBODY_JOINT_DEF_KU32_MASK_TYPE   0x000000FF

Type body joint def mask

Definition at line 94 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_FLAG_BOX   0x00000002

Box body part def flag

Definition at line 71 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_FLAG_MESH   0x00000004

Mesh body part def flag

Definition at line 72 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_FLAG_NONE   0x00000000

Body part definition flags No flags

Definition at line 68 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_FLAG_SOLID   0x10000000

Solid body part def flag

Definition at line 76 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_FLAG_SPHERE   0x00000001

Sphere body part def flag

Definition at line 70 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_MASK_ALL   0xFFFFFFFF

Body part def all mask

Definition at line 78 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_MASK_TYPE   0x00000007

Type body part def mask

Definition at line 74 of file orxPhysics.h.

#define orxBODY_PART_DEF_KU32_MESH_VERTEX_NUMBER   8

Misc defines

Definition at line 106 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_ALLOW_SLEEP   "AllowSleep"

Definition at line 295 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_FIXED_DT   "FixedDT"

Definition at line 299 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_FREQUENCY   "SimulationFrequency"

Definition at line 297 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_GRAVITY   "Gravity"

Definition at line 294 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_ITERATIONS   "IterationsPerStep"

Definition at line 296 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_RATIO   "DimensionRatio"

Definition at line 298 of file orxPhysics.h.

#define orxPHYSICS_KZ_CONFIG_SECTION   "Physics"

Config defines

Definition at line 293 of file orxPhysics.h.


Typedef Documentation

typedef struct __orxPHYSICS_BODY_t orxPHYSICS_BODY

Internal physics body structure

Definition at line 280 of file orxPhysics.h.

typedef struct __orxPHYSICS_BODY_JOINT_t orxPHYSICS_BODY_JOINT

Internal physics joint structure

Definition at line 288 of file orxPhysics.h.

typedef struct __orxPHYSICS_BODY_PART_t orxPHYSICS_BODY_PART

Internal physics part structure

Definition at line 284 of file orxPhysics.h.


Enumeration Type Documentation

Event enum

Enumerator:
orxPHYSICS_EVENT_CONTACT_ADD 
orxPHYSICS_EVENT_CONTACT_REMOVE 
orxPHYSICS_EVENT_NUMBER 
orxPHYSICS_EVENT_NONE 

Definition at line 256 of file orxPhysics.h.


Function Documentation

orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyForce ( orxPHYSICS_BODY _pstBody,
const orxVECTOR _pvForce,
const orxVECTOR _pvPoint 
)

Applies a force to a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_pvForceForce to apply
[in]_pvPointPoint of application (if null, center of mass will be used)
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyImpulse ( orxPHYSICS_BODY _pstBody,
const orxVECTOR _pvImpulse,
const orxVECTOR _pvPoint 
)

Applies an impulse to a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_pvImpulseImpulse to apply
[in]_pvPointPoint of application (if null, center of mass will be used)
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyTorque ( orxPHYSICS_BODY _pstBody,
orxFLOAT  _fTorque 
)

Applies a torque to a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_fTorqueTorque to apply
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxPHYSICS_BODY* orxFASTCALL orxPhysics_CreateBody ( const orxHANDLE  _hUserData,
const orxBODY_DEF _pstBodyDef 
)

Creates a physical body

Parameters:
[in]_hUserDataUser data to associate with this physical body
[in]_pstBodyDefPhysical body definition
Returns:
orxPHYSICS_BODY / orxNULL
orxDLLAPI orxPHYSICS_BODY_JOINT* orxFASTCALL orxPhysics_CreateBodyJoint ( orxPHYSICS_BODY _pstSrcBody,
orxPHYSICS_BODY _pstDstBody,
const orxHANDLE  _hUserData,
const orxBODY_JOINT_DEF _pstBodyJointDef 
)

Creates a joint to link two physical bodies together

Parameters:
[in]_pstSrcBodyConcerned source body
[in]_pstDstBodyConcerned destination body
[in]_hUserDataUser data to associate with this physical body part
[in]_pstBodyJointDefPhysical body joint definition
Returns:
orxPHYSICS_BODY_JOINT / orxNULL
orxDLLAPI orxPHYSICS_BODY_PART* orxFASTCALL orxPhysics_CreateBodyPart ( orxPHYSICS_BODY _pstBody,
const orxHANDLE  _hUserData,
const orxBODY_PART_DEF _pstBodyPartDef 
)

Creates a part for a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_hUserDataUser data to associate with this physical body part
[in]_pstBodyPartDefPhysical body part definition
Returns:
orxPHYSICS_BODY_PART / orxNULL
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBody ( orxPHYSICS_BODY _pstBody )

Deletes a physical body

Parameters:
[in]_pstBodyConcerned physical body
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyJoint ( orxPHYSICS_BODY_JOINT _pstBodyJoint )

Deletes a physical body joint

Parameters:
[in]_pstBodyJointConcerned physical body joint
orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyPart ( orxPHYSICS_BODY_PART _pstBodyPart )

Deletes a physical body part

Parameters:
[in]_pstBodyPartConcerned physical body part
orxDLLAPI void orxFASTCALL orxPhysics_EnableSimulation ( orxBOOL  _bEnable )

Enables/disables physics simulation

Parameters:
[in]_bEnableEnable / disable
orxDLLAPI void orxFASTCALL orxPhysics_Exit (  )

Exits from the physics module

orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetAngularDamping ( const orxPHYSICS_BODY _pstBody )

Gets angular damping of a physical body

Parameters:
[in]_pstBodyConcerned body
Returns:
Angular damping of the physical body
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetAngularVelocity ( const orxPHYSICS_BODY _pstBody )

Gets the angular velocity of a physical body

Parameters:
[in]_pstBodyConcerned physical body
Returns:
Angular velocity (radians/seconds) of the physical body
orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetCheckMask ( const orxPHYSICS_BODY_PART _pstBodyPart )

Gets check mask of a physical body part

Parameters:
[in]_pstBodyPartConcerned physical body part
Returns:
Check mask of the physical body part
orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetCustomGravity ( const orxPHYSICS_BODY _pstBody,
orxVECTOR _pvCustomGravity 
)

Gets the custom gravity of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[out]_pvCustomGravityCustom gravity to get
Returns:
Physical body custom gravity / orxNULL is object doesn't have any
orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetGravity ( orxVECTOR _pvGravity )

Gets physics gravity

Parameters:
[in]_pvGravityGravity to get
Returns:
orxVECTOR / orxNULL
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetLinearDamping ( const orxPHYSICS_BODY _pstBody )

Gets linear damping of a physical body

Parameters:
[in]_pstBodyConcerned physical body
Returns:
Linear damping of the physical body
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetMass ( const orxPHYSICS_BODY _pstBody )

Gets the mass of a physical body

Parameters:
[in]_pstBodyConcerned physical body
Returns:
Mass of the physical body
orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetMassCenter ( const orxPHYSICS_BODY _pstBody,
orxVECTOR _pvMassCenter 
)

Gets the center of mass of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[out]_pvMassCenterCenter of mass to get
Returns:
Center of mass of the physical body
orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetPosition ( const orxPHYSICS_BODY _pstBody,
orxVECTOR _pvPosition 
)

Gets the position of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[out]_pvPositionPosition to get
Returns:
Position of the physical body
orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetRotation ( const orxPHYSICS_BODY _pstBody )

Gets the rotation of a physical body

Parameters:
[in]_pstBodyConcerned physical body
Returns:
Rotation (radians) of the physical body
orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetSelfFlags ( const orxPHYSICS_BODY_PART _pstBodyPart )

Gets self flags of a physical body part

Parameters:
[in]_pstBodyPartConcerned physical body part
Returns:
Self flags of the physical body part
orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetSpeed ( const orxPHYSICS_BODY _pstBody,
orxVECTOR _pvSpeed 
)

Gets the speed of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[out]_pvSpeedSpeed to get
Returns:
Speed of the physical body
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_Init (  )

Inits the physics module

Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxHANDLE orxFASTCALL orxPhysics_Raycast ( const orxVECTOR _pvStart,
const orxVECTOR _pvEnd,
orxU16  _u16SelfFlags,
orxU16  _u16CheckMask,
orxBOOL  _bEarlyExit,
orxVECTOR _pvContact,
orxVECTOR _pvNormal 
)

Issues a raycast to test for potential physics bodies in the way

Parameters:
[in]_pvStartStart of raycast
[in]_pvEndEnd of raycast
[in]_u16SelfFlagsSelfs flags used for filtering (0xFFFF for no filtering)
[in]_u16CheckMaskCheck mask used for filtering (0xFFFF for no filtering)
[in]_bEarlyExitShould stop as soon as an object has been hit (which might not be the closest)
[in]_pvContactIf non-null and a contact is found it will be stored here
[in]_pvNormalIf non-null and a contact is found, its normal will be stored here
Returns:
Colliding body's user data / orxHANDLE_UNDEFINED
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularDamping ( orxPHYSICS_BODY _pstBody,
orxFLOAT  _fDamping 
)

Sets angular damping of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_fDampingAngular damping to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularVelocity ( orxPHYSICS_BODY _pstBody,
orxFLOAT  _fVelocity 
)

Sets the angular velocity of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_fVelocityAngular velocity (radians/seconds) to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCheckMask ( orxPHYSICS_BODY_PART _pstBodyPart,
orxU16  _u16CheckMask 
)

Sets check mask of a physical body part

Parameters:
[in]_pstBodyPartConcerned physical body part
[in]_u16CheckMaskCheck mask to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCustomGravity ( orxPHYSICS_BODY _pstBody,
const orxVECTOR _pvCustomGravity 
)

Sets the custom gravity of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_pvCustomGravityCustom gravity multiplier to set / orxNULL to remove it
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetGravity ( const orxVECTOR _pvGravity )

Sets physics gravity

Parameters:
[in]_pvGravityGravity to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetLinearDamping ( orxPHYSICS_BODY _pstBody,
orxFLOAT  _fDamping 
)

Sets linear damping of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_fDampingLinear damping to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPosition ( orxPHYSICS_BODY _pstBody,
const orxVECTOR _pvPosition 
)

Sets the position of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_pvPositionPosition to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetRotation ( orxPHYSICS_BODY _pstBody,
orxFLOAT  _fRotation 
)

Sets the rotation of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_fRotationRotation (radians) to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSelfFlags ( orxPHYSICS_BODY_PART _pstBodyPart,
orxU16  _u16SelfFlags 
)

Sets self flags of a physical body part

Parameters:
[in]_pstBodyPartConcerned physical body part
[in]_u16SelfFlagsSelf flags to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSpeed ( orxPHYSICS_BODY _pstBody,
const orxVECTOR _pvSpeed 
)

Sets the speed of a physical body

Parameters:
[in]_pstBodyConcerned physical body
[in]_pvSpeedSpeed to set
Returns:
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxPhysics_Setup (  )

Physics module setup


Generated for orx by doxygen 1.5.6