Main Page Class List Class Members

# Nv::Blast::TkActor Class Reference

`#include <NvBlastTkActor.h>`

Inheritance diagram for Nv::Blast::TkActor:

List of all members.

## 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

## Detailed Description

The BlastTk entity which encapsulates an NvBlastActor. Every TkActor represents a group of chunks which may correspond to a single physical rigid body. TkActors are created using TkFramework::createActor.

## Member Function Documentation

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.

Parameters:

  `[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.

Parameters:

  `[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.

Parameters:

  `[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.

Returns:
  a pointer to the (const) low-level NvBlastActor object.

Implemented in Nv::Blast::TkActorImpl.

virtual const TkAsset* Nv::Blast::TkActor::getAsset | ( |  | ) | const`[pure virtual]`

Every actor has an associated asset.

Returns:
  a pointer to the (const) TkAsset object.

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.

Returns:
  the array of bond healths for the actor's family, or NULL if the actor is invalid.

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.

Returns:
  a pointer 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.

Returns:
  the number of graph node indices for the actor.

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.

Parameters:

  `[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().

Returns:
  the number of indices written to graphNodeIndices. This will not exceed graphNodeIndicesSize.

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.

Returns:
  the number of TkJoints that are 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.

Parameters:

  `[out]` | joints | A user-supplied array of TkJoint pointers.
  `[in]` | jointsSize | The number of elements available to write into the joints array.

Returns:
  the number of TkJoint pointers written to 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.

Returns:
  the upper-bound number of actors which can be created by splitting this actor.

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.

Returns:
  the number of visible chunk indices for the actor.

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.

Parameters:

  `[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().

Returns:
  the number of indices written to visibleChunkIndices. This will not exceed visibleChunkIndicesSize.

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.

Returns:
  true iff this actor contains the "world" support graph node, created when a bond contains the UINT32_MAX value for one of their chunkIndices.

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.

Returns:
  true iff actor is in 'pending' state.

Implemented in Nv::Blast::TkActorImpl.

virtual TkGroup* Nv::Blast::TkActor::removeFromGroup | ( |  | ) | `[pure virtual]`

Remove this actor from its group, if it is in one.

Returns:
  the actor's former group if successful, NULL otherwise.

Implemented in Nv::Blast::TkActorImpl.

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

- sdk/toolkit/include/NvBlastTkActor.h