Main Page Class List Class Members

List of all members | Public Member Functions | Public Attributes
Nv::Blast::ExtPxFamilyImpl Class Referencefinal

`#include <NvBlastExtPxFamilyImpl.h>`

Inheritance diagram for Nv::Blast::ExtPxFamilyImpl:

## Public Member Functions
| ExtPxFamilyImpl (ExtPxManagerImpl &manager, TkFamily &tkFamily, ExtPxAsset &pxAsset)
| ~ExtPxFamilyImpl ()
virtual bool | despawn () override
void | dispatchActorCreated (ExtPxActor &actor)
void | dispatchActorDestroyed (ExtPxActor &actor)
virtual uint32_t | getActorCount () const override
virtual uint32_t | getActors (ExtPxActor **buffer, uint32_t bufferSize) const override
virtual const NvBlastExtMaterial * | getMaterial () const override
virtual const ExtPxActorDescTemplate * | getPxActorDesc () const override
virtual ExtPxAsset & | getPxAsset () const override
virtual const ExtPxShapeDescTemplate * | getPxShapeDescTemplate () const override
virtual const physx::PxShape *const * | getSubchunkShapes () const override
virtual TkFamily & | getTkFamily () const override
virtual void | postSplitUpdate () override
virtual void | receive (const TkEvent *events, uint32_t eventCount) override
virtual void | release () override
virtual void | setMaterial (PxMaterial &material) override
virtual void | setMaterial (const NvBlastExtMaterial *material) override
virtual void | setPxActorDesc (const ExtPxActorDescTemplate *pxActorDesc) override
virtual void | setPxShapeDescTemplate (const ExtPxShapeDescTemplate *pxShapeDesc) override
virtual bool | spawn (const physx::PxTransform &pose, const physx::PxVec3 &scale, const ExtPxSpawnSettings &settings) override
virtual void | subscribe (ExtPxListener &listener) override
virtual void | unsubscribe (ExtPxListener &listener) override
Public Member Functions inherited from Nv::Blast::ExtPxFamily
virtual void | setMaterial (physx::PxMaterial &material)=0

## Public Attributes
friend | ExtPxActorImpl
friend | ExtPxManagerImpl
Public Attributes inherited from Nv::Blast::ExtPxFamily
void * | userData

## Constructor & Destructor Documentation

## ◆ ExtPxFamilyImpl()

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

## ◆ ~ExtPxFamilyImpl()

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

## Member Function Documentation

## ◆ despawn()

virtual bool Nv::Blast::ExtPxFamilyImpl::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.

## ◆ dispatchActorCreated()

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

## ◆ dispatchActorDestroyed()

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

## ◆ getActorCount()

virtual uint32_t Nv::Blast::ExtPxFamilyImpl::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.

## ◆ getActors()

virtual uint32_t Nv::Blast::ExtPxFamilyImpl::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.

## ◆ getMaterial()

virtual const NvBlastExtMaterial* Nv::Blast::ExtPxFamilyImpl::getMaterial | ( |  | ) | const
| inline override virtual

The default material associated with this actor family.

Returns
  a pointer to the default material.

Implements Nv::Blast::ExtPxFamily.

## ◆ getPxActorDesc()

virtual const ExtPxActorDescTemplate* Nv::Blast::ExtPxFamilyImpl::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.

## ◆ getPxAsset()

virtual ExtPxAsset& Nv::Blast::ExtPxFamilyImpl::getPxAsset | ( |  | ) | const
| inline override virtual

Every family has an associated asset.

Returns
  a pointer to the (const) ExtPxAsset object.

Implements Nv::Blast::ExtPxFamily.

## ◆ getPxShapeDescTemplate()

virtual const ExtPxShapeDescTemplate* Nv::Blast::ExtPxFamilyImpl::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.

## ◆ getSubchunkShapes()

virtual const physx::PxShape* const* Nv::Blast::ExtPxFamilyImpl::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.

## ◆ getTkFamily()

virtual TkFamily& Nv::Blast::ExtPxFamilyImpl::getTkFamily | ( |  | ) | const
| inline override virtual

Every family has corresponding TkFamily.

/return a pointer to TkFamily actor.

Implements Nv::Blast::ExtPxFamily.

## ◆ postSplitUpdate()

virtual void Nv::Blast::ExtPxFamilyImpl::postSplitUpdate | ( |  | ) |
| override virtual

Call after split.

Implements Nv::Blast::ExtPxFamily.

## ◆ receive()

virtual void Nv::Blast::ExtPxFamilyImpl::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.

## ◆ release()

virtual void Nv::Blast::ExtPxFamilyImpl::release | ( |  | ) |
| override virtual

Release this family.

Implements Nv::Blast::ExtPxFamily.

## ◆ setMaterial() [1/2]

virtual void Nv::Blast::ExtPxFamilyImpl::setMaterial | ( | PxMaterial & | material | ) |
| inline override virtual

## ◆ setMaterial() [2/2]

virtual void Nv::Blast::ExtPxFamilyImpl::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.

## ◆ setPxActorDesc()

virtual void Nv::Blast::ExtPxFamilyImpl::setPxActorDesc | ( | const ExtPxActorDescTemplate * | pxActorDesc | ) |
| inline override virtual

Implements Nv::Blast::ExtPxFamily.

## ◆ setPxShapeDescTemplate()

virtual void Nv::Blast::ExtPxFamilyImpl::setPxShapeDescTemplate | ( | const ExtPxShapeDescTemplate * | pxShapeDesc | ) |
| inline override virtual

Implements Nv::Blast::ExtPxFamily.

## ◆ spawn()

virtual bool Nv::Blast::ExtPxFamilyImpl::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.

## ◆ subscribe()

virtual void Nv::Blast::ExtPxFamilyImpl::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.

## ◆ unsubscribe()

virtual void Nv::Blast::ExtPxFamilyImpl::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.

## Member Data Documentation

## ◆ ExtPxActorImpl

friend Nv::Blast::ExtPxFamilyImpl::ExtPxActorImpl

## ◆ ExtPxManagerImpl

friend Nv::Blast::ExtPxFamilyImpl::ExtPxManagerImpl

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

- sdk/extensions/physx/source/physics/NvBlastExtPxFamilyImpl.h