Nv::Blast::TkActor Class Reference

#include <NvBlastTkActor.h>

Inheritance diagram for Nv::Blast::TkActor:

Nv::Blast::TkObject

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 NvBlastActorgetActorLL () const =0
virtual const TkAssetgetAsset () const =0
virtual const float * getBondHealths () const =0
virtual TkFamilygetFamily () const =0
virtual uint32_t getGraphNodeCount () const =0
virtual uint32_t getGraphNodeIndices (uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize) const =0
virtual TkGroupgetGroup () 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 TkGroupremoveFromGroup ()=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.

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.

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.

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.

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

Every actor has an associated asset.

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

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.

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.

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.

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.

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.

Returns:
the number of TkJoints that are currently attached to this actor.

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.

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.

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.

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.

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.

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.

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.


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