Nv::Blast::ExtPxManagerImpl Class Referencefinal

#include <NvBlastExtPxManagerImpl.h>

Inheritance diagram for Nv::Blast::ExtPxManagerImpl:
Nv::Blast::ExtPxManager

Public Member Functions

 ExtPxManagerImpl (PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn, bool usePxUserData)
 
 ~ExtPxManagerImpl ()
 
virtual ExtPxFamilycreateFamily (const ExtPxFamilyDesc &desc) override
 
virtual bool createJoint (TkJoint &joint) override
 
virtual void destroyJoint (TkJoint &joint) override
 
void dispatchActorCreated (ExtPxFamily &family, ExtPxActor &actor)
 
void dispatchActorDestroyed (ExtPxFamily &family, ExtPxActor &actor)
 
virtual uint32_t getActorCountLimit () override
 
virtual ExtPxActorgetActorFromPhysXActor (const PxRigidDynamic &pxActor) const override
 
virtual uint32_t getFamilies (ExtPxFamily **buffer, uint32_t bufferSize) const override
 
virtual uint32_t getFamilyCount () const override
 
virtual ExtPxFamilygetFamilyFromTkFamily (TkFamily &family) const override
 
virtual TkFrameworkgetFramework () const override
 
virtual PxPhysics & getPhysics () const override
 
virtual uint32_t getPxActorCount () const override
 
virtual bool isPxUserDataUsed () const override
 
void registerActor (PxRigidDynamic *pxActor, ExtPxActor *actor)
 
void registerFamily (ExtPxFamily &family)
 
virtual void release () override
 
virtual void setActorCountLimit (uint32_t limit) override
 
virtual void setCreateJointFunction (ExtPxCreateJointFunction createFn) override
 
virtual void subscribe (ExtPxListener &listener) override
 
void unregisterActor (PxRigidDynamic *pxActor)
 
void unregisterFamily (ExtPxFamily &family)
 
virtual void unsubscribe (ExtPxListener &listener) override
 
void updateJoint (TkJoint &joint)
 
- Public Member Functions inherited from Nv::Blast::ExtPxManager
virtual ExtPxActorgetActorFromPhysXActor (const physx::PxRigidDynamic &pxActor) const =0
 

Friends

class ExtPxActorImpl
 
class ExtPxFamilyImpl
 

Additional Inherited Members

- Public Types inherited from Nv::Blast::ExtPxManager
enum  FilterDataAttributes { LEAF_CHUNK = 1 }
 
- Static Public Member Functions inherited from Nv::Blast::ExtPxManager
static ExtPxManagercreate (physx::PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn=nullptr, bool useUserData=true)
 
static ExtPxCollisionBuildercreateCollisionBuilder (physx::PxPhysics &physics, physx::PxCooking &cooking)
 

Constructor & Destructor Documentation

◆ ExtPxManagerImpl()

Nv::Blast::ExtPxManagerImpl::ExtPxManagerImpl ( PxPhysics &  physics,
TkFramework framework,
ExtPxCreateJointFunction  createFn,
bool  usePxUserData 
)
inline

◆ ~ExtPxManagerImpl()

Nv::Blast::ExtPxManagerImpl::~ExtPxManagerImpl ( )
inline

Member Function Documentation

◆ createFamily()

virtual ExtPxFamily* Nv::Blast::ExtPxManagerImpl::createFamily ( const ExtPxFamilyDesc desc)
overridevirtual

Create a px family from the given descriptor.

Parameters
[in]descThe family descriptor (see ExtPxFamilyDesc).
Returns
the created family, if the descriptor was valid and memory was available for the operation. Otherwise, returns NULL.

Implements Nv::Blast::ExtPxManager.

◆ createJoint()

virtual bool Nv::Blast::ExtPxManagerImpl::createJoint ( TkJoint joint)
overridevirtual

Create a px joint associated with TkJoint.

ExtPxCreateJointFunction will be called after this call. ExtPxCreateJointFunction must be set, nothing will happen otherwise.

Parameters
[in]jointTkJoint to be used to create px joint.
Returns
true iff Joint was created.

Implements Nv::Blast::ExtPxManager.

◆ destroyJoint()

virtual void Nv::Blast::ExtPxManagerImpl::destroyJoint ( TkJoint joint)
overridevirtual

Destroy a px joint associated with TkJoint.

Parameters
[in]jointTkJoint to be used to destroy px joint.

Implements Nv::Blast::ExtPxManager.

◆ dispatchActorCreated()

void Nv::Blast::ExtPxManagerImpl::dispatchActorCreated ( ExtPxFamily family,
ExtPxActor actor 
)
inline

◆ dispatchActorDestroyed()

void Nv::Blast::ExtPxManagerImpl::dispatchActorDestroyed ( ExtPxFamily family,
ExtPxActor actor 
)
inline

◆ getActorCountLimit()

virtual uint32_t Nv::Blast::ExtPxManagerImpl::getActorCountLimit ( )
inlineoverridevirtual

Retrieve the limit to the total number of actors that can exist at a given time. A value of zero disables this (gives no limit).

Returns
the limit to the total number of actors that can exist at a given time (or zero if there is no limit).

Implements Nv::Blast::ExtPxManager.

◆ getActorFromPhysXActor()

virtual ExtPxActor* Nv::Blast::ExtPxManagerImpl::getActorFromPhysXActor ( const PxRigidDynamic &  pxActor) const
inlineoverridevirtual

◆ getFamilies()

virtual uint32_t Nv::Blast::ExtPxManagerImpl::getFamilies ( ExtPxFamily **  buffer,
uint32_t  bufferSize 
) const
inlineoverridevirtual

Retrieve an array of pointers (into the user-supplied buffer) to families.

Parameters
[out]bufferA user-supplied array of ExtPxFamily pointers.
[in]bufferSizeThe number of elements available to write into buffer.
Returns
the number of ExtPxFamily pointers written to the buffer.

Implements Nv::Blast::ExtPxManager.

◆ getFamilyCount()

virtual uint32_t Nv::Blast::ExtPxManagerImpl::getFamilyCount ( ) const
inlineoverridevirtual

The number of families currently in this manager.

Returns
the number of ExtPxFamily that currently exist in this manger.

Implements Nv::Blast::ExtPxManager.

◆ getFamilyFromTkFamily()

virtual ExtPxFamily* Nv::Blast::ExtPxManagerImpl::getFamilyFromTkFamily ( TkFamily family) const
inlineoverridevirtual

Look up an associated ExtPxFamily by TkFamily pointer.

Parameters
[in]familyThe TkFamily pointer to look up.
Returns
pointer to the ExtPxFamily object if it exists, NULL otherwise.

Implements Nv::Blast::ExtPxManager.

◆ getFramework()

virtual TkFramework& Nv::Blast::ExtPxManagerImpl::getFramework ( ) const
inlineoverridevirtual

Get a TkFramework object pointer used upon manager creation.

Returns
a pointer to the TkFramework object.

Implements Nv::Blast::ExtPxManager.

◆ getPhysics()

virtual PxPhysics& Nv::Blast::ExtPxManagerImpl::getPhysics ( ) const
inlineoverridevirtual

Get a PxPhysics object pointer used upon manager creation.

Returns
a pointer to the (const) PxPhysics object.

Implements Nv::Blast::ExtPxManager.

◆ getPxActorCount()

virtual uint32_t Nv::Blast::ExtPxManagerImpl::getPxActorCount ( ) const
inlineoverridevirtual

The total number of PxActors generated by Blast.

Returns
the total number of PxActors generated by Blast.

Implements Nv::Blast::ExtPxManager.

◆ isPxUserDataUsed()

virtual bool Nv::Blast::ExtPxManagerImpl::isPxUserDataUsed ( ) const
inlineoverridevirtual

Get if useUserData was set upon manager creation.

Returns
true iff PxActor userData is used by manager.

Implements Nv::Blast::ExtPxManager.

◆ registerActor()

void Nv::Blast::ExtPxManagerImpl::registerActor ( PxRigidDynamic *  pxActor,
ExtPxActor actor 
)
inline

◆ registerFamily()

void Nv::Blast::ExtPxManagerImpl::registerFamily ( ExtPxFamily family)
inline

◆ release()

virtual void Nv::Blast::ExtPxManagerImpl::release ( )
overridevirtual

Release this manager.

Implements Nv::Blast::ExtPxManager.

◆ setActorCountLimit()

virtual void Nv::Blast::ExtPxManagerImpl::setActorCountLimit ( uint32_t  limit)
inlineoverridevirtual

Limits the total number of actors that can exist at a given time. A value of zero disables this (gives no limit).

Parameters
[in]limitIf not zero, the maximum number of actors that will be allowed to exist.

Implements Nv::Blast::ExtPxManager.

◆ setCreateJointFunction()

virtual void Nv::Blast::ExtPxManagerImpl::setCreateJointFunction ( ExtPxCreateJointFunction  createFn)
inlineoverridevirtual

Set ExtPxCreateJointFunction to be used when new joints are being created.\

Parameters
[in]createFnCreate function pointer to set, can be nullptr.

Implements Nv::Blast::ExtPxManager.

◆ subscribe()

virtual void Nv::Blast::ExtPxManagerImpl::subscribe ( ExtPxListener listener)
inlineoverridevirtual

Add a user implementation of ExtPxListener to this family's list of listeners.

Parameters
[in]listenerThe event listener to add.

Implements Nv::Blast::ExtPxManager.

◆ unregisterActor()

void Nv::Blast::ExtPxManagerImpl::unregisterActor ( PxRigidDynamic *  pxActor)
inline

◆ unregisterFamily()

void Nv::Blast::ExtPxManagerImpl::unregisterFamily ( ExtPxFamily family)
inline

◆ unsubscribe()

virtual void Nv::Blast::ExtPxManagerImpl::unsubscribe ( ExtPxListener listener)
inlineoverridevirtual

Remove a user implementation of ExtPxListener from this family's list of listeners.

Parameters
[in]listenerThe event listener to remove.

Implements Nv::Blast::ExtPxManager.

◆ updateJoint()

void Nv::Blast::ExtPxManagerImpl::updateJoint ( TkJoint joint)

Friends And Related Function Documentation

◆ ExtPxActorImpl

friend class ExtPxActorImpl
friend

◆ ExtPxFamilyImpl

friend class ExtPxFamilyImpl
friend

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