#include <NvBlastExtPxManager.h>

Public Types | |
| enum | FilterDataAttributes { LEAF_CHUNK = 1 } |
Public Member Functions | |
| virtual ExtPxFamily * | createFamily (const ExtPxFamilyDesc &desc)=0 |
| virtual bool | createJoint (TkJoint &joint)=0 |
| virtual void | destroyJoint (TkJoint &joint)=0 |
| virtual uint32_t | getActorCountLimit ()=0 |
| virtual ExtPxActor * | getActorFromPhysXActor (const physx::PxRigidDynamic &pxActor) const =0 |
| virtual uint32_t | getFamilies (ExtPxFamily **buffer, uint32_t bufferSize) const =0 |
| virtual uint32_t | getFamilyCount () const =0 |
| virtual ExtPxFamily * | getFamilyFromTkFamily (TkFamily &family) const =0 |
| virtual TkFramework & | getFramework () const =0 |
| virtual physx::PxPhysics & | getPhysics () const =0 |
| virtual uint32_t | getPxActorCount () const =0 |
| virtual bool | isPxUserDataUsed () const =0 |
| virtual void | release ()=0 |
| virtual void | setActorCountLimit (uint32_t limit)=0 |
| virtual void | setCreateJointFunction (ExtPxCreateJointFunction createFn)=0 |
| virtual void | subscribe (ExtPxListener &listener)=0 |
| virtual void | unsubscribe (ExtPxListener &listener)=0 |
Static Public Member Functions | |
| static ExtPxManager * | create (physx::PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn=nullptr, bool useUserData=true) |
| static ExtPxCollisionBuilder * | createCollisionBuilder (physx::PxPhysics &physics, physx::PxCooking &cooking) |
Used to create and manage Physics Families.
| static ExtPxManager* Nv::Blast::ExtPxManager::create | ( | physx::PxPhysics & | physics, | |
| TkFramework & | framework, | |||
| ExtPxCreateJointFunction | createFn = nullptr, |
|||
| bool | useUserData = true | |||
| ) | [static] |
Create a new ExtPxManager.
| [in] | physics | The PxPhysics instance to be used by ExtPxManager. |
| [in] | framework | The TkFramework instance to be used by ExtPxManager. |
| [in] | cooking | The optional PxCooking. Required for collision builder. |
| [in] | createFn | The function to be used when creating joints, can be nullptr. |
| [in] | useUserData | Flag if ExtPxManager is allowed to override PxActor's userData, it will store pointer to PxActor there. It is recommended as fastest way. If set to 'false' HashMap will be used. |
| static ExtPxCollisionBuilder* Nv::Blast::ExtPxManager::createCollisionBuilder | ( | physx::PxPhysics & | physics, | |
| physx::PxCooking & | cooking | |||
| ) | [static] |
Create PhysX based convex mesh builder.
| virtual ExtPxFamily* Nv::Blast::ExtPxManager::createFamily | ( | const ExtPxFamilyDesc & | desc | ) | [pure virtual] |
Create a px family from the given descriptor.
| [in] | desc | The family descriptor (see ExtPxFamilyDesc). |
Implemented in Nv::Blast::final.
| virtual bool Nv::Blast::ExtPxManager::createJoint | ( | TkJoint & | joint | ) | [pure virtual] |
Create a px joint associated with TkJoint.
ExtPxCreateJointFunction will be called after this call. ExtPxCreateJointFunction must be set, nothing will happen otherwise.
| [in] | joint | TkJoint to be used to create px joint. |
Implemented in Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::destroyJoint | ( | TkJoint & | joint | ) | [pure virtual] |
Destroy a px joint associated with TkJoint.
| [in] | joint | TkJoint to be used to destroy px joint. |
Implemented in Nv::Blast::final.
| virtual uint32_t Nv::Blast::ExtPxManager::getActorCountLimit | ( | ) | [pure virtual] |
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).
Implemented in Nv::Blast::final.
| virtual ExtPxActor* Nv::Blast::ExtPxManager::getActorFromPhysXActor | ( | const physx::PxRigidDynamic & | pxActor | ) | const [pure virtual] |
Look up an associated ExtPxActor by PxRigidDynamic pointer.
| [in] | pxActor | The PxRigidDynamic pointer to look up. |
| virtual uint32_t Nv::Blast::ExtPxManager::getFamilies | ( | ExtPxFamily ** | buffer, | |
| uint32_t | bufferSize | |||
| ) | const [pure virtual] |
Retrieve an array of pointers (into the user-supplied buffer) to families.
| [out] | buffer | A user-supplied array of ExtPxFamily pointers. |
| [in] | bufferSize | The number of elements available to write into buffer. |
Implemented in Nv::Blast::final.
| virtual uint32_t Nv::Blast::ExtPxManager::getFamilyCount | ( | ) | const [pure virtual] |
The number of families currently in this manager.
Implemented in Nv::Blast::final.
| virtual ExtPxFamily* Nv::Blast::ExtPxManager::getFamilyFromTkFamily | ( | TkFamily & | family | ) | const [pure virtual] |
Look up an associated ExtPxFamily by TkFamily pointer.
| [in] | family | The TkFamily pointer to look up. |
Implemented in Nv::Blast::final.
| virtual TkFramework& Nv::Blast::ExtPxManager::getFramework | ( | ) | const [pure virtual] |
Get a TkFramework object pointer used upon manager creation.
Implemented in Nv::Blast::final.
| virtual physx::PxPhysics& Nv::Blast::ExtPxManager::getPhysics | ( | ) | const [pure virtual] |
Get a PxPhysics object pointer used upon manager creation.
Implemented in Nv::Blast::final.
| virtual uint32_t Nv::Blast::ExtPxManager::getPxActorCount | ( | ) | const [pure virtual] |
The total number of PxActors generated by Blast.
Implemented in Nv::Blast::final.
| virtual bool Nv::Blast::ExtPxManager::isPxUserDataUsed | ( | ) | const [pure virtual] |
Get if useUserData was set upon manager creation.
Implemented in Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::release | ( | ) | [pure virtual] |
Release this manager.
Implemented in Nv::Blast::final, Nv::Blast::final, Nv::Blast::final, Nv::Blast::final, Nv::Blast::final, and Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::setActorCountLimit | ( | uint32_t | limit | ) | [pure virtual] |
Limits the total number of actors that can exist at a given time. A value of zero disables this (gives no limit).
| [in] | limit | If not zero, the maximum number of actors that will be allowed to exist. |
Implemented in Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::setCreateJointFunction | ( | ExtPxCreateJointFunction | createFn | ) | [pure virtual] |
Set ExtPxCreateJointFunction to be used when new joints are being created.\
| [in] | createFn | Create function pointer to set, can be nullptr. |
Implemented in Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::subscribe | ( | ExtPxListener & | listener | ) | [pure virtual] |
Add a user implementation of ExtPxListener to this family's list of listeners.
| [in] | listener | The event listener to add. |
Implemented in Nv::Blast::final, and Nv::Blast::final.
| virtual void Nv::Blast::ExtPxManager::unsubscribe | ( | ExtPxListener & | listener | ) | [pure virtual] |
Remove a user implementation of ExtPxListener from this family's list of listeners.
| [in] | listener | The event listener to remove. |
Implemented in Nv::Blast::final, and Nv::Blast::final.