#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. |
Implemented in Nv::Blast::TkActorImpl.
| 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. |
Implemented in Nv::Blast::TkActorImpl.
| 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. |
Implemented in Nv::Blast::TkActorImpl.
| virtual const NvBlastActor* Nv::Blast::TkActor::getActorLL | ( | ) | const [pure virtual] |
Access to underlying low-level actor.
Implemented in Nv::Blast::TkActorImpl.
| virtual const TkAsset* Nv::Blast::TkActor::getAsset | ( | ) | const [pure virtual] |
Every actor has an associated asset.
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| virtual TkFamily& Nv::Blast::TkActor::getFamily | ( | ) | const [pure virtual] |
Every actor is part of an actor family, even if that family contains a single actor. This function returns a reference to the actor's TkFamily.
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| 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(). |
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| virtual uint32_t Nv::Blast::TkActor::getIndex | ( | ) | const [pure virtual] |
Every actor has a unique index within a family. This function returns that index.
Implemented in Nv::Blast::TkActorImpl.
| virtual uint32_t Nv::Blast::TkActor::getJointCount | ( | ) | const [pure virtual] |
The number of joints currently attached to this actor.
Implemented in Nv::Blast::TkActorImpl.
| virtual uint32_t Nv::Blast::TkActor::getJoints | ( | TkJoint ** | joints, | |
| uint32_t | jointsSize | |||
| ) | const [pure virtual] |
Retrieve an array of pointers (into the user-supplied buffer) to joints.
| [out] | joints | A user-supplied array of TkJoint pointers. |
| [in] | jointsSize | The number of elements available to write into the joints array. |
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| 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(). |
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| 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.
Implemented in Nv::Blast::TkActorImpl.
| virtual TkGroup* Nv::Blast::TkActor::removeFromGroup | ( | ) | [pure virtual] |
Remove this actor from its group, if it is in one.
Implemented in Nv::Blast::TkActorImpl.