Physics plugin module Module that handles physics interactions
| #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 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.
| enum orxPHYSICS_EVENT |
Event enum
| orxPHYSICS_EVENT_CONTACT_ADD | |
| orxPHYSICS_EVENT_CONTACT_REMOVE | |
| orxPHYSICS_EVENT_NUMBER | |
| orxPHYSICS_EVENT_NONE |
Definition at line 256 of file orxPhysics.h.
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyForce | ( | orxPHYSICS_BODY * | _pstBody, |
| const orxVECTOR * | _pvForce, | ||
| const orxVECTOR * | _pvPoint | ||
| ) |
Applies a force to a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _pvForce | Force to apply |
| [in] | _pvPoint | Point of application (if null, center of mass will be used) |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyImpulse | ( | orxPHYSICS_BODY * | _pstBody, |
| const orxVECTOR * | _pvImpulse, | ||
| const orxVECTOR * | _pvPoint | ||
| ) |
Applies an impulse to a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _pvImpulse | Impulse to apply |
| [in] | _pvPoint | Point of application (if null, center of mass will be used) |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_ApplyTorque | ( | orxPHYSICS_BODY * | _pstBody, |
| orxFLOAT | _fTorque | ||
| ) |
Applies a torque to a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _fTorque | Torque to apply |
| orxDLLAPI orxPHYSICS_BODY* orxFASTCALL orxPhysics_CreateBody | ( | const orxHANDLE | _hUserData, |
| const orxBODY_DEF * | _pstBodyDef | ||
| ) |
Creates a physical body
| [in] | _hUserData | User data to associate with this physical body |
| [in] | _pstBodyDef | Physical body definition |
| 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
| [in] | _pstSrcBody | Concerned source body |
| [in] | _pstDstBody | Concerned destination body |
| [in] | _hUserData | User data to associate with this physical body part |
| [in] | _pstBodyJointDef | Physical body joint definition |
| 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
| [in] | _pstBody | Concerned physical body |
| [in] | _hUserData | User data to associate with this physical body part |
| [in] | _pstBodyPartDef | Physical body part definition |
| orxDLLAPI void orxFASTCALL orxPhysics_DeleteBody | ( | orxPHYSICS_BODY * | _pstBody ) |
Deletes a physical body
| [in] | _pstBody | Concerned physical body |
| orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyJoint | ( | orxPHYSICS_BODY_JOINT * | _pstBodyJoint ) |
Deletes a physical body joint
| [in] | _pstBodyJoint | Concerned physical body joint |
| orxDLLAPI void orxFASTCALL orxPhysics_DeleteBodyPart | ( | orxPHYSICS_BODY_PART * | _pstBodyPart ) |
Deletes a physical body part
| [in] | _pstBodyPart | Concerned physical body part |
| orxDLLAPI void orxFASTCALL orxPhysics_EnableSimulation | ( | orxBOOL | _bEnable ) |
Enables/disables physics simulation
| [in] | _bEnable | Enable / 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
| [in] | _pstBody | Concerned body |
| orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetAngularVelocity | ( | const orxPHYSICS_BODY * | _pstBody ) |
Gets the angular velocity of a physical body
| [in] | _pstBody | Concerned physical body |
| orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetCheckMask | ( | const orxPHYSICS_BODY_PART * | _pstBodyPart ) |
Gets check mask of a physical body part
| [in] | _pstBodyPart | Concerned physical body part |
| orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetCustomGravity | ( | const orxPHYSICS_BODY * | _pstBody, |
| orxVECTOR * | _pvCustomGravity | ||
| ) |
Gets the custom gravity of a physical body
| [in] | _pstBody | Concerned physical body |
| [out] | _pvCustomGravity | Custom gravity to get |
| orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetLinearDamping | ( | const orxPHYSICS_BODY * | _pstBody ) |
Gets linear damping of a physical body
| [in] | _pstBody | Concerned physical body |
| orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetMass | ( | const orxPHYSICS_BODY * | _pstBody ) |
Gets the mass of a physical body
| [in] | _pstBody | Concerned physical body |
| orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetMassCenter | ( | const orxPHYSICS_BODY * | _pstBody, |
| orxVECTOR * | _pvMassCenter | ||
| ) |
Gets the center of mass of a physical body
| [in] | _pstBody | Concerned physical body |
| [out] | _pvMassCenter | Center of mass to get |
| orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetPosition | ( | const orxPHYSICS_BODY * | _pstBody, |
| orxVECTOR * | _pvPosition | ||
| ) |
Gets the position of a physical body
| [in] | _pstBody | Concerned physical body |
| [out] | _pvPosition | Position to get |
| orxDLLAPI orxFLOAT orxFASTCALL orxPhysics_GetRotation | ( | const orxPHYSICS_BODY * | _pstBody ) |
Gets the rotation of a physical body
| [in] | _pstBody | Concerned physical body |
| orxDLLAPI orxU16 orxFASTCALL orxPhysics_GetSelfFlags | ( | const orxPHYSICS_BODY_PART * | _pstBodyPart ) |
Gets self flags of a physical body part
| [in] | _pstBodyPart | Concerned physical body part |
| orxDLLAPI orxVECTOR* orxFASTCALL orxPhysics_GetSpeed | ( | const orxPHYSICS_BODY * | _pstBody, |
| orxVECTOR * | _pvSpeed | ||
| ) |
Gets the speed of a physical body
| [in] | _pstBody | Concerned physical body |
| [out] | _pvSpeed | Speed to get |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_Init | ( | ) |
Inits the physics module
| 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
| [in] | _pvStart | Start of raycast |
| [in] | _pvEnd | End of raycast |
| [in] | _u16SelfFlags | Selfs flags used for filtering (0xFFFF for no filtering) |
| [in] | _u16CheckMask | Check mask used for filtering (0xFFFF for no filtering) |
| [in] | _bEarlyExit | Should stop as soon as an object has been hit (which might not be the closest) |
| [in] | _pvContact | If non-null and a contact is found it will be stored here |
| [in] | _pvNormal | If non-null and a contact is found, its normal will be stored here |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularDamping | ( | orxPHYSICS_BODY * | _pstBody, |
| orxFLOAT | _fDamping | ||
| ) |
Sets angular damping of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _fDamping | Angular damping to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetAngularVelocity | ( | orxPHYSICS_BODY * | _pstBody, |
| orxFLOAT | _fVelocity | ||
| ) |
Sets the angular velocity of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _fVelocity | Angular velocity (radians/seconds) to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCheckMask | ( | orxPHYSICS_BODY_PART * | _pstBodyPart, |
| orxU16 | _u16CheckMask | ||
| ) |
Sets check mask of a physical body part
| [in] | _pstBodyPart | Concerned physical body part |
| [in] | _u16CheckMask | Check mask to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetCustomGravity | ( | orxPHYSICS_BODY * | _pstBody, |
| const orxVECTOR * | _pvCustomGravity | ||
| ) |
Sets the custom gravity of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _pvCustomGravity | Custom gravity multiplier to set / orxNULL to remove it |
Sets physics gravity
| [in] | _pvGravity | Gravity to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetLinearDamping | ( | orxPHYSICS_BODY * | _pstBody, |
| orxFLOAT | _fDamping | ||
| ) |
Sets linear damping of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _fDamping | Linear damping to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetPosition | ( | orxPHYSICS_BODY * | _pstBody, |
| const orxVECTOR * | _pvPosition | ||
| ) |
Sets the position of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _pvPosition | Position to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetRotation | ( | orxPHYSICS_BODY * | _pstBody, |
| orxFLOAT | _fRotation | ||
| ) |
Sets the rotation of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _fRotation | Rotation (radians) to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSelfFlags | ( | orxPHYSICS_BODY_PART * | _pstBodyPart, |
| orxU16 | _u16SelfFlags | ||
| ) |
Sets self flags of a physical body part
| [in] | _pstBodyPart | Concerned physical body part |
| [in] | _u16SelfFlags | Self flags to set |
| orxDLLAPI orxSTATUS orxFASTCALL orxPhysics_SetSpeed | ( | orxPHYSICS_BODY * | _pstBody, |
| const orxVECTOR * | _pvSpeed | ||
| ) |
Sets the speed of a physical body
| [in] | _pstBody | Concerned physical body |
| [in] | _pvSpeed | Speed to set |
| orxDLLAPI void orxFASTCALL orxPhysics_Setup | ( | ) |
Physics module setup
1.5.6