Nv::Blast::ExtPxFamilyImpl Class Referencefinal

#include <NvBlastExtPxFamilyImpl.h>

Inheritance diagram for Nv::Blast::ExtPxFamilyImpl:
Nv::Blast::ExtPxFamily Nv::Blast::TkEventListener

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 NvBlastExtMaterialgetMaterial () const override
 
virtual const ExtPxActorDescTemplategetPxActorDesc () const override
 
virtual ExtPxAssetgetPxAsset () const override
 
virtual const ExtPxShapeDescTemplategetPxShapeDescTemplate () const override
 
virtual const physx::PxShape *const * getSubchunkShapes () const override
 
virtual TkFamilygetTkFamily () 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 ( )
overridevirtual

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
inlineoverridevirtual

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
inlineoverridevirtual

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

Parameters
[out]bufferA user-supplied array of ExtPxActor pointers.
[in]bufferSizeThe 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
inlineoverridevirtual

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
inlineoverridevirtual

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
inlineoverridevirtual

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
inlineoverridevirtual

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
inlineoverridevirtual

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
inlineoverridevirtual

Every family has corresponding TkFamily.

/return a pointer to TkFamily actor.

Implements Nv::Blast::ExtPxFamily.

◆ postSplitUpdate()

virtual void Nv::Blast::ExtPxFamilyImpl::postSplitUpdate ( )
overridevirtual

Call after split.

Implements Nv::Blast::ExtPxFamily.

◆ receive()

virtual void Nv::Blast::ExtPxFamilyImpl::receive ( const TkEvent events,
uint32_t  eventCount 
)
overridevirtual

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

Parameters
[in]eventsThe array of events being dispatched.
[in]eventCountThe number of events in the array.

Implements Nv::Blast::TkEventListener.

◆ release()

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

Release this family.

Implements Nv::Blast::ExtPxFamily.

◆ setMaterial() [1/2]

virtual void Nv::Blast::ExtPxFamilyImpl::setMaterial ( PxMaterial &  material)
inlineoverridevirtual

◆ setMaterial() [2/2]

virtual void Nv::Blast::ExtPxFamilyImpl::setMaterial ( const NvBlastExtMaterial material)
inlineoverridevirtual

Set the default material associated with this actor family.

Parameters
[in]materialThe material to be the new default.

Implements Nv::Blast::ExtPxFamily.

◆ setPxActorDesc()

virtual void Nv::Blast::ExtPxFamilyImpl::setPxActorDesc ( const ExtPxActorDescTemplate pxActorDesc)
inlineoverridevirtual

◆ setPxShapeDescTemplate()

virtual void Nv::Blast::ExtPxFamilyImpl::setPxShapeDescTemplate ( const ExtPxShapeDescTemplate pxShapeDesc)
inlineoverridevirtual

◆ spawn()

virtual bool Nv::Blast::ExtPxFamilyImpl::spawn ( const physx::PxTransform &  pose,
const physx::PxVec3 &  scale,
const ExtPxSpawnSettings settings 
)
overridevirtual

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

Parameters
[in]poseWorld transform.
[in]scaleScale applied to spawned actors.
[in]settingsSpawn settings.
Returns
true if spawn was successful, false otherwise.

Implements Nv::Blast::ExtPxFamily.

◆ subscribe()

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

◆ unsubscribe()

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