XII Release 0.1.0
Loading...
Searching...
No Matches
xiiPhysicsWorldModuleInterface Class Referenceabstract

#include <PhysicsWorldModule.h>

Inheritance diagram for xiiPhysicsWorldModuleInterface:
[legend]

Classes

struct  JointConfig
struct  FixedJointConfig

Public Member Functions

virtual xiiUInt32 GetCollisionLayerByName (xiiStringView sName) const =0
virtual xiiUInt8 GetWeightCategoryByName (xiiStringView sName) const =0
virtual xiiUInt8 GetImpulseTypeByName (xiiStringView sName) const =0
virtual bool Raycast (xiiPhysicsCastResult &out_result, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters &params, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0
virtual bool RaycastAll (xiiPhysicsCastResultArray &out_results, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters &params) const =0
virtual bool SweepTestSphere (xiiPhysicsCastResult &out_result, float fSphereRadius, const xiiVec3 &vStart, const xiiVec3 &vDir, float fDistance, const xiiPhysicsQueryParameters &params, 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 &params, 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 &params, 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 &params, xiiPhysicsHitCollection collection=xiiPhysicsHitCollection::Closest) const =0
virtual bool OverlapTestSphere (float fSphereRadius, const xiiVec3 &vPosition, const xiiPhysicsQueryParameters &params) const =0
virtual bool OverlapTestBox (const xiiVec3 &vBoxExtents, const xiiVec3 &vPosition, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) const =0
virtual bool OverlapTestCapsule (float fCapsuleRadius, float fCapsuleHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) const =0
virtual bool OverlapTestCylinder (float fCylinderRadius, float fCylinderHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) const =0
virtual void QueryShapesInSphere (xiiPhysicsOverlapResultArray &out_results, float fSphereRadius, const xiiVec3 &vPosition, const xiiPhysicsQueryParameters &params) const =0
virtual void QueryShapesInBox (xiiPhysicsOverlapResultArray &out_results, const xiiVec3 &vBoxExtents, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) const =0
virtual void QueryShapesInCapsule (xiiPhysicsOverlapResultArray &out_results, float fCapsuleRadius, float fCapsuleHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) const =0
virtual void QueryShapesInCylinder (xiiPhysicsOverlapResultArray &out_results, float fCylinderRadius, float fCylinderHeight, const xiiTransform &transform, const xiiPhysicsQueryParameters &params) 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.
Public Member Functions inherited from xiiWorldModule
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.
Public Member Functions inherited from xiiReflectedClass
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.

Protected Member Functions

 xiiPhysicsWorldModuleInterface (xiiWorld *pWorld)
Protected Member Functions inherited from xiiWorldModule
 xiiWorldModule (xiiWorld *pWorld)
void RegisterUpdateFunction (const UpdateFunctionDesc &desc)
 Registers the given update function at the world.
void DeregisterUpdateFunction (const UpdateFunctionDesc &desc)
xiiAllocator * 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 ()
virtual void Deinitialize ()
 This method is called before the destructor. A derived type can override this method to do deinitialization work.
virtual void OnSimulationStarted ()
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).

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()
Protected Types inherited from xiiWorldModule
using UpdateFunction = xiiDelegate<void(const UpdateContext&)>
 Update function delegate.
Protected Attributes inherited from xiiWorldModule
xiiWorld *const m_pWorld

Detailed Description

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.

Member Function Documentation

◆ GetCollisionLayerByName()

virtual xiiUInt32 xiiPhysicsWorldModuleInterface::GetCollisionLayerByName ( xiiStringView sName) const
pure virtual

Searches for a collision layer with the given name and returns its index.

Returns xiiInvalidIndex if no such collision layer exists.

◆ GetImpulseTypeByName()

virtual xiiUInt8 xiiPhysicsWorldModuleInterface::GetImpulseTypeByName ( xiiStringView sName) const
pure virtual

Searches for an impulse type with the given name and returns its key.

Returns xiiImpulseTypeConfig::InvalidKey if no such category exists.

◆ GetWeightCategoryByName()

virtual xiiUInt8 xiiPhysicsWorldModuleInterface::GetWeightCategoryByName ( xiiStringView sName) const
pure virtual

Searches for a weight category with the given name and returns its key.

Returns xiiWeightCategoryConfig::InvalidKey if no such category exists.


The documentation for this class was generated from the following file: