Nv::Blast::ExtPxAssetImpl Class Referencefinal

#include <NvBlastExtPxAssetImpl.h>

Inheritance diagram for Nv::Blast::ExtPxAssetImpl:
Nv::Blast::ExtPxAsset

Public Member Functions

 ExtPxAssetImpl (const ExtPxAssetDesc &desc, TkFramework &framework)
 
 ExtPxAssetImpl (const TkAssetDesc &desc, ExtPxChunk *pxChunks, ExtPxSubchunk *pxSubchunks, TkFramework &framework)
 
 ExtPxAssetImpl (TkAsset *asset, ExtPxAssetDesc::ChunkDesc *chunks, uint32_t chunkCount)
 
 ExtPxAssetImpl (TkAsset *asset)
 
 ~ExtPxAssetImpl ()
 
virtual NvBlastExtDamageAcceleratorgetAccelerator () const override
 
Array< float >::type & getBondHealthsArray ()
 
virtual uint32_t getChunkCount () const override
 
virtual const ExtPxChunkgetChunks () const override
 
Array< ExtPxChunk >::type & getChunksArray ()
 
virtual NvBlastActorDescgetDefaultActorDesc () override
 
virtual const NvBlastActorDescgetDefaultActorDesc () const override
 
virtual uint32_t getSubchunkCount () const override
 
virtual const ExtPxSubchunkgetSubchunks () const override
 
Array< ExtPxSubchunk >::type & getSubchunksArray ()
 
Array< float >::type & getSupportChunkHealthsArray ()
 
virtual const TkAssetgetTkAsset () const override
 
virtual void release () override
 
virtual void setAccelerator (NvBlastExtDamageAccelerator *accelerator) override
 
virtual void setUniformHealth (bool enabled) override
 

Friends

class ExtPxAsset
 

Additional Inherited Members

- Static Public Member Functions inherited from Nv::Blast::ExtPxAsset
static ExtPxAssetcreate (const ExtPxAssetDesc &desc, TkFramework &framework)
 
static ExtPxAssetcreate (const TkAssetDesc &desc, ExtPxChunk *pxChunks, ExtPxSubchunk *pxSubchunks, TkFramework &framework)
 
static ExtPxAssetcreate (TkAsset *asset)
 
static ExtPxAssetcreate (TkAsset *asset, ExtPxAssetDesc::ChunkDesc *chunks, uint32_t chunkCount)
 
- Public Attributes inherited from Nv::Blast::ExtPxAsset
void * userData
 

Constructor & Destructor Documentation

◆ ExtPxAssetImpl() [1/4]

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

◆ ExtPxAssetImpl() [2/4]

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

◆ ExtPxAssetImpl() [3/4]

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

◆ ExtPxAssetImpl() [4/4]

Nv::Blast::ExtPxAssetImpl::ExtPxAssetImpl ( TkAsset asset)

◆ ~ExtPxAssetImpl()

Nv::Blast::ExtPxAssetImpl::~ExtPxAssetImpl ( )

Member Function Documentation

◆ getAccelerator()

virtual NvBlastExtDamageAccelerator* Nv::Blast::ExtPxAssetImpl::getAccelerator ( ) const
inlineoverridevirtual

Set damage accelerator associated with this asset.

Implements Nv::Blast::ExtPxAsset.

◆ getBondHealthsArray()

Array<float>::type& Nv::Blast::ExtPxAssetImpl::getBondHealthsArray ( )
inline

◆ getChunkCount()

virtual uint32_t Nv::Blast::ExtPxAssetImpl::getChunkCount ( ) const
inlineoverridevirtual

Get the number of chunks for this asset. May be used in conjunction with getChunks().

Returns
the number of chunks for the asset.

Implements Nv::Blast::ExtPxAsset.

◆ getChunks()

virtual const ExtPxChunk* Nv::Blast::ExtPxAssetImpl::getChunks ( ) const
inlineoverridevirtual

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.

◆ getChunksArray()

Array<ExtPxChunk>::type& Nv::Blast::ExtPxAssetImpl::getChunksArray ( )
inline

◆ getDefaultActorDesc() [1/2]

virtual NvBlastActorDesc& Nv::Blast::ExtPxAssetImpl::getDefaultActorDesc ( )
inlineoverridevirtual

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.

◆ getDefaultActorDesc() [2/2]

virtual const NvBlastActorDesc& Nv::Blast::ExtPxAssetImpl::getDefaultActorDesc ( ) const
inlineoverridevirtual

Implements Nv::Blast::ExtPxAsset.

◆ getSubchunkCount()

virtual uint32_t Nv::Blast::ExtPxAssetImpl::getSubchunkCount ( ) const
inlineoverridevirtual

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.

◆ getSubchunks()

virtual const ExtPxSubchunk* Nv::Blast::ExtPxAssetImpl::getSubchunks ( ) const
inlineoverridevirtual

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.

◆ getSubchunksArray()

Array<ExtPxSubchunk>::type& Nv::Blast::ExtPxAssetImpl::getSubchunksArray ( )
inline

◆ getSupportChunkHealthsArray()

Array<float>::type& Nv::Blast::ExtPxAssetImpl::getSupportChunkHealthsArray ( )
inline

◆ getTkAsset()

virtual const TkAsset& Nv::Blast::ExtPxAssetImpl::getTkAsset ( ) const
inlineoverridevirtual

Every ExtPxAsset has corresponding TkAsset.

/return a pointer to TkAsset actor.

Implements Nv::Blast::ExtPxAsset.

◆ release()

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

Release this ExtPxAsset.

Implements Nv::Blast::ExtPxAsset.

◆ setAccelerator()

virtual void Nv::Blast::ExtPxAssetImpl::setAccelerator ( NvBlastExtDamageAccelerator accelerator)
inlineoverridevirtual

Set damage accelerator associated with this asset.

Implements Nv::Blast::ExtPxAsset.

◆ setUniformHealth()

virtual void Nv::Blast::ExtPxAssetImpl::setUniformHealth ( bool  enabled)
overridevirtual

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

See also
getDefaultActorDesc.

Implements Nv::Blast::ExtPxAsset.

Friends And Related Function Documentation

◆ ExtPxAsset

friend class ExtPxAsset
friend

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