diff options
| author | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
| commit | e1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch) | |
| tree | 9f0cfce09c71a2c27ff19589fcad6cd83504477c /docs/api_docs/files/_nv_blast_8h.html | |
| parent | first commit (diff) | |
| download | blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip | |
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'docs/api_docs/files/_nv_blast_8h.html')
| -rw-r--r-- | docs/api_docs/files/_nv_blast_8h.html | 2408 |
1 files changed, 2408 insertions, 0 deletions
diff --git a/docs/api_docs/files/_nv_blast_8h.html b/docs/api_docs/files/_nv_blast_8h.html new file mode 100644 index 0000000..ef32328 --- /dev/null +++ b/docs/api_docs/files/_nv_blast_8h.html @@ -0,0 +1,2408 @@ +<html> + <head> + <title>NVIDIA(R) Blast(R) SDK 1.0 API Reference: sdk/lowlevel/include/NvBlast.h File Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="blast_logo.png"> + <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <!-- <a class="qindex" href="hierarchy.html">Class Hierarchy</a> //--> + <a class="qindex" href="annotated.html">Class List</a> + <a class="qindex" href="functions.html">Class Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="contents"> +<h1>sdk/lowlevel/include/NvBlast.h File Reference</h1><code>#include "<a class="el" href="_nv_blast_types_8h-source.html">NvBlastTypes.h</a>"</code><br> + +<p> +<a href="_nv_blast_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#6a3d0ae6f5c5efb65699140897adb8c0">NvBlastActorApplyFracture</a> (<a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> *eventBuffers, <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, const <a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> *commands, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn, <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> *timers)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#5261035f206eb5fb1a1822323ff8d725">NvBlastActorCanFracture</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#6a40c4286de500e8545babfb9c517789">NvBlastActorGenerateFracture</a> (<a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> *commandBuffers, const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, const <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> program, const <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a> *programParams, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn, <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> *timers)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#0142a22e103d7726b58d976925504f9c">NvBlastActorGetMaxActorCountForSplit</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#8ecf1456b8fb626a4384fb82265a802d">NvBlastActorGetRequiredScratchForSplit</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#dc280b2a624d76981c87fb5f068d5106">NvBlastActorSplit</a> (<a class="el" href="struct_nv_blast_actor_split_event.html">NvBlastActorSplitEvent</a> *result, <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, uint32_t newActorsMaxCount, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn, <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> *timers)</td></tr> + +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#d7b368ffbf45a130d7b116530b81a77e">NvBlastActorDeactivate</a> (<a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#89921a073e03d720fd0c7c3823cd9b7c">NvBlastActorGetBondHealths</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#2d59048197fbddd4ba1ec575eef91b4d">NvBlastActorGetFamily</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#3a97a2b9a11e4eb47fa05b3e6f520fce">NvBlastActorGetGraphNodeCount</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#bdf46f09850fb6952509a94f14d9406b">NvBlastActorGetGraphNodeIndices</a> (uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize, const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#d9607ac7bd28e0a3a2b3bec7aa8d5805">NvBlastActorGetIndex</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#8a9c103d9113d83a21a004bbbcad7beb">NvBlastActorGetSerializationSize</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#e3fbeb19c609c388c92ee173cc04b334">NvBlastActorGetVisibleChunkCount</a> (const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#ac805c5bcc48f209925d938acbc2f17e">NvBlastActorGetVisibleChunkIndices</a> (uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize, const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#cab7d192ec7ac6d3a095a6b0646375fe">NvBlastActorSerialize</a> (void *buffer, uint32_t bufferSize, const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> *actor, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#bddff2d2e2502d48baa90b3fe64a40a2">NvBlastApplyAssetDescChunkReorderMap</a> (<a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *reorderedChunkDescs, const <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *chunkDescs, uint32_t chunkCount, <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#1f9cce66f78c5cce0bfda117a43ad4a3">NvBlastApplyAssetDescChunkReorderMapInplace</a> (<a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *chunkDescs, uint32_t chunkCount, <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c4748f2da0b6a1be9055141c68ac668f">NvBlastBuildAssetDescChunkReorderMap</a> (uint32_t *chunkReorderMap, const <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *chunkDescs, uint32_t chunkCount, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#fd09f53fb71a1fb33053eebf1610367b">NvBlastEnsureAssetExactSupportCoverage</a> (<a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *chunkDescs, uint32_t chunkCount, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c61d3b9346765324a627b73803290373">NvBlastReorderAssetDescChunks</a> (<a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> *chunkDescs, uint32_t chunkCount, <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#868a59bb905879503d5e9a034cff247e">NvBlastAssetCreateFamily</a> (void *mem, const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#2539b7a2f244a8f0c45d7020d1dfad63">NvBlastAssetGetActorSerializationSizeUpperBound</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#b44bf9e7f8a755094ee4f45aade1c0ab">NvBlastAssetGetBondCount</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#d612242052e71894fecfca76f5cf39d3">NvBlastAssetGetBonds</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c82609eb93afc9a8ab7011f2eb8f9a23">NvBlastAssetGetChunkCount</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct_nv_blast_chunk.html">NvBlastChunk</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#ac1c384c82de07c613b7c0539f7707df">NvBlastAssetGetChunks</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#bff733fd05dc5b7a730336699a427c25">NvBlastAssetGetChunkToGraphNodeMap</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#b933a279e63545023464292bf7d562a1">NvBlastAssetGetFamilyMemorySize</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#e8bee2fd37d6af164165a23adb0592a9">NvBlastAssetGetFirstSubsupportChunkIndex</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#fa3dbe442bf799bbee07eb98774340d4">NvBlastAssetGetFormatVersion</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#5c2c9cd099db429304e8aacffad62247">NvBlastAssetGetID</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#cc0eed6bfaa3b56d472c41388c269625">NvBlastAssetGetLeafChunkCount</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#d7ee1d97ad6e4f048eab694249fa2594">NvBlastAssetGetSize</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct_nv_blast_support_graph.html">NvBlastSupportGraph</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c2307bd41ba85f2d69df0f229105fd09">NvBlastAssetGetSupportGraph</a> (const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c0c345ce6676ad87cbd06e2f0debd8f7">NvBlastAssetSetID</a> (<a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, const <a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> *id, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#8455859eec0e23e95aa5bbf7c4fd1e14">NvBlastCreateAsset</a> (void *mem, const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> *desc, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#6b27b9cc240bef3481cbfa23f7051060">NvBlastGetAssetMemorySize</a> (const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> *desc, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#7517e528d4862b5e09853140bd4a2e46">NvBlastGetRequiredScratchForCreateAsset</a> (const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> *desc, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#6d774be820fc1ff7df4d2241df1db220">NvBlastFamilyCreateFirstActor</a> (<a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, const <a class="el" href="struct_nv_blast_actor_desc.html">NvBlastActorDesc</a> *desc, void *scratch, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#38e8e96d5b62bf19dc3135603ed38240">NvBlastFamilyDeserializeActor</a> (<a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, const void *buffer, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#88fd777ba36d4ad6c6d7a7913810c24d">NvBlastFamilyGetActorCount</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#eb9144660cd1dbdb4dc23720a3e542de">NvBlastFamilyGetActors</a> (<a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> **actors, uint32_t actorsSize, const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#fa406b4fc35520001060b529ec95e820">NvBlastFamilyGetAssetID</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#5c7e938874e2f930ea5b55fedb27b12e">NvBlastFamilyGetChunkActor</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, uint32_t chunkIndex, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#15f297534c834b7335747be318303aa7">NvBlastFamilyGetFormatVersion</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#c9e06ffe539277ccbdb648c97308fa65">NvBlastFamilyGetMaxActorCount</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#730a6ea95065b53b9d9b65bde8cbb336">NvBlastFamilyGetRequiredScratchForCreateFirstActor</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#f2316e686029f931812a3ddf11de6547">NvBlastFamilyGetSize</a> (const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#fa4b1c5e96650587b8daabb5ab86d2f1">NvBlastFamilySetAsset</a> (<a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> *family, const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> *asset, <a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn)</td></tr> + +<tr><td colspan="2"><div class="groupHeader"></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#749f932dc54fa2d3f413bd6fcc1ba6e9">NvBlastTicksToSeconds</a> (int64_t ticks)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_blast_8h.html#b3059b35f2c62b8110d90336f5cecefc">NvBlastTimersReset</a> (<a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> *timers)</td></tr> + +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="6a3d0ae6f5c5efb65699140897adb8c0"></a><!-- doxytag: member="NvBlast.h::NvBlastActorApplyFracture" ref="6a3d0ae6f5c5efb65699140897adb8c0" args="(NvBlastFractureBuffers *eventBuffers, NvBlastActor *actor, const NvBlastFractureBuffers *commands, NvBlastLog logFn, NvBlastTimers *timers)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastActorApplyFracture </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> * </td> + <td class="paramname"> <em>eventBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> * </td> + <td class="paramname"> <em>commands</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> * </td> + <td class="paramname"> <em>timers</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Applies the direct fracture and breaks graph bonds/edges as necessary. Chunks damaged beyond their respective health fracture their children recursively, creating a <a class="el" href="struct_nv_blast_chunk_fracture_data.html">NvBlastChunkFractureData</a> for each.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>eventBuffers</em> </td><td>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. </td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>actor</em> </td><td>The <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> to apply fracture to. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>commands</em> </td><td>The fracture commands to process. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>timers</em> </td><td>If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations.</td></tr> + </table> +</dl> +Interpretation of <a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a>: commands: Counters denote the number of command entries to process. Chunk and Bond userdata are not used. Health values denote the amount of damage to apply, as a positive value.<p> +eventBuffers as input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.<p> +eventBuffers as output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization. Health values denote how much health is remaining for the damaged element. Broken elements report a negative value corresponding to the superfluous health damage.<p> +commands and eventBuffers may point to the same memory. +</div> +</div><p> +<a class="anchor" name="5261035f206eb5fb1a1822323ff8d725"></a><!-- doxytag: member="NvBlast.h::NvBlastActorCanFracture" ref="5261035f206eb5fb1a1822323ff8d725" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastActorCanFracture </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Determines if the actor can fracture further.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor potentially being fractured. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if any result can be expected from fracturing the actor. false if no further change to the actor is possible. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d7b368ffbf45a130d7b116530b81a77e"></a><!-- doxytag: member="NvBlast.h::NvBlastActorDeactivate" ref="d7b368ffbf45a130d7b116530b81a77e" args="(NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastActorDeactivate </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Deactivate an actor within its family. Conceptually this is "destroying" the actor, however memory will not be released until the family is released.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>Points to a user-supplied actor struct. May be NULL, in which case this function no-ops. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff successful (actor was active). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6a40c4286de500e8545babfb9c517789"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGenerateFracture" ref="6a40c4286de500e8545babfb9c517789" args="(NvBlastFractureBuffers *commandBuffers, const NvBlastActor *actor, const NvBlastDamageProgram program, const NvBlastProgramParams *programParams, NvBlastLog logFn, NvBlastTimers *timers)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastActorGenerateFracture </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a> * </td> + <td class="paramname"> <em>commandBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> </td> + <td class="paramname"> <em>program</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_program_params.html">NvBlastProgramParams</a> * </td> + <td class="paramname"> <em>programParams</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> * </td> + <td class="paramname"> <em>timers</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Creates fracture commands for the actor using a damage program and program parameters (material and damage descriptions).<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>commandBuffers</em> </td><td>Target buffers to hold generated commands. To avoid data loss, provide an entry for every support chunk and every bond in the original actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> to create fracture commands for. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>program</em> </td><td>A <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a> containing damage shaders. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>programParams</em> </td><td>Parameters for the <a class="el" href="struct_nv_blast_damage_program.html">NvBlastDamageProgram</a>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>timers</em> </td><td>If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations.</td></tr> + </table> +</dl> +Interpretation of <a class="el" href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a>: As input: Counters denote available entries for FractureData. Chunk and Bond userdata are not used. Health values are not used.<p> +As output: Counters denote valid entires in FractureData arrays. Chunks and Bond userdata reflect the respective userdata set during asset initialization, where implemented by the material function. Health values denote how much damage is to be applied. +</div> +</div><p> +<a class="anchor" name="89921a073e03d720fd0c7c3823cd9b7c"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetBondHealths" ref="89921a073e03d720fd0c7c3823cd9b7c" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const float* NvBlastActorGetBondHealths </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access the bond health data for an actor.<p> +This function returns a pointer to the head of an array of bond healths (floats). This array is the same for any actor that has been created from repeated fracturing of the same original instance of an asset (in the same instance family).<p> +The indices obtained from <a class="el" href="struct_nv_blast_support_graph.html#e659d7f25dd6ae780f8cf14d7bf3925a">NvBlastSupportGraph::adjacentBondIndices</a> in the asset may be used to access this array.<p> +The size of the array returned is NvBlastAssetGetBondCount(asset, logFn), where 'asset' is the <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> that was used to create the actor.<p> +This array is valid as long as any actor in the instance family for the input actor exists.<p> +If the input actor is invalid, NULL will be returned.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the array of bond healths for the actor's instance family, or NULL if the actor is invalid. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="2d59048197fbddd4ba1ec575eef91b4d"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetFamily" ref="2d59048197fbddd4ba1ec575eef91b4d" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a>* NvBlastActorGetFamily </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access to an actor's family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the family with which the actor is associated. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="3a97a2b9a11e4eb47fa05b3e6f520fce"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetGraphNodeCount" ref="3a97a2b9a11e4eb47fa05b3e6f520fce" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetGraphNodeCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the number of graph nodes for this actor. May be used in conjunction with NvBlastActorGetGraphNodeIndices.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of graph node indices for the actor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="bdf46f09850fb6952509a94f14d9406b"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetGraphNodeIndices" ref="bdf46f09850fb6952509a94f14d9406b" args="(uint32_t *graphNodeIndices, uint32_t graphNodeIndicesSize, const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetGraphNodeIndices </td> + <td>(</td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"> <em>graphNodeIndices</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>graphNodeIndicesSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve a list of graph node indices for the actor into the given array.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>graphNodeIndices</em> </td><td>User-supplied array to be filled in with indices of graph nodes for this actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>graphNodeIndicesSize</em> </td><td>The size of the graphNodeIndices array. To receive all graph node indices, the size must be at least that given by NvBlastActorGetGraphNodeCount(actor). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of indices written to graphNodeIndices. This will not exceed graphNodeIndicesSize. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d9607ac7bd28e0a3a2b3bec7aa8d5805"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetIndex" ref="d9607ac7bd28e0a3a2b3bec7aa8d5805" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetIndex </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access to an actor's internal index.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>actor's internal index in family. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0142a22e103d7726b58d976925504f9c"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetMaxActorCountForSplit" ref="0142a22e103d7726b58d976925504f9c" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetMaxActorCountForSplit </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the upper-bound number of actors which can be created by calling NvBlastActorSplit with that actor, this value can't exceed chunk count.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the upper-bound number of actors which can be created by calling NvBlastActorSplit with that actor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8ecf1456b8fb626a4384fb82265a802d"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetRequiredScratchForSplit" ref="8ecf1456b8fb626a4384fb82265a802d" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t NvBlastActorGetRequiredScratchForSplit </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of bytes of scratch memory that the user must supply to NvBlastActorSplit, based upon the actor that will be passed into that function.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor that will be passed into NvBlastActorSplit. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of bytes of scratch memory required for a call to NvBlastActorSplit with that actor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8a9c103d9113d83a21a004bbbcad7beb"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetSerializationSize" ref="8a9c103d9113d83a21a004bbbcad7beb" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetSerializationSize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +The buffer size needed to serialize a single actor. This will give the exact size needed. For an upper bound on the buffer size needed for any actor instanced from an <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a>, use NvBlastAssetGetActorSerializationSizeUpperBound.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the required buffer size in bytes. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="e3fbeb19c609c388c92ee173cc04b334"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetVisibleChunkCount" ref="e3fbeb19c609c388c92ee173cc04b334" args="(const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetVisibleChunkCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the number of visible chunks for this actor. May be used in conjunction with NvBlastActorGetVisibleChunkIndices.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of visible chunk indices for the actor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ac805c5bcc48f209925d938acbc2f17e"></a><!-- doxytag: member="NvBlast.h::NvBlastActorGetVisibleChunkIndices" ref="ac805c5bcc48f209925d938acbc2f17e" args="(uint32_t *visibleChunkIndices, uint32_t visibleChunkIndicesSize, const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorGetVisibleChunkIndices </td> + <td>(</td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"> <em>visibleChunkIndices</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>visibleChunkIndicesSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve a list of visible chunk indices for the actor into the given array.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>visibleChunkIndices</em> </td><td>User-supplied array to be filled in with indices of visible chunks for this actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>visibleChunkIndicesSize</em> </td><td>The size of the visibleChunkIndices array. To receive all visible chunk indices, the size must be at least that given by NvBlastActorGetVisibleChunkCount(actor). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of indices written to visibleChunkIndices. This will not exceed visibleChunkIndicesSize. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="cab7d192ec7ac6d3a095a6b0646375fe"></a><!-- doxytag: member="NvBlast.h::NvBlastActorSerialize" ref="cab7d192ec7ac6d3a095a6b0646375fe" args="(void *buffer, uint32_t bufferSize, const NvBlastActor *actor, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorSerialize </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>buffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>bufferSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Serialize a single actor to a buffer.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>buffer</em> </td><td>User-supplied buffer, must be at least of size given by NvBlastActorGetSerializationSize(actor). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bufferSize</em> </td><td>The size of the user-supplied buffer. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of bytes written to the buffer, or 0 if there is an error (such as an under-sized buffer). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="dc280b2a624d76981c87fb5f068d5106"></a><!-- doxytag: member="NvBlast.h::NvBlastActorSplit" ref="dc280b2a624d76981c87fb5f068d5106" args="(NvBlastActorSplitEvent *result, NvBlastActor *actor, uint32_t newActorsMaxCount, void *scratch, NvBlastLog logFn, NvBlastTimers *timers)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastActorSplit </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_actor_split_event.html">NvBlastActorSplitEvent</a> * </td> + <td class="paramname"> <em>result</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>newActorsMaxCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> * </td> + <td class="paramname"> <em>timers</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Releases the oldActor and creates its children newActors if necessary.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>result</em> </td><td>The list of deleted and created <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> objects. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>The actor to split. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>newActorsMaxCount</em> </td><td>Number of available <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> slots. In the worst case, one <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> may be created for every chunk in the asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>Scratch Memory used during processing. NvBlastActorGetRequiredScratchForSplit provides the necessary size. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>timers</em> </td><td>If non-NULL this struct will be filled out with profiling information for the step, in profile build configurations</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>1..n: new actors were created <p> +0: oldActor is unchanged </dd></dl> + +</div> +</div><p> +<a class="anchor" name="bddff2d2e2502d48baa90b3fe64a40a2"></a><!-- doxytag: member="NvBlast.h::NvBlastApplyAssetDescChunkReorderMap" ref="bddff2d2e2502d48baa90b3fe64a40a2" args="(NvBlastChunkDesc *reorderedChunkDescs, const NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastApplyAssetDescChunkReorderMap </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>reorderedChunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>chunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> * </td> + <td class="paramname"> <em>bondDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>bondCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const uint32_t * </td> + <td class="paramname"> <em>chunkReorderMap</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Apply chunk reorder map.<p> +Function applies reorder map on <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> and <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> arrays. It reorders chunks, replaces their 'parentChunkIndex' field with new indices. Bonds are kept in the same order, but their 'chunkIndices' field is updated with proper indices.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="_nv_blast_8h.html#c4748f2da0b6a1be9055141c68ac668f">NvBlastBuildAssetDescChunkReorderMap</a></dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>reorderedChunkDescs</em> </td><td>User-supplied array of size chunkCount to fill with new reordered NvBlastChunkDesc's. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkDescs</em> </td><td>Array of chunk descriptors of size chunkCount. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkCount</em> </td><td>The number of chunk descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondDescs</em> </td><td>Array of bond descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondCount</em> </td><td>The number of bond descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkReorderMap</em> </td><td>Chunk reorder map to use, must be of size chunkCount. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="1f9cce66f78c5cce0bfda117a43ad4a3"></a><!-- doxytag: member="NvBlast.h::NvBlastApplyAssetDescChunkReorderMapInplace" ref="1f9cce66f78c5cce0bfda117a43ad4a3" args="(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, const uint32_t *chunkReorderMap, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastApplyAssetDescChunkReorderMapInplace </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>chunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> * </td> + <td class="paramname"> <em>bondDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>bondCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const uint32_t * </td> + <td class="paramname"> <em>chunkReorderMap</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Apply chunk reorder map.<p> +Function applies reorder map on <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> and <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> arrays. It reorders chunks, replaces their 'parentChunkIndex' field with new indices. Bonds are kept in the same order, but their 'chunkIndices' field is updated with proper indices.<p> +This overload of function reorders chunks in place.<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="_nv_blast_8h.html#c4748f2da0b6a1be9055141c68ac668f">NvBlastBuildAssetDescChunkReorderMap</a></dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkDescs</em> </td><td>Array of chunk descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkCount</em> </td><td>The number of chunk descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondDescs</em> </td><td>Array of bond descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondCount</em> </td><td>The number of bond descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkReorderMap</em> </td><td>Chunk reorder map to use, must be of size chunkCount. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch storage, must point to chunkCount * sizeof(NvBlastChunkDesc) valid bytes of memory. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="868a59bb905879503d5e9a034cff247e"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetCreateFamily" ref="868a59bb905879503d5e9a034cff247e" args="(void *mem, const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a>* NvBlastAssetCreateFamily </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>mem</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Family-building function.<p> +Constructs an <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> in-place at the address given by the user. The address must point to a block of memory of at least the size given by NvBlastAssetGetFamilyMemorySize(asset, logFn), and must be 16-byte aligned.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>mem</em> </td><td>Pointer to block of memory of at least the size given by NvBlastAssetGetFamilyMemorySize(asset, logFn). Must be 16-byte aligned. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>Asset to instance. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the family. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="2539b7a2f244a8f0c45d7020d1dfad63"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetActorSerializationSizeUpperBound" ref="2539b7a2f244a8f0c45d7020d1dfad63" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetActorSerializationSizeUpperBound </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +A buffer size sufficient to serialize an actor instanced from a given asset. This function is faster than NvBlastActorGetSerializationSize, and can be used to create a reusable buffer for actor serialization.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the required buffer size in bytes. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b44bf9e7f8a755094ee4f45aade1c0ab"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetBondCount" ref="b44bf9e7f8a755094ee4f45aade1c0ab" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetBondCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the number of bonds in the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of bonds in the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d612242052e71894fecfca76f5cf39d3"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetBonds" ref="d612242052e71894fecfca76f5cf39d3" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a>* NvBlastAssetGetBonds </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access an array of bonds of the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User - supplied message function(see NvBlastLog definition).May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to an array of bonds of the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c82609eb93afc9a8ab7011f2eb8f9a23"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetChunkCount" ref="c82609eb93afc9a8ab7011f2eb8f9a23" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetChunkCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the number of chunks in the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of chunks in the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ac1c384c82de07c613b7c0539f7707df"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetChunks" ref="ac1c384c82de07c613b7c0539f7707df" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* NvBlastAssetGetChunks </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access an array of chunks of the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User - supplied message function(see NvBlastLog definition).May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to an array of chunks of the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="bff733fd05dc5b7a730336699a427c25"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetChunkToGraphNodeMap" ref="bff733fd05dc5b7a730336699a427c25" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const uint32_t* NvBlastAssetGetChunkToGraphNodeMap </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access a map from chunk index to graph node index. Returned map is valid in the domain [0, NvBlastAssetGetChunkCount(asset, logFn)). Non-support chunks are mapped to the invalid index 0xFFFFFFFF.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>an array of uint32_t values defining the map, of size NvBlastAssetGetChunkCount(asset, logFn). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b933a279e63545023464292bf7d562a1"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetFamilyMemorySize" ref="b933a279e63545023464292bf7d562a1" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t NvBlastAssetGetFamilyMemorySize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculates the memory requirements for a family based upon an asset. Use this function when building a family with NvBlastAssetCreateFamily.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>Asset used to build the family (see <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a>). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the memory size (in bytes) required for the family, or zero if asset is invalid. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="e8bee2fd37d6af164165a23adb0592a9"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetFirstSubsupportChunkIndex" ref="e8bee2fd37d6af164165a23adb0592a9" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetFirstSubsupportChunkIndex </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the first subsupport chunk index in the given asset. Chunks are sorted such that subsupport chunks come last. This is the first subsupport chunk index. Equals to total chunk count if there are no subsupport chunks.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the first subsupport chunk index in the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="fa3dbe442bf799bbee07eb98774340d4"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetFormatVersion" ref="fa3dbe442bf799bbee07eb98774340d4" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetFormatVersion </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the data format version for the given asset<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. Cannot be NULL. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the data format version (<a class="el" href="struct_nv_blast_asset_data_format.html">NvBlastAssetDataFormat</a>). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="5c2c9cd099db429304e8aacffad62247"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetID" ref="5c2c9cd099db429304e8aacffad62247" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> NvBlastAssetGetID </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the asset ID.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The given asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the ID of the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="cc0eed6bfaa3b56d472c41388c269625"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetLeafChunkCount" ref="cc0eed6bfaa3b56d472c41388c269625" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetLeafChunkCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the number of leaf chunks in the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of leaf chunks in the asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d7ee1d97ad6e4f048eab694249fa2594"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetSize" ref="d7ee1d97ad6e4f048eab694249fa2594" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastAssetGetSize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the memory size (in bytes) of the given data asset<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. Cannot be NULL. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the memory size of the asset (in bytes). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c2307bd41ba85f2d69df0f229105fd09"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetGetSupportGraph" ref="c2307bd41ba85f2d69df0f229105fd09" args="(const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="struct_nv_blast_support_graph.html">NvBlastSupportGraph</a> NvBlastAssetGetSupportGraph </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Access the support graph for the given asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a struct of support graph for the given asset. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c0c345ce6676ad87cbd06e2f0debd8f7"></a><!-- doxytag: member="NvBlast.h::NvBlastAssetSetID" ref="c0c345ce6676ad87cbd06e2f0debd8f7" args="(NvBlastAsset *asset, const NvBlastID *id, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastAssetSetID </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> * </td> + <td class="paramname"> <em>id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Set an asset's ID<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>The given asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>id</em> </td><td>A pointer to the id to copy into the asset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff the id is successfully set. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c4748f2da0b6a1be9055141c68ac668f"></a><!-- doxytag: member="NvBlast.h::NvBlastBuildAssetDescChunkReorderMap" ref="c4748f2da0b6a1be9055141c68ac668f" args="(uint32_t *chunkReorderMap, const NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastBuildAssetDescChunkReorderMap </td> + <td>(</td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"> <em>chunkReorderMap</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>chunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Build chunk reorder map.<p> +NvBlastCreateAsset function requires <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> array to be in correct oder:<p> +1. Root chunks (chunks with invalid parent index) must be first in the asset's chunk list. 2. Chunks in the asset should be arranged such that sibling chunks (chunks with the same parent) are contiguous. 3. Chunks are also should be arranged such that upper-support chunks (support chunks and their parent chunks) should go first in chunk list.<p> +This function builds chunk reorder map which can be used to order chunk descs. Reordering chunk's descriptors according to generated map places them in correct order for NvBlastCreateAsset to succeed.<p> +Iff chunks are already ordered correctly, function returns 'true' and identity chunk reorder map. Otherwise 'false' is returned.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>chunkReorderMap</em> </td><td>User-supplied map of size chunkCount to fill. For every chunk index this array will contain new chunk position (index). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkDescs</em> </td><td>Array of chunk descriptors of size chunkCount. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkCount</em> </td><td>The number of chunk descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch storage, must point to 2 * chunkCount * sizeof(uint32_t) valid bytes of memory. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff the chunks did not require reordering (chunkReorderMap is the identity map). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8455859eec0e23e95aa5bbf7c4fd1e14"></a><!-- doxytag: member="NvBlast.h::NvBlastCreateAsset" ref="8455859eec0e23e95aa5bbf7c4fd1e14" args="(void *mem, const NvBlastAssetDesc *desc, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a>* NvBlastCreateAsset </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>mem</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> * </td> + <td class="paramname"> <em>desc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Asset-building function.<p> +Constructs an <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> in-place at the address given by the user. The address must point to a block of memory of at least the size given by NvBlastGetAssetMemorySize(desc, logFn), and must be 16-byte aligned.<p> +Support chunks (marked in the <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> struct) must provide full coverage over the asset. This means that from any leaf chunk to the root node, exactly one chunk must be support. If this condition is not met the function fails to create an asset.<p> +Any bonds described by <a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> descriptors that reference non-support chunks will be removed. Duplicate bonds will be removed as well (bonds that are between the same chunk pairs).<p> +Chunks in the asset should be arranged such that sibling chunks (chunks with the same parent) are contiguous. Chunks are also should be arranged such that leaf chunks (chunks with no children) are at the end of the chunk list. If chunks aren't arranged properly the function fails to create an asset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>mem</em> </td><td>Pointer to block of memory of at least the size given by NvBlastGetAssetMemorySize(desc, logFn). Must be 16-byte aligned. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>desc</em> </td><td>Asset descriptor (see <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch memory of size NvBlastGetRequiredScratchForCreateAsset(desc) bytes. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to new <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> (will be the same address as mem), or NULL if unsuccessful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="fd09f53fb71a1fb33053eebf1610367b"></a><!-- doxytag: member="NvBlast.h::NvBlastEnsureAssetExactSupportCoverage" ref="fd09f53fb71a1fb33053eebf1610367b" args="(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastEnsureAssetExactSupportCoverage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>chunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Function to ensure (check and update) support coverage of chunks.<p> +Support chunks (marked in the <a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> struct) must provide full coverage over the asset. This means that from any leaf chunk to the root node, exactly one chunk must be support. If this condition is not met, the actual support chunks will be adjusted accordingly.<p> +Chunk order depends on support coverage, so this function should be called before chunk reordering.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkDescs</em> </td><td>Array of chunk descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkCount</em> </td><td>The number of chunk descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch storage, must point to chunkCount valid bytes of memory. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff coverage was already exact. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6d774be820fc1ff7df4d2241df1db220"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyCreateFirstActor" ref="6d774be820fc1ff7df4d2241df1db220" args="(NvBlastFamily *family, const NvBlastActorDesc *desc, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a>* NvBlastFamilyCreateFirstActor </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_actor_desc.html">NvBlastActorDesc</a> * </td> + <td class="paramname"> <em>desc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Instance the family's asset into a new, unfractured actor.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>Family in which to create a new actor. The family must have no other actors in it. (See NvBlastAssetCreateFamily.) </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>desc</em> </td><td>Actor descriptor (see <a class="el" href="struct_nv_blast_actor_desc.html">NvBlastActorDesc</a>). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch memory of size NvBlastFamilyGetRequiredScratchForCreateFirstActor(asset) bytes, where 'asset' is the <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> from which the family was created. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to new <a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> if successful (the actor was successfully inserted into the family), or NULL if unsuccessful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="38e8e96d5b62bf19dc3135603ed38240"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyDeserializeActor" ref="38e8e96d5b62bf19dc3135603ed38240" args="(NvBlastFamily *family, const void *buffer, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a>* NvBlastFamilyDeserializeActor </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const void * </td> + <td class="paramname"> <em>buffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Deserialize a single Actor from a buffer into the given family. The actor will be inserted if it is compatible with the current family state. That is, it must not share any chunks or internal IDs with the actors already present in the family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>Family in which to deserialize the actor. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>buffer</em> </td><td>User-supplied buffer containing the actor to deserialize. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the deserialized actor if successful, NULL otherwise. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="88fd777ba36d4ad6c6d7a7913810c24d"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetActorCount" ref="88fd777ba36d4ad6c6d7a7913810c24d" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastFamilyGetActorCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the number of active actors associated with the given family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of active actors in the family. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="eb9144660cd1dbdb4dc23720a3e542de"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetActors" ref="eb9144660cd1dbdb4dc23720a3e542de" args="(NvBlastActor **actors, uint32_t actorsSize, const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastFamilyGetActors </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a> ** </td> + <td class="paramname"> <em>actors</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>actorsSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the active actors associated with the given family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>actors</em> </td><td>User-supplied array to be filled with the returned actor pointers. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>actorsSize</em> </td><td>The size of the actors array. To receive all actor pointers, the size must be at least that given by NvBlastFamilyGetActorCount(family). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of actor pointers written to actors. This will not exceed actorsSize. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="fa406b4fc35520001060b529ec95e820"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetAssetID" ref="fa406b4fc35520001060b529ec95e820" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_i_d.html">NvBlastID</a> NvBlastFamilyGetAssetID </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the asset ID of the given family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the ID of the asset associated with the family. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="5c7e938874e2f930ea5b55fedb27b12e"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetChunkActor" ref="5c7e938874e2f930ea5b55fedb27b12e" args="(const NvBlastFamily *family, uint32_t chunkIndex, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="struct_nv_blast_actor.html">NvBlastActor</a>* NvBlastFamilyGetChunkActor </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the actor associated with the given chunk.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkIndex</em> </td><td>The index of chunk. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to actor associated with given chunk. NULL if there is no such actor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="15f297534c834b7335747be318303aa7"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetFormatVersion" ref="15f297534c834b7335747be318303aa7" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastFamilyGetFormatVersion </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the data format version for the given family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the family format version. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c9e06ffe539277ccbdb648c97308fa65"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetMaxActorCount" ref="c9e06ffe539277ccbdb648c97308fa65" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastFamilyGetMaxActorCount </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the max active actor count family could have.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the max number of active actors family could have. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="730a6ea95065b53b9d9b65bde8cbb336"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetRequiredScratchForCreateFirstActor" ref="730a6ea95065b53b9d9b65bde8cbb336" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t NvBlastFamilyGetRequiredScratchForCreateFirstActor </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of bytes of scratch memory that the user must supply to NvBlastFamilyCreateFirstActor.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family from which the first actor will be instanced. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of bytes of scratch memory required for a call to NvBlastFamilyCreateFirstActor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="f2316e686029f931812a3ddf11de6547"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilyGetSize" ref="f2316e686029f931812a3ddf11de6547" args="(const NvBlastFamily *family, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t NvBlastFamilyGetSize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieve the size (in bytes) of the given family.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the size of the family (in bytes). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="fa4b1c5e96650587b8daabb5ab86d2f1"></a><!-- doxytag: member="NvBlast.h::NvBlastFamilySetAsset" ref="fa4b1c5e96650587b8daabb5ab86d2f1" args="(NvBlastFamily *family, const NvBlastAsset *asset, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastFamilySetAsset </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_family.html">NvBlastFamily</a> * </td> + <td class="paramname"> <em>family</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset.html">NvBlastAsset</a> * </td> + <td class="paramname"> <em>asset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Set asset to the family. It should be the same asset as the one family was created from (same ID).<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>family</em> </td><td>The family. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>asset</em> </td><td>Asset to instance. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="6b27b9cc240bef3481cbfa23f7051060"></a><!-- doxytag: member="NvBlast.h::NvBlastGetAssetMemorySize" ref="6b27b9cc240bef3481cbfa23f7051060" args="(const NvBlastAssetDesc *desc, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t NvBlastGetAssetMemorySize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> * </td> + <td class="paramname"> <em>desc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculates the memory requirements for an asset based upon its descriptor. Use this function when building an asset with NvBlastCreateAsset.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>desc</em> </td><td>Asset descriptor (see <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>). </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the memory size (in bytes) required for the asset, or zero if desc is invalid. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="7517e528d4862b5e09853140bd4a2e46"></a><!-- doxytag: member="NvBlast.h::NvBlastGetRequiredScratchForCreateAsset" ref="7517e528d4862b5e09853140bd4a2e46" args="(const NvBlastAssetDesc *desc, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t NvBlastGetRequiredScratchForCreateAsset </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a> * </td> + <td class="paramname"> <em>desc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of bytes of scratch memory that the user must supply to NvBlastCreateAsset, based upon the descriptor that will be passed into that function.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>desc</em> </td><td>The asset descriptor that will be passed into NvBlastCreateAsset. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of bytes of scratch memory required for a call to NvBlastCreateAsset with that descriptor. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c61d3b9346765324a627b73803290373"></a><!-- doxytag: member="NvBlast.h::NvBlastReorderAssetDescChunks" ref="c61d3b9346765324a627b73803290373" args="(NvBlastChunkDesc *chunkDescs, uint32_t chunkCount, NvBlastBondDesc *bondDescs, uint32_t bondCount, uint32_t *chunkReorderMap, void *scratch, NvBlastLog logFn)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool NvBlastReorderAssetDescChunks </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a> * </td> + <td class="paramname"> <em>chunkDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>chunkCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a> * </td> + <td class="paramname"> <em>bondDescs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>bondCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"> <em>chunkReorderMap</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>scratch</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> </td> + <td class="paramname"> <em>logFn</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Build and apply chunk reorder map.<p> +Function basically calls NvBlastBuildAssetDescChunkReorderMap and NvBlastApplyAssetDescChunkReorderMap. Used for Convenience.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkDescs</em> </td><td>Array of chunk descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkCount</em> </td><td>The number of chunk descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondDescs</em> </td><td>Array of bond descriptors of size chunkCount. It will be updated accordingly. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>bondCount</em> </td><td>The number of bond descriptors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>chunkReorderMap</em> </td><td>Chunk reorder map to fill, must be of size chunkCount. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scratch</em> </td><td>User-supplied scratch storage, must point to chunkCount * sizeof(NvBlastChunkDesc) valid bytes of memory. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>logFn</em> </td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff the chunks did not require reordering (chunkReorderMap is the identity map). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="749f932dc54fa2d3f413bd6fcc1ba6e9"></a><!-- doxytag: member="NvBlast.h::NvBlastTicksToSeconds" ref="749f932dc54fa2d3f413bd6fcc1ba6e9" args="(int64_t ticks)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double NvBlastTicksToSeconds </td> + <td>(</td> + <td class="paramtype">int64_t </td> + <td class="paramname"> <em>ticks</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Convert a tick value from <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> to seconds.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>ticks</em> </td><td>The tick value.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the seconds correposnding to the input tick value. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b3059b35f2c62b8110d90336f5cecefc"></a><!-- doxytag: member="NvBlast.h::NvBlastTimersReset" ref="b3059b35f2c62b8110d90336f5cecefc" args="(NvBlastTimers *timers)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void NvBlastTimersReset </td> + <td>(</td> + <td class="paramtype"><a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> * </td> + <td class="paramname"> <em>timers</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Resets all values in the given <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> struct to zero.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>timers</em> </td><td>The <a class="el" href="struct_nv_blast_timers.html">NvBlastTimers</a> to set to zero. </td></tr> + </table> +</dl> + +</div> +</div><p> +</div> +<!-- start footer part --> +<div class="footer"> +Copyright © 2015-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</div> +</body> +</html> |