Main Page Class List Class Members

# Nv::Blast::final Class Reference

`#include <NvBlastExtPxActorImpl.h>`

Inheritance diagram for Nv::Blast::final:

List of all members.

## Classes
struct | BondData
struct | Node
struct | Segment
## Public Member Functions
virtual ExtPxFamily * | createFamily (const ExtPxFamilyDesc &desc) override
virtual bool | createJoint (TkJoint &joint) override
virtual bool | despawn () override
virtual void | destroyJoint (TkJoint &joint) override
void | dispatchActorCreated (ExtPxFamily &family, ExtPxActor &actor)
void | dispatchActorCreated (ExtPxActor &actor)
void | dispatchActorDestroyed (ExtPxFamily &family, ExtPxActor &actor)
void | dispatchActorDestroyed (ExtPxActor &actor)
| ExtDamageAcceleratorAABBTree ()
| ExtPxActorImpl (ExtPxFamilyImpl *family, TkActor *tkActor, const PxActorCreateInfo &pxActorInfo)
| ExtPxAssetImpl (TkAsset *asset)
| ExtPxAssetImpl (TkAsset *asset, ExtPxAssetDesc::ChunkDesc *chunks, uint32_t chunkCount)
| ExtPxAssetImpl (const TkAssetDesc &desc, ExtPxChunk *pxChunks, ExtPxSubchunk *pxSubchunks, TkFramework &framework)
| ExtPxAssetImpl (const ExtPxAssetDesc &desc, TkFramework &framework)
| ExtPxFamilyImpl (ExtPxManagerImpl &manager, TkFamily &tkFamily, ExtPxAsset &pxAsset)
| ExtPxManagerImpl (PxPhysics &physics, TkFramework &framework, ExtPxCreateJointFunction createFn, bool usePxUserData)
| ExtPxStressSolverImpl (ExtPxFamily &family, ExtStressSolverSettings settings)
virtual Nv::Blast::DebugBuffer | fillDebugRender (int depth, bool segments) override
virtual void | findBondCentroidsInBounds (const physx::PxBounds3 &bounds, ResultCallback &resultCallback) const override
virtual void | findBondSegmentsInBounds (const physx::PxBounds3 &bounds, ResultCallback &resultCallback) const override
virtual void | findBondSegmentsPlaneIntersected (const physx::PxPlane &plane, ResultCallback &resultCallback) const override
virtual NvBlastExtDamageAccelerator * | getAccelerator () const override
virtual uint32_t | getActorCount () const override
virtual uint32_t | getActorCountLimit () override
virtual ExtPxActor * | getActorFromPhysXActor (const PxRigidDynamic &pxActor) const override
virtual uint32_t | getActors (ExtPxActor **buffer, uint32_t bufferSize) const override
Array< float >::type & | getBondHealthsArray ()
virtual uint32_t | getChunkCount () const override
virtual uint32_t | getChunkCount () const override
virtual const uint32_t * | getChunkIndices () const override
virtual const ExtPxChunk * | getChunks () const override
Array< ExtPxChunk >::type & | getChunksArray ()
virtual const NvBlastActorDesc & | getDefaultActorDesc () const override
virtual NvBlastActorDesc & | getDefaultActorDesc () override
virtual uint32_t | getFamilies (ExtPxFamily **buffer, uint32_t bufferSize) const override
virtual ExtPxFamily & | getFamily () const override
virtual uint32_t | getFamilyCount () const override
virtual ExtPxFamily * | getFamilyFromTkFamily (TkFamily &family) const override
virtual TkFramework & | getFramework () const override
virtual void * | getImmediateScratch (size_t size) override
virtual const NvBlastExtMaterial * | getMaterial () const override
virtual PxPhysics & | getPhysics () const override
virtual PxRigidDynamic & | getPhysXActor () const override
virtual uint32_t | getPxActorCount () const override
virtual const ExtPxActorDescTemplate * | getPxActorDesc () const override
virtual ExtPxAsset & | getPxAsset () const override
virtual const ExtPxShapeDescTemplate * | getPxShapeDescTemplate () const override
virtual ExtStressSolver & | getSolver () const override
virtual uint32_t | getSubchunkCount () const override
virtual const ExtPxSubchunk * | getSubchunks () const override
Array< ExtPxSubchunk >::type & | getSubchunksArray ()
virtual const physx::PxShape *const * | getSubchunkShapes () const override
Array< float >::type & | getSupportChunkHealthsArray ()
virtual TkActor & | getTkActor () const override
virtual const TkAsset & | getTkAsset () const override
virtual TkFamily & | getTkFamily () const override
void | initialize ()
virtual bool | isPxUserDataUsed () const override
virtual void | onActorCreated (ExtPxFamily &family, ExtPxActor &actor) final
virtual void | onActorDestroyed (ExtPxFamily &family, ExtPxActor &actor) final
virtual void | postSplitUpdate () override
void | process (TkWorkerJob &job)
void | process (uint32_t jobID)
virtual void | receive (const TkEvent *events, uint32_t eventCount) override
void | registerActor (PxRigidDynamic *pxActor, ExtPxActor *actor)
void | registerFamily (ExtPxFamily &family)
virtual void | release () override
virtual void | release () override
virtual void | release () override
virtual void | release () override
virtual void | release () override
void | release ()
virtual void | setAccelerator (NvBlastExtDamageAccelerator *accelerator) override
virtual void | setActorCountLimit (uint32_t limit) override
virtual void | setCreateJointFunction (ExtPxCreateJointFunction createFn) override
virtual void | setMaterial (const NvBlastExtMaterial *material) override
virtual void | setMaterial (PxMaterial &material) override
virtual void | setPxActorDesc (const ExtPxActorDescTemplate *pxActorDesc) override
virtual void | setPxShapeDescTemplate (const ExtPxShapeDescTemplate *pxShapeDesc) override
virtual void | setUniformHealth (bool enabled) override
virtual bool | spawn (const physx::PxTransform &pose, const physx::PxVec3 &scale, const ExtPxSpawnSettings &settings) override
virtual void | subscribe (ExtPxListener &listener) override
virtual void | subscribe (ExtPxListener &listener) override
| TkWorker ()
void | unregisterActor (PxRigidDynamic *pxActor)
void | unregisterFamily (ExtPxFamily &family)
virtual void | unsubscribe (ExtPxListener &listener) override
virtual void | unsubscribe (ExtPxListener &listener) override
virtual void | update (bool doDamage) override
void | updateJoint (TkJoint &joint)
virtual | ~ExtDamageAcceleratorAABBTree ()
| ~ExtPxActorImpl ()
| ~ExtPxAssetImpl ()
| ~ExtPxFamilyImpl ()
| ~ExtPxManagerImpl ()
## Static Public Member Functions
static ExtDamageAcceleratorAABBTree * | create (const NvBlastAsset *asset)
## Public Attributes
friend | ExtPxActorImpl
friend | ExtPxManagerImpl
LocalBuffer < NvBlastBondFractureData > | m_bondBuffer
| memory manager for bonds event data
LocalBuffer < NvBlastChunkFractureData > | m_chunkBuffer
| memory manager for chunk event data
TkGroupImpl * | m_group
| the group owning this worker
uint32_t | m_id
| this worker's id
bool | m_isBusy
void * | m_splitScratch
NvBlastFractureBuffers | m_tempBuffer
## Friends
class | ExtPxActorImpl
class | ExtPxAsset
class | ExtPxFamilyImpl

## Detailed Description

Thread worker fracturing and splitting actors sequentially. The list of actual jobs is provided by the group owning this worker.

## Constructor & Destructor Documentation

Nv::Blast::final::~ExtPxActorImpl | ( |  | ) | `[inline]`

Nv::Blast::final::~ExtPxAssetImpl | ( |  | ) |

Nv::Blast::final::~ExtPxFamilyImpl | ( |  | ) |

Nv::Blast::final::~ExtPxManagerImpl | ( |  | ) | `[inline]`

virtual Nv::Blast::final::~ExtDamageAcceleratorAABBTree | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

static ExtDamageAcceleratorAABBTree* Nv::Blast::final::create | ( | const NvBlastAsset * | asset | ) | `[static]`

virtual ExtPxFamily* Nv::Blast::final::createFamily | ( | const ExtPxFamilyDesc & | desc | ) | `[override, virtual]`

Create a px family from the given descriptor.

Parameters:

  `[in]` | desc | The 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.

virtual bool Nv::Blast::final::createJoint | ( | TkJoint & | joint | ) | `[override, virtual]`

Create a px joint associated with TkJoint.

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

Parameters:

  `[in]` | joint | TkJoint to be used to create px joint.

Returns:
  true iff Joint was created.

Implements Nv::Blast::ExtPxManager.

virtual bool Nv::Blast::final::despawn | ( |  | ) | `[override, virtual]`

Despawn this ExtPxFamily. This removes the PhysX actors from PxScene and deletes them, as well as deleting the created ExtPxActors

This does not call release() on the family.

Returns:
  true if successful.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::destroyJoint | ( | TkJoint & | joint | ) | `[override, virtual]`

Destroy a px joint associated with TkJoint.

Parameters:

  `[in]` | joint | TkJoint to be used to destroy px joint.

Implements Nv::Blast::ExtPxManager.

void Nv::Blast::final::dispatchActorCreated | ( | ExtPxFamily & | family,
|  | ExtPxActor & | actor |
| ) |  |  | `[inline]`

void Nv::Blast::final::dispatchActorCreated | ( | ExtPxActor & | actor | ) |

void Nv::Blast::final::dispatchActorDestroyed | ( | ExtPxFamily & | family,
|  | ExtPxActor & | actor |
| ) |  |  | `[inline]`

void Nv::Blast::final::dispatchActorDestroyed | ( | ExtPxActor & | actor | ) |

Nv::Blast::final::ExtDamageAcceleratorAABBTree | ( |  | ) | `[inline]`

Nv::Blast::final::ExtPxActorImpl | ( | ExtPxFamilyImpl * | family,
|  | TkActor * | tkActor,
|  | const PxActorCreateInfo & | pxActorInfo |
| ) |  |  |

Nv::Blast::final::ExtPxAssetImpl | ( | TkAsset * | asset | ) |

Nv::Blast::final::ExtPxAssetImpl | ( | TkAsset * | asset,
|  | ExtPxAssetDesc::ChunkDesc * | chunks,
|  | uint32_t | chunkCount |
| ) |  |  |

Nv::Blast::final::ExtPxAssetImpl | ( | const TkAssetDesc & | desc,
|  | ExtPxChunk * | pxChunks,
|  | ExtPxSubchunk * | pxSubchunks,
|  | TkFramework & | framework |
| ) |  |  |

Nv::Blast::final::ExtPxAssetImpl | ( | const ExtPxAssetDesc & | desc,
|  | TkFramework & | framework |
| ) |  |  |

Nv::Blast::final::ExtPxFamilyImpl | ( | ExtPxManagerImpl & | manager,
|  | TkFamily & | tkFamily,
|  | ExtPxAsset & | pxAsset |
| ) |  |  |

Nv::Blast::final::ExtPxManagerImpl | ( | PxPhysics & | physics,
|  | TkFramework & | framework,
|  | ExtPxCreateJointFunction | createFn,
|  | bool | usePxUserData |
| ) |  |  | `[inline]`

Nv::Blast::final::ExtPxStressSolverImpl | ( | ExtPxFamily & | family,
|  | ExtStressSolverSettings | settings |
| ) |  |  |

virtual Nv::Blast::DebugBuffer Nv::Blast::final::fillDebugRender | ( | int | depth,
|  | bool | segments |
| ) |  |  | `[override, virtual]`

Implements NvBlastExtDamageAccelerator.

virtual void Nv::Blast::final::findBondCentroidsInBounds | ( | const physx::PxBounds3 & | bounds,
|  | ResultCallback & | resultCallback |
| ) |  |  | const`[inline, override, virtual]`

Implements Nv::Blast::ExtDamageAcceleratorInternal.

virtual void Nv::Blast::final::findBondSegmentsInBounds | ( | const physx::PxBounds3 & | bounds,
|  | ResultCallback & | resultCallback |
| ) |  |  | const`[inline, override, virtual]`

Implements Nv::Blast::ExtDamageAcceleratorInternal.

virtual void Nv::Blast::final::findBondSegmentsPlaneIntersected | ( | const physx::PxPlane & | plane,
|  | ResultCallback & | resultCallback |
| ) |  |  | const`[override, virtual]`

Implements Nv::Blast::ExtDamageAcceleratorInternal.

virtual NvBlastExtDamageAccelerator* Nv::Blast::final::getAccelerator | ( |  | ) | const`[inline, override, virtual]`

Set damage accelerator associated with this asset.

Implements Nv::Blast::ExtPxAsset.

virtual uint32_t Nv::Blast::final::getActorCount | ( |  | ) | const`[inline, override, virtual]`

The number of actors currently in this family.

Returns:
  the number of ExtPxActor that currently exist in this family.

Implements Nv::Blast::ExtPxFamily.

virtual uint32_t Nv::Blast::final::getActorCountLimit | ( |  | ) | `[inline, override, 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).

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.

virtual ExtPxActor* Nv::Blast::final::getActorFromPhysXActor | ( | const PxRigidDynamic & | pxActor | ) | const`[inline, override, virtual]`

virtual uint32_t Nv::Blast::final::getActors | ( | ExtPxActor ** | buffer,
|  | uint32_t | bufferSize |
| ) |  |  | const`[inline, override, virtual]`

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

Parameters:

  `[out]` | buffer | A user-supplied array of ExtPxActor pointers.
  `[in]` | bufferSize | The number of elements available to write into buffer.

Returns:
  the number of ExtPxActor pointers written to the buffer.

Implements Nv::Blast::ExtPxFamily.

Array<float>::type& Nv::Blast::final::getBondHealthsArray | ( |  | ) | `[inline]`

virtual uint32_t Nv::Blast::final::getChunkCount | ( |  | ) | const`[inline, override, virtual]`

Get the number of visible chunks for this actor. May be used in conjunction with getChunkIndices().

Returns:
  the number of visible chunk indices for the actor.

Implements Nv::Blast::ExtPxActor.

virtual uint32_t Nv::Blast::final::getChunkCount | ( |  | ) | const`[inline, override, virtual]`

Get the number of visible chunks for this actor. May be used in conjunction with getChunkIndices().

Returns:
  the number of visible chunk indices for the actor.

Implements Nv::Blast::ExtPxActor.

virtual const uint32_t* Nv::Blast::final::getChunkIndices | ( |  | ) | const`[inline, override, virtual]`

Access actor's array of chunk indices. Use getChunkCount() to get a size of this array.

Returns:
  a pointer to an array of chunk indices of an actor.

Implements Nv::Blast::ExtPxActor.

virtual const ExtPxChunk* Nv::Blast::final::getChunks | ( |  | ) | const`[inline, override, virtual]`

Access asset's array of chunks. Use getChunkCount() to get the size of this array.

Returns:
  a pointer to an array of chunk of an asset.

Implements Nv::Blast::ExtPxAsset.

Array<ExtPxChunk>::type& Nv::Blast::final::getChunksArray | ( |  | ) | `[inline]`

virtual const NvBlastActorDesc& Nv::Blast::final::getDefaultActorDesc | ( |  | ) | const`[inline, override, virtual]`

Implements Nv::Blast::ExtPxAsset.

virtual NvBlastActorDesc& Nv::Blast::final::getDefaultActorDesc | ( |  | ) | `[inline, override, virtual]`

Get the default NvBlastActorDesc to be used when creating family from this asset. It is called 'default', because it can be overwritten in ExtPxManager::createFamily(...) function.

Initially default NvBlastActorDesc contains only uniform health values, and 'nullptr' is set in arrays of health. Call setUniformHealth(false) in order to set health per bond/chunk. You can then access directly values stored in NvBlastActorDesc, change them and they will be serialized/deserialized as withing asset itself.

NOTE: do not change actual pointers in NvBlastActorDesc: initialBondHealths and initialSupportChunkHealths. You can change actual values in those arrays or if they are 'nullptr' call setUniformHealth(false) before. Or call setUniformHealth(true) to make them 'nullptr'.

Returns:
  the default NvBlastActorDesc.

Implements Nv::Blast::ExtPxAsset.

virtual uint32_t Nv::Blast::final::getFamilies | ( | ExtPxFamily ** | buffer,
|  | uint32_t | bufferSize |
| ) |  |  | const`[inline, override, virtual]`

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

Parameters:

  `[out]` | buffer | A user-supplied array of ExtPxFamily pointers.
  `[in]` | bufferSize | The number of elements available to write into buffer.

Returns:
  the number of ExtPxFamily pointers written to the buffer.

Implements Nv::Blast::ExtPxManager.

virtual ExtPxFamily& Nv::Blast::final::getFamily | ( |  | ) | const`[override, virtual]`

Every actor has corresponding ExtPxFamily.

/return a pointer to ExtPxFamily family.

Implements Nv::Blast::ExtPxActor.

virtual uint32_t Nv::Blast::final::getFamilyCount | ( |  | ) | const`[inline, override, virtual]`

The number of families currently in this manager.

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

Implements Nv::Blast::ExtPxManager.

virtual ExtPxFamily* Nv::Blast::final::getFamilyFromTkFamily | ( | TkFamily & | family | ) | const`[inline, override, virtual]`

Look up an associated ExtPxFamily by TkFamily pointer.

Parameters:

  `[in]` | family | The TkFamily pointer to look up.

Returns:
  pointer to the ExtPxFamily object if it exists, NULL otherwise.

Implements Nv::Blast::ExtPxManager.

virtual TkFramework& Nv::Blast::final::getFramework | ( |  | ) | const`[inline, override, virtual]`

Get a TkFramework object pointer used upon manager creation.

Returns:
  a pointer to the TkFramework object.

Implements Nv::Blast::ExtPxManager.

virtual void* Nv::Blast::final::getImmediateScratch | ( | size_t | size | ) | `[inline, override, virtual]`

Implements Nv::Blast::ExtDamageAcceleratorInternal.

virtual const NvBlastExtMaterial* Nv::Blast::final::getMaterial | ( |  | ) | const`[inline, override, virtual]`

The default material associated with this actor family.

Returns:
  a pointer to the default material.

Implements Nv::Blast::ExtPxFamily.

virtual PxPhysics& Nv::Blast::final::getPhysics | ( |  | ) | const`[inline, override, virtual]`

Get a PxPhysics object pointer used upon manager creation.

Returns:
  a pointer to the (const) PxPhysics object.

Implements Nv::Blast::ExtPxManager.

virtual PxRigidDynamic& Nv::Blast::final::getPhysXActor | ( |  | ) | const`[inline, override, virtual]`

Every actor has corresponding PxActor.

/return a pointer to PxRigidDynamic actor.

Implements Nv::Blast::ExtPxActor.

virtual uint32_t Nv::Blast::final::getPxActorCount | ( |  | ) | const`[inline, override, virtual]`

The total number of PxActors generated by Blast.

Returns:
  the total number of PxActors generated by Blast.

Implements Nv::Blast::ExtPxManager.

virtual const ExtPxActorDescTemplate* Nv::Blast::final::getPxActorDesc | ( |  | ) | const`[inline, override, virtual]`

Get the default ExtPxPxActorDesc to be used on all newly created PxActors.

Returns:
  a pointer to the default PxActor desc. Can be nullptr.

Implements Nv::Blast::ExtPxFamily.

virtual ExtPxAsset& Nv::Blast::final::getPxAsset | ( |  | ) | const`[inline, override, virtual]`

Every family has an associated asset.

Returns:
  a pointer to the (const) ExtPxAsset object.

Implements Nv::Blast::ExtPxFamily.

virtual const ExtPxShapeDescTemplate* Nv::Blast::final::getPxShapeDescTemplate | ( |  | ) | const`[inline, override, virtual]`

Get the default ExtPxPxShapeDesc to be used on all newly created PxShapes.

Returns:
  a pointer to the default PxShape desc. Can be nullptr.

Implements Nv::Blast::ExtPxFamily.

virtual ExtStressSolver& Nv::Blast::final::getSolver | ( |  | ) | const`[inline, override, virtual]`

Get actual ExtStressSolver used.

Returns:
  the pointer to ExtStressSolver used internally.

Implements Nv::Blast::ExtPxStressSolver.

virtual uint32_t Nv::Blast::final::getSubchunkCount | ( |  | ) | const`[inline, override, virtual]`

Get the number of subchunks for this asset. May be used in conjunction with getSubchunks(). Subchunk count is the maximum value of ExtPxChunk: (firstSubchunkIndex + subchunkCount).

Returns:
  the number of subchunks for the asset.

Implements Nv::Blast::ExtPxAsset.

virtual const ExtPxSubchunk* Nv::Blast::final::getSubchunks | ( |  | ) | const`[inline, override, virtual]`

Access asset's array of subchunks. Use getSubchunkCount() to get the size of this array.

Returns:
  a pointer to an array of subchunks of an asset.

Implements Nv::Blast::ExtPxAsset.

Array<ExtPxSubchunk>::type& Nv::Blast::final::getSubchunksArray | ( |  | ) | `[inline]`

virtual const physx::PxShape* const* Nv::Blast::final::getSubchunkShapes | ( |  | ) | const`[inline, override, virtual]`

Access an array of shapes of subchunks. The size of array is equal getPxAsset()->getSubchunkCount(). For every corresponding subchunk it contains pointer to created PxShape or nullptr.

Returns:
  the pointer to subchunk shapes array.

Implements Nv::Blast::ExtPxFamily.

Array<float>::type& Nv::Blast::final::getSupportChunkHealthsArray | ( |  | ) | `[inline]`

virtual TkActor& Nv::Blast::final::getTkActor | ( |  | ) | const`[inline, override, virtual]`

Every actor has corresponding TkActor.

/return a pointer to TkActor actor.

Implements Nv::Blast::ExtPxActor.

virtual const TkAsset& Nv::Blast::final::getTkAsset | ( |  | ) | const`[inline, override, virtual]`

Every ExtPxAsset has corresponding TkAsset.

/return a pointer to TkAsset actor.

Implements Nv::Blast::ExtPxAsset.

virtual TkFamily& Nv::Blast::final::getTkFamily | ( |  | ) | const`[inline, override, virtual]`

Every family has corresponding TkFamily.

/return a pointer to TkFamily actor.

Implements Nv::Blast::ExtPxFamily.

void Nv::Blast::final::initialize | ( |  | ) |

virtual bool Nv::Blast::final::isPxUserDataUsed | ( |  | ) | const`[inline, override, virtual]`

Get if useUserData was set upon manager creation.

Returns:
  true iff PxActor userData is used by manager.

Implements Nv::Blast::ExtPxManager.

virtual void Nv::Blast::final::onActorCreated | ( | ExtPxFamily & | family,
|  | ExtPxActor & | actor |
| ) |  |  | `[virtual]`

Interface to be implemented by the user. Will be called when ExtPxFamily creates new actor.

Parameters:

  `[in]` | family | Corresponding ExtPxFamily with new actor.
  `[in]` | actor | The new actor.

Implements Nv::Blast::ExtPxListener.

virtual void Nv::Blast::final::onActorDestroyed | ( | ExtPxFamily & | family,
|  | ExtPxActor & | actor |
| ) |  |  | `[virtual]`

Interface to be implemented by the user. Will be called when ExtPxFamily destroy an actor.

Parameters:

  `[in]` | family | Corresponding ExtPxFamily.
  `[in]` | actor | The actor to be destroyed.

Implements Nv::Blast::ExtPxListener.

virtual void Nv::Blast::final::postSplitUpdate | ( |  | ) | `[override, virtual]`

Call after split.

Implements Nv::Blast::ExtPxFamily.

void Nv::Blast::final::process | ( | TkWorkerJob & | job | ) |

void Nv::Blast::final::process | ( | uint32_t | jobId | ) | `[virtual]`

Process a job of this worker's TkGroup.

/param[in] jobId a job id in the range (0, TkGroup::startProcess()]

Implements Nv::Blast::TkGroupWorker.

virtual void Nv::Blast::final::receive | ( | const TkEvent * | events,
|  | uint32_t | eventCount |
| ) |  |  | `[override, virtual]`

Interface to be implemented by the user. Events will be sent by BlastTk through a call to this function.

Parameters:

  `[in]` | events | The array of events being dispatched.
  `[in]` | eventCount | The number of events in the array.

Implements Nv::Blast::TkEventListener.

void Nv::Blast::final::registerActor | ( | PxRigidDynamic * | pxActor,
|  | ExtPxActor * | actor |
| ) |  |  | `[inline]`

void Nv::Blast::final::registerFamily | ( | ExtPxFamily & | family | ) | `[inline]`

virtual void Nv::Blast::final::release | ( |  | ) | `[override, virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::release | ( |  | ) | `[override, virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::release | ( |  | ) | `[override, virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::release | ( |  | ) | `[override, virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::release | ( |  | ) | `[override, virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

void Nv::Blast::final::release | ( |  | ) | `[virtual]`

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::setAccelerator | ( | NvBlastExtDamageAccelerator * | accelerator | ) | `[inline, override, virtual]`

Set damage accelerator associated with this asset.

Implements Nv::Blast::ExtPxAsset.

virtual void Nv::Blast::final::setActorCountLimit | ( | uint32_t | limit | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | limit | If not zero, the maximum number of actors that will be allowed to exist.

Implements Nv::Blast::ExtPxManager.

virtual void Nv::Blast::final::setCreateJointFunction | ( | ExtPxCreateJointFunction | createFn | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | createFn | Create function pointer to set, can be nullptr.

Implements Nv::Blast::ExtPxManager.

virtual void Nv::Blast::final::setMaterial | ( | const NvBlastExtMaterial * | material | ) | `[inline, override, virtual]`

Set the default material associated with this actor family.

Parameters:

  `[in]` | material | The material to be the new default.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::setMaterial | ( | PxMaterial & | material | ) | `[inline, override, virtual]`

virtual void Nv::Blast::final::setPxActorDesc | ( | const ExtPxActorDescTemplate * | pxActorDesc | ) | `[inline, override, virtual]`

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::setPxShapeDescTemplate | ( | const ExtPxShapeDescTemplate * | pxShapeDesc | ) | `[inline, override, virtual]`

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::setUniformHealth | ( | bool | enabled | ) | `[override, virtual]`

Set if uniform health values should be used in NvBlastActorDesc or per bond/chunk ones.

See also:
  getDefaultActorDesc.

Implements Nv::Blast::ExtPxAsset.

virtual bool Nv::Blast::final::spawn | ( | const physx::PxTransform & | pose,
|  | const physx::PxVec3 & | scale,
|  | const ExtPxSpawnSettings & | settings |
| ) |  |  | `[override, virtual]`

Spawn ExtPxFamily. Can be called only once. Actual PhysX actors will created and placed in PxScene

Parameters:

  `[in]` | pose | World transform.
  `[in]` | scale | Scale applied to spawned actors.
  `[in]` | settings | Spawn settings.

Returns:
  true if spawn was successful, false otherwise.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::subscribe | ( | ExtPxListener & | listener | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | listener | The event listener to add.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::subscribe | ( | ExtPxListener & | listener | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | listener | The event listener to add.

Implements Nv::Blast::ExtPxFamily.

Nv::Blast::final::TkWorker | ( |  | ) | `[inline]`

void Nv::Blast::final::unregisterActor | ( | PxRigidDynamic * | pxActor | ) | `[inline]`

void Nv::Blast::final::unregisterFamily | ( | ExtPxFamily & | family | ) | `[inline]`

virtual void Nv::Blast::final::unsubscribe | ( | ExtPxListener & | listener | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | listener | The event listener to remove.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::unsubscribe | ( | ExtPxListener & | listener | ) | `[inline, override, virtual]`

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

Parameters:

  `[in]` | listener | The event listener to remove.

Implements Nv::Blast::ExtPxFamily.

virtual void Nv::Blast::final::update | ( | bool | doDamage | ) | `[override, virtual]`

Update stress solver.

Calculate stress and optionally apply damage.

Parameters:

  `[in]` | doDamage | If 'true' damage will be applied after stress solver.

Implements Nv::Blast::ExtPxStressSolver.

void Nv::Blast::final::updateJoint | ( | TkJoint & | joint | ) |

## Friends And Related Function Documentation

friend class ExtPxActorImpl`[friend]`

friend class ExtPxAsset`[friend]`

friend class ExtPxFamilyImpl`[friend]`

## Member Data Documentation

friend Nv::Blast::final::ExtPxActorImpl

friend Nv::Blast::final::ExtPxManagerImpl

LocalBuffer<NvBlastBondFractureData> Nv::Blast::final::m_bondBuffer

memory manager for bonds event data

LocalBuffer<NvBlastChunkFractureData> Nv::Blast::final::m_chunkBuffer

memory manager for chunk event data

TkGroupImpl* Nv::Blast::final::m_group

the group owning this worker

uint32_t Nv::Blast::final::m_id

this worker's id

bool Nv::Blast::final::m_isBusy

void* Nv::Blast::final::m_splitScratch

NvBlastFractureBuffers Nv::Blast::final::m_tempBuffer

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

- sdk/extensions/physx/source/physics/NvBlastExtPxActorImpl.h
- sdk/extensions/physx/source/physics/NvBlastExtPxAssetImpl.h
- sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.h
- sdk/extensions/physx/source/physics/NvBlastExtPxManagerImpl.h
- sdk/extensions/physx/source/physics/NvBlastExtPxStressSolverImpl.h
- sdk/extensions/shaders/source/NvBlastExtDamageAcceleratorAABBTree.h
- sdk/toolkit/source/NvBlastTkTaskImpl.h