Plasma Engine  2.0
Loading...
Searching...
No Matches
plPhysicsWorldModuleInterface Class Referenceabstract
Inheritance diagram for plPhysicsWorldModuleInterface:

Classes

struct  FixedJointConfig
 
struct  JointConfig
 

Public Member Functions

virtual plUInt32 GetCollisionLayerByName (plStringView sName) const =0
 Searches for a collision layer with the given name and returns its index.
 
virtual bool Raycast (plPhysicsCastResult &out_result, const plVec3 &vStart, const plVec3 &vDir, float fDistance, const plPhysicsQueryParameters &params, plPhysicsHitCollection collection=plPhysicsHitCollection::Closest) const =0
 
virtual bool RaycastAll (plPhysicsCastResultArray &out_results, const plVec3 &vStart, const plVec3 &vDir, float fDistance, const plPhysicsQueryParameters &params) const =0
 
virtual bool SweepTestSphere (plPhysicsCastResult &out_result, float fSphereRadius, const plVec3 &vStart, const plVec3 &vDir, float fDistance, const plPhysicsQueryParameters &params, plPhysicsHitCollection collection=plPhysicsHitCollection::Closest) const =0
 
virtual bool SweepTestBox (plPhysicsCastResult &out_result, plVec3 vBoxExtends, const plTransform &transform, const plVec3 &vDir, float fDistance, const plPhysicsQueryParameters &params, plPhysicsHitCollection collection=plPhysicsHitCollection::Closest) const =0
 
virtual bool SweepTestCapsule (plPhysicsCastResult &out_result, float fCapsuleRadius, float fCapsuleHeight, const plTransform &transform, const plVec3 &vDir, float fDistance, const plPhysicsQueryParameters &params, plPhysicsHitCollection collection=plPhysicsHitCollection::Closest) const =0
 
virtual bool OverlapTestSphere (float fSphereRadius, const plVec3 &vPosition, const plPhysicsQueryParameters &params) const =0
 
virtual bool OverlapTestCapsule (float fCapsuleRadius, float fCapsuleHeight, const plTransform &transform, const plPhysicsQueryParameters &params) const =0
 
virtual void QueryShapesInSphere (plPhysicsOverlapResultArray &out_results, float fSphereRadius, const plVec3 &vPosition, const plPhysicsQueryParameters &params) const =0
 
virtual plVec3 GetGravity () const =0
 
virtual void AddStaticCollisionBox (plGameObject *pOwner, plVec3 vBoxSize)
 Adds a static actor with a box shape to pOwner.
 
virtual void AddFixedJointComponent (plGameObject *pOwner, const plPhysicsWorldModuleInterface::FixedJointConfig &cfg)
 Adds a fixed joint to pOwner.
 
virtual plBoundingBoxSphere GetWorldSpaceBounds (plGameObject *pOwner, plUInt32 uiCollisionLayer, plBitflags< plPhysicsShapeType > 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 plWorldModule
plWorldGetWorld ()
 Returns the corresponding world to this module.
 
const plWorldGetWorld () const
 Returns the corresponding world to this module.
 
plUInt32 GetWorldIndex () const
 Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Member Functions

 plPhysicsWorldModuleInterface (plWorld *pWorld)
 
- Protected Member Functions inherited from plWorldModule
 plWorldModule (plWorld *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.
 
plAllocatorGetAllocator ()
 Returns the allocator used by the world.
 
plInternal::WorldLargeBlockAllocatorGetBlockAllocator ()
 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 plWorld::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 plNoBase
static const plRTTIGetStaticRTTI ()
 
- Protected Types inherited from plWorldModule
using UpdateFunction = plDelegate<void(const UpdateContext&)>
 Update function delegate.
 
- Protected Attributes inherited from plWorldModule
plWorldm_pWorld
 

Member Function Documentation

◆ AddFixedJointComponent()

virtual void plPhysicsWorldModuleInterface::AddFixedJointComponent ( plGameObject * pOwner,
const plPhysicsWorldModuleInterface::FixedJointConfig & cfg )
inlinevirtual

Adds a fixed joint to pOwner.

Reimplemented in plJoltWorldModule.

◆ AddStaticCollisionBox()

virtual void plPhysicsWorldModuleInterface::AddStaticCollisionBox ( plGameObject * pOwner,
plVec3 vBoxSize )
inlinevirtual

Adds a static actor with a box shape to pOwner.

Reimplemented in plJoltWorldModule.

◆ GetCollisionLayerByName()

virtual plUInt32 plPhysicsWorldModuleInterface::GetCollisionLayerByName ( plStringView sName) const
pure virtual

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

Returns plInvalidIndex if no such collision layer exists.

Implemented in plJoltWorldModule.

◆ GetWorldSpaceBounds()

virtual plBoundingBoxSphere plPhysicsWorldModuleInterface::GetWorldSpaceBounds ( plGameObject * pOwner,
plUInt32 uiCollisionLayer,
plBitflags< plPhysicsShapeType > shapeTypes,
bool bIncludeChildObjects ) const
inlinevirtual

Gets world space bounds of a physics object if its shape type is included in shapeTypes and its collision layer interacts with uiCollisionLayer.

Reimplemented in plJoltWorldModule.


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