|
| virtual xiiUInt32 | GetCollisionLayerByName (xiiStringView sName) const =0 |
| | Searches for a collision layer with the given name and returns its index.
|
| |
| virtual xiiUInt8 | GetWeightCategoryByName (xiiStringView sName) const =0 |
| | Searches for a weight category with the given name and returns its key.
|
| |
| virtual xiiUInt8 | GetImpulseTypeByName (xiiStringView sName) const =0 |
| | Searches for an impulse type with the given name and returns its key.
|
| |
|
virtual bool | Raycast (xiiPhysicsCastResult &out_result, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0 |
| |
|
virtual bool | RaycastAll (xiiPhysicsCastResultArray &out_results, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual bool | SweepTestSphere (xiiPhysicsCastResult &out_result, float fSphereRadius, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0 |
| |
|
virtual bool | SweepTestBox (xiiPhysicsCastResult &out_result, const xiiVec3 &vBoxExtents, const xiiTransform &transform, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0 |
| |
|
virtual bool | SweepTestCapsule (xiiPhysicsCastResult &out_result, float fCapsuleRadius, float fCapsuleHeight, const xiiTransform &transform, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0 |
| |
|
virtual bool | SweepTestCylinder (xiiPhysicsCastResult &out_result, float fCylinderRadius, float fCylinderHeight, const xiiTransform &transform, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters ¶ms, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0 |
| |
|
virtual bool | OverlapTestSphere (float fSphereRadius, const xiiVec3 &vPosition, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual bool | OverlapTestBox (const xiiVec3 &vBoxExtents, const xiiVec3 &vPosition, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual bool | OverlapTestCapsule (float fCapsuleRadius, float fCapsuleHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual bool | OverlapTestCylinder (float fCylinderRadius, float fCylinderHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual void | QueryShapesInSphere (xiiPhysicsOverlapResultArray &out_results, float fSphereRadius, const xiiVec3 &vPosition, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual void | QueryShapesInBox (xiiPhysicsOverlapResultArray &out_results, const xiiVec3 &vBoxExtents, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual void | QueryShapesInCapsule (xiiPhysicsOverlapResultArray &out_results, float fCapsuleRadius, float fCapsuleHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual void | QueryShapesInCylinder (xiiPhysicsOverlapResultArray &out_results, float fCylinderRadius, float fCylinderHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters ¶ms) const =0 |
| |
|
virtual xiiVec3 | GetGravity () const =0 |
| |
|
virtual void | AddStaticCollisionBox (xiiGameObject *pOwner, xiiVec3 vBoxSize) |
| | Adds a static actor with a box shape to pOwner.
|
| |
|
virtual void | AddFixedJointComponent (xiiGameObject *pOwner, const xiiPhysicsWorldModuleInterface::FixedJointConfig &cfg) |
| | Adds a fixed joint to pOwner.
|
| |
|
virtual xiiBoundingBoxSphere | GetWorldSpaceBounds (xiiGameObject *pOwner, xiiUInt32 uiCollisionLayer, xiiBitflags< xiiPhysicsShapeType > shapeTypes, bool bIncludeChildObjects) const |
| | Gets world space bounds of a physics object if its shape type is included in shapeTypes and its collision layer interacts with uiCollisionLayer.
|
| |
|
xiiWorld * | GetWorld () |
| | Returns the corresponding world to this module.
|
| |
|
const xiiWorld * | GetWorld () const |
| | Returns the corresponding world to this module.
|
| |
|
xiiUInt32 | GetWorldIndex () const |
| | Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
|
| |
|
virtual const xiiRTTI * | GetDynamicRTTI () const |
| |
|
bool | IsInstanceOf (const xiiRTTI *pType) const |
| | Returns whether the type of this instance is of the given type or derived from it.
|
| |
|
template<typename T> |
| XII_ALWAYS_INLINE bool | IsInstanceOf () const |
| | Returns whether the type of this instance is of the given type or derived from it.
|
| |
|
|
| xiiPhysicsWorldModuleInterface (xiiWorld *pWorld) |
| |
|
| xiiWorldModule (xiiWorld *pWorld) |
| |
|
void | RegisterUpdateFunction (const UpdateFunctionDesc &desc) |
| | Registers the given update function at the world.
|
| |
|
void | DeregisterUpdateFunction (const UpdateFunctionDesc &desc) |
| | De-registers the given update function from the world. Note that only the m_Function and the m_Phase of the description have to be valid for de-registration.
|
| |
|
xiiAllocatorBase * | GetAllocator () |
| | Returns the allocator used by the world.
|
| |
|
xiiInternal::WorldLargeBlockAllocator * | GetBlockAllocator () |
| | Returns the block allocator used by the world.
|
| |
|
bool | GetWorldSimulationEnabled () const |
| | Returns whether the world simulation is enabled.
|
| |
| virtual void | Initialize () |
| | This method is called after the constructor. A derived type can override this method to do initialization work. Typically this is the method where updates function are registered.
|
| |
| virtual void | Deinitialize () |
| | This method is called before the destructor. A derived type can override this method to do deinitialization work.
|
| |
|
virtual void | OnSimulationStarted () |
| | This method is called at the start of the next world update when the world is simulated. This method will be called after the initialization method.
|
| |
| virtual void | WorldClear () |
| | Called by xiiWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).
|
| |
Interface for physics world modules that provide physics simulation and queries.
Physics world modules implement physics functionality for a world, including collision detection, raycasting, and shape queries. Different physics engines can provide their own implementations of this interface.