#include <NvBlastTkActor.h>

Public Member Functions | |
| virtual void | applyFracture (NvBlastFractureBuffers *eventBuffers, const NvBlastFractureBuffers *commands)=0 |
| virtual void | damage (const NvBlastDamageProgram &program, const void *programParams)=0 |
| virtual void | generateFracture (NvBlastFractureBuffers *commands, const NvBlastDamageProgram &program, const void *programParams) const =0 |
| virtual const NvBlastActor * | getActorLL () const =0 |
| virtual const TkAsset * | getAsset () const =0 |
| virtual const float * | getBondHealths () const =0 |
| virtual TkFamily & | getFamily () const =0 |
| virtual uint32_t | getGraphNodeCount () const =0 |
| virtual uint32_t | getGraphNodeIndices (uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize) const =0 |
| virtual TkGroup * | getGroup () const =0 |
| virtual uint32_t | getIndex () const =0 |
| virtual uint32_t | getJointCount () const =0 |
| virtual uint32_t | getJoints (TkJoint **joints, uint32_t jointsSize) const =0 |
| virtual uint32_t | getSplitMaxActorCount () const =0 |
| virtual uint32_t | getVisibleChunkCount () const =0 |
| virtual uint32_t | getVisibleChunkIndices (uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize) const =0 |
| virtual bool | isBoundToWorld () const =0 |
| virtual bool | isPending () const =0 |
| virtual TkGroup * | removeFromGroup ()=0 |
| virtual void Nv::Blast::TkActor::applyFracture | ( | NvBlastFractureBuffers * | eventBuffers, | |
| const NvBlastFractureBuffers * | commands | |||
| ) | [pure virtual] |
Function applies the direct fracture and breaks graph bonds/edges as necessary. Sets actor in 'pending' state if any bonds or chunks were damaged. Dispatches FractureCommand events.
NOTE: Calls NvBlastActorApplyFracture internally. see NvBlastActorApplyFracture for details.
| [in,out] | eventBuffers | Target buffers to hold applied fracture events. May be NULL, in which case events are not reported. To avoid data loss, provide an entry for every lower-support chunk and every bond in the original actor. |
| [in] | commands | The fracture commands to process. |
| virtual void Nv::Blast::TkActor::damage | ( | const NvBlastDamageProgram & | program, | |
| const void * | programParams | |||
| ) | [pure virtual] |
Apply damage to this actor.
Actual damage processing is deferred till the group worker process() call. Sets actor in 'pending' state.
It's the user's responsibility to keep programParams pointer alive until the group endProcess() call.
| [in] | program | A NvBlastDamageProgram containing damage shaders. |
| [in] | programParams | Parameters for the NvBlastDamageProgram. |
| virtual void Nv::Blast::TkActor::generateFracture | ( | NvBlastFractureBuffers * | commands, | |
| const NvBlastDamageProgram & | program, | |||
| const void * | programParams | |||
| ) | const [pure virtual] |
Creates fracture commands for the actor using an NvBlastMaterialFunction.
Cannot be called during group processing, in that case a warning will be raised and function will do nothing.
NOTE: Wrapper function over low-level function call, see NvBlastActorGenerateFracture for details.
| [in,out] | commands | Target buffers to hold generated commands. To avoid data loss, provide an entry for every support chunk and every bond in the original actor. |
| [in] | program | A NvBlastDamageProgram containing damage shaders. |
| [in] | programParams | Parameters for the NvBlastDamageProgram. |
| virtual const NvBlastActor* Nv::Blast::TkActor::getActorLL | ( | ) | const [pure virtual] |
Access to underlying low-level actor.
| virtual const TkAsset* Nv::Blast::TkActor::getAsset | ( | ) | const [pure virtual] |
| virtual const float* Nv::Blast::TkActor::getBondHealths | ( | ) | const [pure virtual] |
Access the bond health data for an actor.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetBondHealths for details.
| virtual TkFamily& Nv::Blast::TkActor::getFamily | ( | ) | const [pure virtual] |
| virtual uint32_t Nv::Blast::TkActor::getGraphNodeCount | ( | ) | const [pure virtual] |
Get the number of graph nodes for this actor. May be used in conjunction with getGraphNodeIndices.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetGraphNodeCount for details.
| virtual uint32_t Nv::Blast::TkActor::getGraphNodeIndices | ( | uint32_t * | graphNodeIndices, | |
| uint32_t | graphNodeIndicesSize | |||
| ) | const [pure virtual] |
Retrieve a list of graph node indices for the actor into the given array.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetGraphNodeIndices for details.
| [in] | graphNodeIndices | User-supplied array to be filled in with indices of graph nodes for this actor. |
| [in] | graphNodeIndicesSize | The size of the graphNodeIndices array. To receive all graph node indices, the size must be at least that given by getGraphNodeCount(). |
| virtual TkGroup* Nv::Blast::TkActor::getGroup | ( | ) | const [pure virtual] |
Actors may be part of (no more than) one group. See TkGroup for the functions to add and remove actors. This function returns a pointer to the actor's group, or NULL if it is not in a group.
| virtual uint32_t Nv::Blast::TkActor::getIndex | ( | ) | const [pure virtual] |
Every actor has a unique index within a family. This function returns that index.
| virtual uint32_t Nv::Blast::TkActor::getJointCount | ( | ) | const [pure virtual] |
The number of joints currently attached to this actor.
| virtual uint32_t Nv::Blast::TkActor::getJoints | ( | TkJoint ** | joints, | |
| uint32_t | jointsSize | |||
| ) | const [pure virtual] |
| virtual uint32_t Nv::Blast::TkActor::getSplitMaxActorCount | ( | ) | const [pure virtual] |
Returns the upper-bound number of actors which can be created by splitting this actor.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetMaxActorCountForSplit for details.
| virtual uint32_t Nv::Blast::TkActor::getVisibleChunkCount | ( | ) | const [pure virtual] |
Get the number of visible chunks for this actor. May be used in conjunction with getVisibleChunkIndices.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleChunkCount for details.
| virtual uint32_t Nv::Blast::TkActor::getVisibleChunkIndices | ( | uint32_t * | visibleChunkIndices, | |
| uint32_t | visibleChunkIndicesSize | |||
| ) | const [pure virtual] |
Retrieve a list of visible chunk indices for the actor into the given array.
NOTE: Wrapper function over low-level function call, see NvBlastActorGetVisibleChunkIndices for details.
| [in] | visibleChunkIndices | User-supplied array to be filled in with indices of visible chunks for this actor. |
| [in] | visibleChunkIndicesSize | The size of the visibleChunkIndices array. To receive all visible chunk indices, the size must be at least that given by getVisibleChunkCount(). |
| virtual bool Nv::Blast::TkActor::isBoundToWorld | ( | ) | const [pure virtual] |
Whether or not this actor is bound to the world using a bond with an invalid chunk index to represent the NRF.
NOTE: Wrapper function over low-level function call NvBlastActorIsBoundToWorld.
| virtual bool Nv::Blast::TkActor::isPending | ( | ) | const [pure virtual] |
Report whether this actor is in 'pending' state. Being in 'pending' state leads to actor being processed by group.
| virtual TkGroup* Nv::Blast::TkActor::removeFromGroup | ( | ) | [pure virtual] |
Remove this actor from its group, if it is in one.