aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2019-09-17 09:16:55 -0700
committerBryan Galdrikian <[email protected]>2019-09-17 09:16:55 -0700
commit9f4fc41dc5d857e3c7c3500fc71953e54d780a39 (patch)
tree20a548f0eda0ff2f0510ef57f6d038e480dd8611
parentFixing chunk hierarchy optimization/merge bugs (diff)
downloadblast-dev.tar.xz
blast-dev.zip
* NvBlastAsset::testForValidChunkOrder (used when creating an NvBlastAsset) is now more strict, requiring parent chunk descriptors to come before their children. It is still less strict than the order created by NvBlastBuildAssetDescChunkReorderMap.v1.1.5_releasev1.1.5_rc1v1.1.5_pre5dev
* Added FractureTool::setApproximateBonding function. Signals the tool to create bonds by proximity instead of just using cut plane data. * Chunks which have been merged using the uniteChunks function may be merged again * Restored chunk volume calculation * NvBlastBuildAssetDescChunkReorderMap failure cases fixed.
-rwxr-xr-xblast_tools_and_samples-windows.zipbin38406881 -> 38414616 bytes
-rwxr-xr-xdocs/api_docs/files/_nv_blast_8h.html2
-rwxr-xr-xdocs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html24
-rwxr-xr-xdocs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html4
-rwxr-xr-xdocs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html1
-rwxr-xr-xdocs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html38
-rwxr-xr-xdocs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js1
-rwxr-xr-xdocs/api_docs/files/functions.html23
-rwxr-xr-xdocs/api_docs/files/functions_0x63.html21
-rwxr-xr-xdocs/api_docs/files/functions_0x73.html12
-rwxr-xr-xdocs/api_docs/files/functions_0x74.html6
-rwxr-xr-xdocs/api_docs/files/functions_c.html7
-rwxr-xr-xdocs/api_docs/files/functions_eval.html10
-rwxr-xr-xdocs/api_docs/files/functions_func_0x73.html20
-rwxr-xr-xdocs/api_docs/files/functions_func_s.html3
-rwxr-xr-xdocs/api_docs/files/functions_s.html9
-rwxr-xr-xdocs/api_docs/files/functions_t.html8
-rwxr-xr-xdocs/api_docs/files/navtreedata.js10
-rwxr-xr-xdocs/api_docs/files/navtreeindex1.js14
-rwxr-xr-xdocs/api_docs/files/navtreeindex2.js12
-rwxr-xr-xdocs/api_docs/files/navtreeindex3.js8
-rwxr-xr-xdocs/api_docs/files/navtreeindex4.js6
-rwxr-xr-xdocs/api_docs/files/navtreeindex5.js4
-rw-r--r--docs/api_docs/files/navtreeindex6.js1
-rwxr-xr-xdocs/api_docs/files/pagereleasenotes.html11
-rwxr-xr-xdocs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html2
-rwxr-xr-xdocs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html6
-rwxr-xr-xdocs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js2
-rwxr-xr-xdocs/release_notes.txt11
-rwxr-xr-xdocs/source_docs/files/_nv_blast_8h.html2
-rwxr-xr-xdocs/source_docs/files/_nv_blast_actor_8h_source.html6
-rwxr-xr-xdocs/source_docs/files/_nv_blast_asset_8h-source.html156
-rwxr-xr-xdocs/source_docs/files/_nv_blast_asset_8h_source.html28
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h_source.html2
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html24
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html4
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html84
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html18
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html468
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.html3
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.js1
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h_source.html65
-rwxr-xr-xdocs/source_docs/files/_nv_blast_ext_authoring_triangulator_8h_source.html4
-rw-r--r--docs/source_docs/files/_nv_blast_ext_r_t_geometry_8h_source.html2
-rwxr-xr-xdocs/source_docs/files/_nv_blast_family_8h_source.html12
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_asset.html2
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html1
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html40
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js1
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html1
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html40
-rwxr-xr-xdocs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.js1
-rwxr-xr-xdocs/source_docs/files/functions_0x61.html50
-rwxr-xr-xdocs/source_docs/files/functions_0x63.html61
-rwxr-xr-xdocs/source_docs/files/functions_0x69.html4
-rwxr-xr-xdocs/source_docs/files/functions_0x70.html13
-rwxr-xr-xdocs/source_docs/files/functions_0x72.html4
-rwxr-xr-xdocs/source_docs/files/functions_0x73.html70
-rwxr-xr-xdocs/source_docs/files/functions_0x74.html22
-rwxr-xr-xdocs/source_docs/files/functions_0x75.html19
-rwxr-xr-xdocs/source_docs/files/functions_0x79.html19
-rwxr-xr-xdocs/source_docs/files/functions_a.html7
-rwxr-xr-xdocs/source_docs/files/functions_c.html11
-rwxr-xr-xdocs/source_docs/files/functions_eval.html14
-rwxr-xr-xdocs/source_docs/files/functions_func_0x69.html4
-rwxr-xr-xdocs/source_docs/files/functions_func_0x70.html3
-rwxr-xr-xdocs/source_docs/files/functions_func_0x72.html4
-rwxr-xr-xdocs/source_docs/files/functions_func_0x73.html64
-rwxr-xr-xdocs/source_docs/files/functions_func_g.html2
-rwxr-xr-xdocs/source_docs/files/functions_func_s.html14
-rwxr-xr-xdocs/source_docs/files/functions_g.html2
-rwxr-xr-xdocs/source_docs/files/functions_s.html22
-rwxr-xr-xdocs/source_docs/files/functions_type.html8
-rwxr-xr-xdocs/source_docs/files/functions_vars_0x75.html21
-rwxr-xr-xdocs/source_docs/files/functions_y.html4
-rwxr-xr-xdocs/source_docs/files/namespace_nv_1_1_blast.html22
-rwxr-xr-xdocs/source_docs/files/namespacemembers_0x63.html4
-rwxr-xr-xdocs/source_docs/files/namespacemembers_c.html5
-rwxr-xr-xdocs/source_docs/files/namespacemembers_func_0x63.html4
-rwxr-xr-xdocs/source_docs/files/namespacemembers_func_c.html5
-rwxr-xr-xdocs/source_docs/files/navtreedata.js38
-rwxr-xr-xdocs/source_docs/files/navtreeindex1.js18
-rwxr-xr-xdocs/source_docs/files/navtreeindex10.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex11.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex12.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex13.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex14.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex15.js58
-rwxr-xr-xdocs/source_docs/files/navtreeindex16.js12
-rwxr-xr-xdocs/source_docs/files/navtreeindex17.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex18.js8
-rw-r--r--docs/source_docs/files/navtreeindex19.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex2.js4
-rw-r--r--docs/source_docs/files/navtreeindex20.js3
-rwxr-xr-xdocs/source_docs/files/navtreeindex3.js4
-rwxr-xr-xdocs/source_docs/files/navtreeindex4.js4
-rwxr-xr-xdocs/source_docs/files/navtreeindex5.js4
-rwxr-xr-xdocs/source_docs/files/navtreeindex6.js4
-rwxr-xr-xdocs/source_docs/files/navtreeindex7.js60
-rwxr-xr-xdocs/source_docs/files/navtreeindex8.js8
-rwxr-xr-xdocs/source_docs/files/navtreeindex9.js8
-rwxr-xr-xdocs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html2
-rwxr-xr-xdocs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html6
-rwxr-xr-xdocs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js2
-rwxr-xr-xsdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h14
-rwxr-xr-xsdk/extensions/authoring/source/NvBlastExtAuthoring.cpp29
-rwxr-xr-xsdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.cpp20
-rwxr-xr-xsdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp76
-rwxr-xr-xsdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h2
-rw-r--r--sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h42
-rwxr-xr-xsdk/lowlevel/include/NvBlast.h2
-rwxr-xr-xsdk/lowlevel/source/NvBlastAsset.cpp78
-rwxr-xr-xsdk/lowlevel/source/NvBlastAsset.h31
-rwxr-xr-xsdk/lowlevel/source/NvBlastAssetHelper.cpp139
-rwxr-xr-xtest/src/unit/AssetTests.cpp2
115 files changed, 1446 insertions, 1011 deletions
diff --git a/blast_tools_and_samples-windows.zip b/blast_tools_and_samples-windows.zip
index 9708677..72f0ab1 100755
--- a/blast_tools_and_samples-windows.zip
+++ b/blast_tools_and_samples-windows.zip
Binary files differ
diff --git a/docs/api_docs/files/_nv_blast_8h.html b/docs/api_docs/files/_nv_blast_8h.html
index bc68d84..23523fb 100755
--- a/docs/api_docs/files/_nv_blast_8h.html
+++ b/docs/api_docs/files/_nv_blast_8h.html
@@ -1749,7 +1749,7 @@ Iff chunks are already ordered correctly, function returns 'true' and identity c
<tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>chunkReorderMap</em>&nbsp;</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>&nbsp;</td><td valign="top"><em>chunkDescs</em>&nbsp;</td><td>Array of chunk descriptors of size chunkCount. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>chunkCount</em>&nbsp;</td><td>The number of chunk descriptors. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scratch</em>&nbsp;</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>&nbsp;</td><td valign="top"><em>scratch</em>&nbsp;</td><td>User-supplied scratch storage, must point to 3 * chunkCount * sizeof(uint32_t) valid bytes of memory. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>logFn</em>&nbsp;</td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr>
</table>
</dl>
diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
index bdf4c9b..03e0eec 100755
--- a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
+++ b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
@@ -69,8 +69,8 @@
<a name="l00048"></a>00048 {
<a name="l00049"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">00049</a> <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a>
<a name="l00050"></a>00050 {
-<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">00051</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
-<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1
+<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">00051</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
+<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> = 1 <span class="comment">// Created by island splitting or chunk merge, etc. and should check for inexact bonds</span>
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
<a name="l00055"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#864945bf41b9ab726c8df191e9acae35">00055</a> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#864945bf41b9ab726c8df191e9acae35">meshData</a>;
@@ -245,15 +245,17 @@
<a name="l00512"></a>00512 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,
<a name="l00513"></a>00513 <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;
<a name="l00514"></a>00514
-<a name="l00520"></a>00520 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#db1c311cbb3d84c7bfbfd12abe01af0b">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;
-<a name="l00521"></a>00521
-<a name="l00526"></a>00526 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a9a87637d6d190d71678f0fb9a100bfd">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) = 0;
-<a name="l00527"></a>00527 };
-<a name="l00528"></a>00528
-<a name="l00529"></a>00529 } <span class="comment">// namespace Blast</span>
-<a name="l00530"></a>00530 } <span class="comment">// namespace Nv</span>
-<a name="l00531"></a>00531
-<a name="l00532"></a>00532 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span>
+<a name="l00521"></a>00521 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a>(uint32_t chunkIndex, <span class="keywordtype">bool</span> useApproximateBonding) = 0;
+<a name="l00522"></a>00522
+<a name="l00528"></a>00528 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#db1c311cbb3d84c7bfbfd12abe01af0b">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;
+<a name="l00529"></a>00529
+<a name="l00534"></a>00534 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a9a87637d6d190d71678f0fb9a100bfd">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) = 0;
+<a name="l00535"></a>00535 };
+<a name="l00536"></a>00536
+<a name="l00537"></a>00537 } <span class="comment">// namespace Blast</span>
+<a name="l00538"></a>00538 } <span class="comment">// namespace Nv</span>
+<a name="l00539"></a>00539
+<a name="l00540"></a>00540 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span>
</pre></div></div>
<!-- start footer part -->
<div class="footer">
diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
index 69f78d6..8c9f366 100755
--- a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
+++ b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
@@ -38,11 +38,11 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="title">NvBlastExtAuthoringFractureTool.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_ext_authoring_fracture_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>CutoutSet;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> Chunk data, chunk with chunkId == 0 is always source mesh.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html"> 47</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c"> 49</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c">ChunkFlags</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; };</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35"> 55</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35">meshData</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c"> 56</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c">parent</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67"> 57</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71"> 58</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71">flags</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02"> 59</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02">isLeaf</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f">isChanged</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Generates uniformly distributed value in [0, 1] range.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getRandomValue() = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Seeds random value generator</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> seed(int32_t seed) = 0;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e"> 73</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e">~RandomGeneratorBase</a>(){};</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;};</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Noise fracturing configuration for chunks&#39;s faces</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html"> 79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a882e9f74aadf9384b68ab6b92006247c"> 86</a></span>&#160; <span class="keywordtype">float</span> amplitude = 0.f;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a0aa07994b6ef53830d284025968d4569"> 91</a></span>&#160; <span class="keywordtype">float</span> frequency = 1.f;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a9f3eccc2ab7973a00d8a77751bffbbf5"> 96</a></span>&#160; uint32_t octaveNumber = 1;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a6e96813291972a38fb456d3e3bbc32e5"> 101</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> samplingInterval = { 1, 1, 1 };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Slicing fracturing configuration</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html"> 107</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a90059b509ffd4aa9129c70bf96b3ac79"> 112</a></span>&#160; int32_t x_slices = 1, y_slices = 1, z_slices = 1;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a4d108dd0a46bc2ea6c9fe1b11c369f5a"> 117</a></span>&#160; <span class="keywordtype">float</span> offset_variations = 0.f;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a8bff4d55245144ddd63013e245c1a7cc"> 122</a></span>&#160; <span class="keywordtype">float</span> angle_variations = 0.f;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Noise parameters for faces between sliced chunks</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237"> 127</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237">noise</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html"> 133</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a30e10f98ba8ab88afa9b7ee5855dbd14"> 139</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_cutout_set.html">CutoutSet</a>* cutoutSet = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#aa0c088a7b81ace3910d7dd53f2eab935"> 145</a></span>&#160; <a class="code" href="struct_nvc_transform.html">NvcTransform</a> transform = {{0, 0, 0, 1}, {0, 0, 0}};</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a4474a4284f58e9e1b97956bbcc4f48d1"> 152</a></span>&#160; <a class="code" href="struct_nvc_vec2.html">NvcVec2</a> scale = { -1, -1 };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a397831eed1776f363b068ea8879f33fc"> 157</a></span>&#160; <span class="keywordtype">float</span> aperture = 0.f;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a0614b4b06b7c4925c37c3d039887665e"> 163</a></span>&#160; <span class="keywordtype">bool</span> isRelativeTransform = <span class="keyword">true</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a61deebb0401642549a0772f6dd971065"> 168</a></span>&#160; <span class="keywordtype">bool</span> useSmoothing = <span class="keyword">false</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b"> 173</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b">noise</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html"> 179</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8"> 182</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8">~VoronoiSitesGenerator</a>() {}</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBaseMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">virtual</span> uint32_t getVoronoiSites(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) = 0;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> addSite(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) = 0;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniformlyGenerateSitesInMesh(uint32_t numberOfSites) = 0;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) = 0;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> radialPattern(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; normal, <span class="keywordtype">float</span> radius, int32_t angularSteps,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) = 0;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> generateInSphere(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) = 0;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencil(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearStencil() = 0;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> deleteInSphere(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) = 0;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;};</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html"> 264</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2"> 268</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2">~FractureTool</a>() {}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset() = 0;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">virtual</span> int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) = 0;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) = 0;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">virtual</span> int32_t getInteriorMaterialId() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>) = 0;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">virtual</span> int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; normal, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">virtual</span> int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> finalizeFracturing() = 0;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> uint32_t getChunkCount() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) = 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">virtual</span> uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) = 0;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) = 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">virtual</span> int32_t getChunkIndex(int32_t chunkId) = 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keyword">virtual</span> int32_t getChunkId(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keyword">virtual</span> int32_t getChunkDepth(int32_t chunkId) = 0;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) = 0;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keyword">virtual</span> uint32_t</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) = 0;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) = 0;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keyword">virtual</span> int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) = 0;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) = 0;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;};</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
+<a href="_nv_blast_ext_authoring_fracture_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>CutoutSet;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> Chunk data, chunk with chunkId == 0 is always source mesh.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html"> 47</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c"> 49</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c">ChunkFlags</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> = 1 <span class="comment">// Created by island splitting or chunk merge, etc. and should check for inexact bonds</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; };</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35"> 55</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35">meshData</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c"> 56</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c">parent</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67"> 57</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71"> 58</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71">flags</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02"> 59</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02">isLeaf</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f">isChanged</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Generates uniformly distributed value in [0, 1] range.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getRandomValue() = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Seeds random value generator</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> seed(int32_t seed) = 0;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e"> 73</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e">~RandomGeneratorBase</a>(){};</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;};</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Noise fracturing configuration for chunks&#39;s faces</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html"> 79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a882e9f74aadf9384b68ab6b92006247c"> 86</a></span>&#160; <span class="keywordtype">float</span> amplitude = 0.f;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a0aa07994b6ef53830d284025968d4569"> 91</a></span>&#160; <span class="keywordtype">float</span> frequency = 1.f;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a9f3eccc2ab7973a00d8a77751bffbbf5"> 96</a></span>&#160; uint32_t octaveNumber = 1;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a6e96813291972a38fb456d3e3bbc32e5"> 101</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> samplingInterval = { 1, 1, 1 };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Slicing fracturing configuration</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html"> 107</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a90059b509ffd4aa9129c70bf96b3ac79"> 112</a></span>&#160; int32_t x_slices = 1, y_slices = 1, z_slices = 1;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a4d108dd0a46bc2ea6c9fe1b11c369f5a"> 117</a></span>&#160; <span class="keywordtype">float</span> offset_variations = 0.f;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a8bff4d55245144ddd63013e245c1a7cc"> 122</a></span>&#160; <span class="keywordtype">float</span> angle_variations = 0.f;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Noise parameters for faces between sliced chunks</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237"> 127</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237">noise</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html"> 133</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a30e10f98ba8ab88afa9b7ee5855dbd14"> 139</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_cutout_set.html">CutoutSet</a>* cutoutSet = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#aa0c088a7b81ace3910d7dd53f2eab935"> 145</a></span>&#160; <a class="code" href="struct_nvc_transform.html">NvcTransform</a> transform = {{0, 0, 0, 1}, {0, 0, 0}};</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a4474a4284f58e9e1b97956bbcc4f48d1"> 152</a></span>&#160; <a class="code" href="struct_nvc_vec2.html">NvcVec2</a> scale = { -1, -1 };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a397831eed1776f363b068ea8879f33fc"> 157</a></span>&#160; <span class="keywordtype">float</span> aperture = 0.f;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a0614b4b06b7c4925c37c3d039887665e"> 163</a></span>&#160; <span class="keywordtype">bool</span> isRelativeTransform = <span class="keyword">true</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a61deebb0401642549a0772f6dd971065"> 168</a></span>&#160; <span class="keywordtype">bool</span> useSmoothing = <span class="keyword">false</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b"> 173</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b">noise</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html"> 179</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8"> 182</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8">~VoronoiSitesGenerator</a>() {}</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBaseMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">virtual</span> uint32_t getVoronoiSites(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) = 0;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> addSite(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) = 0;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniformlyGenerateSitesInMesh(uint32_t numberOfSites) = 0;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) = 0;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> radialPattern(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; normal, <span class="keywordtype">float</span> radius, int32_t angularSteps,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) = 0;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> generateInSphere(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) = 0;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencil(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearStencil() = 0;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> deleteInSphere(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) = 0;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;};</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html"> 264</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2"> 268</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2">~FractureTool</a>() {}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset() = 0;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">virtual</span> int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) = 0;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) = 0;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">virtual</span> int32_t getInteriorMaterialId() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>) = 0;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">virtual</span> int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; normal, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">virtual</span> int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> finalizeFracturing() = 0;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> uint32_t getChunkCount() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) = 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">virtual</span> uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) = 0;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) = 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">virtual</span> int32_t getChunkIndex(int32_t chunkId) = 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keyword">virtual</span> int32_t getChunkId(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keyword">virtual</span> int32_t getChunkDepth(int32_t chunkId) = 0;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) = 0;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keyword">virtual</span> uint32_t</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) = 0;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) = 0;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keyword">virtual</span> int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) = 0;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> setApproximateBonding(uint32_t chunkIndex, <span class="keywordtype">bool</span> useApproximateBonding) = 0;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) = 0;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;};</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:47</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">Nv::Blast::VoronoiSitesGenerator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:179</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html_ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo::CREATED_BY_ISLAND_DETECTOR</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:52</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_cutout_set_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_cutout_set.html">Nv::Blast::CutoutSet</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringCutout.h:36</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html_ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo::APPROXIMATE_BONDING</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:52</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_types_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_noise_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_noise_configuration.html">Nv::Blast::NoiseConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:79</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_mesh_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_mesh.html">Nv::Blast::Mesh</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringMesh.h:42</div></div>
diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
index b426840..f2ccf97 100755
--- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
+++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
@@ -44,6 +44,7 @@
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#78da4a0d726ec1b541166cd3c46df67e">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#78194aeece0c12c2035c79458ff49c9f">replaceMaterialId</a>(int32_t oldMaterialId, int32_t newMaterialId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#b462c92fa47a5359bf3d19cf44af80f4">reset</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a>(uint32_t chunkIndex, bool useApproximateBonding)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#ecd9be996bba9329418fd91db8235ebe">setChunkMesh</a>(const Mesh *mesh, int32_t parentId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c8c4f90133fdf32969cad6e4c520414f">setInteriorMaterialId</a>(int32_t materialId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#251738022e498b819e88536577470735">setRemoveIslands</a>(bool isRemoveIslands)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
index e91b525..d7b7fe1 100755
--- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
+++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
@@ -75,6 +75,8 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#b462c92fa47a5359bf3d19cf44af80f4">reset</a> ()=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a> (uint32_t chunkIndex, bool useApproximateBonding)=0</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#ecd9be996bba9329418fd91db8235ebe">setChunkMesh</a> (const <a class="el" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a> *mesh, int32_t parentId)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c8c4f90133fdf32969cad6e4c520414f">setInteriorMaterialId</a> (int32_t materialId)=0</td></tr>
@@ -806,6 +808,42 @@ Replaces an material id on faces with a new one
Reset <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a> state.
</div>
</div><p>
+<a class="anchor" name="33c19de2bc8ea52394651d184076db5c"></a><!-- doxytag: member="Nv::Blast::FractureTool::setApproximateBonding" ref="33c19de2bc8ea52394651d184076db5c" args="(uint32_t chunkIndex, bool useApproximateBonding)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool Nv::Blast::FractureTool::setApproximateBonding </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&nbsp;</td>
+ <td class="paramname"> <em>chunkIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>useApproximateBonding</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the APPROXIMATE_BONDING flag in the chunk's <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a> <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>chunkIndex</em>&nbsp;</td><td>chunk index - use getChunkIndex(ID) </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>useApproximateBonding</em>&nbsp;</td><td>value of flag to set </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the chunk ID is found, false otherwise </dd></dl>
+
+</div>
+</div><p>
<a class="anchor" name="ecd9be996bba9329418fd91db8235ebe"></a><!-- doxytag: member="Nv::Blast::FractureTool::setChunkMesh" ref="ecd9be996bba9329418fd91db8235ebe" args="(const Mesh *mesh, int32_t parentId)=0" -->
<div class="memitem">
<div class="memproto">
diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
index b4a1a8f..a3f0bbe 100755
--- a/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
+++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
@@ -24,6 +24,7 @@ var class_nv_1_1_blast_1_1_fracture_tool =
[ "release", "class_nv_1_1_blast_1_1_fracture_tool.html#a78da4a0d726ec1b541166cd3c46df67e", null ],
[ "replaceMaterialId", "class_nv_1_1_blast_1_1_fracture_tool.html#a78194aeece0c12c2035c79458ff49c9f", null ],
[ "reset", "class_nv_1_1_blast_1_1_fracture_tool.html#ab462c92fa47a5359bf3d19cf44af80f4", null ],
+ [ "setApproximateBonding", "class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c", null ],
[ "setChunkMesh", "class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe", null ],
[ "setInteriorMaterialId", "class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f", null ],
[ "setRemoveIslands", "class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735", null ],
diff --git a/docs/api_docs/files/functions.html b/docs/api_docs/files/functions.html
index c699600..3ff7e75 100755
--- a/docs/api_docs/files/functions.html
+++ b/docs/api_docs/files/functions.html
@@ -132,8 +132,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>angularSteps
: <a class="el" href="struct_nv_1_1_blast_1_1_regular_radial_pattern_desc.html#05be2d62a3e6c523f4fefd38eb051ac3">Nv::Blast::RegularRadialPatternDesc</a>
<li>aperture
-: <a class="el" href="struct_nv_1_1_blast_1_1_regular_radial_pattern_desc.html#ea9dd71b7e45e775ce616f155680e1c2">Nv::Blast::RegularRadialPatternDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#397831eed1776f363b068ea8879f33fc">Nv::Blast::CutoutConfiguration</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#397831eed1776f363b068ea8879f33fc">Nv::Blast::CutoutConfiguration</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_regular_radial_pattern_desc.html#ea9dd71b7e45e775ce616f155680e1c2">Nv::Blast::RegularRadialPatternDesc</a>
<li>ApexImporterConfig()
: <a class="el" href="struct_nv_1_1_blast_1_1_apex_importer_1_1_apex_importer_config.html#92d34d1b3881431877e1f46dd6aa4c6e">Nv::Blast::ApexImporter::ApexImporterConfig</a>
<li>ApexImportTool()
@@ -147,24 +147,27 @@ Here is a list of all class members with links to the classes they belong to:
, <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html#bbcd5d6eabbb5379e77e2942fe0b11a8">Nv::Blast::TkFamily</a>
<li>applySyncBuffer()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#80c6e0fdc23b94a9d3adb6c1f7390a9f">Nv::Blast::ExtSync</a>
+<li>APPROXIMATE_BONDING
+: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo</a>
<li>area
: <a class="el" href="struct_nv_blast_bond.html#5dc5d104d61919d19968ce77b7db9bba">NvBlastBond</a>
<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a0785a75fbc075612bffb021a49526ba2">Nv::Blast::TkTypeIndex</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
<li>asset
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_desc.html#70c0d996c924c3c0656b17228413d19c">Nv::Blast::TkActorDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_authoring_result.html#82eea5edda9545d420939ef6a79aea7b">Nv::Blast::AuthoringResult</a>
<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
<li>asset
: <a class="el" href="struct_nv_1_1_blast_1_1_exporter_mesh_data.html#7f7c8fb6f3d9f53bf3deef296a620fe5">Nv::Blast::ExporterMeshData</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_authoring_result.html#82eea5edda9545d420939ef6a79aea7b">Nv::Blast::AuthoringResult</a>
+<li>Asset
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a0785a75fbc075612bffb021a49526ba2">Nv::Blast::TkTypeIndex</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
<li>assetBonds
: <a class="el" href="struct_nv_blast_graph_shader_actor.html#ebb7e8d55ddf8cb2ef71326632952cfe">NvBlastGraphShaderActor</a>
<li>assetChunks
-: <a class="el" href="struct_nv_blast_graph_shader_actor.html#57bf267baa9b5397af645203592a0a40">NvBlastGraphShaderActor</a>
-, <a class="el" href="struct_nv_blast_subgraph_shader_actor.html#6a9b6ce5e41217116491b9b027425703">NvBlastSubgraphShaderActor</a>
+: <a class="el" href="struct_nv_blast_subgraph_shader_actor.html#6a9b6ce5e41217116491b9b027425703">NvBlastSubgraphShaderActor</a>
+, <a class="el" href="struct_nv_blast_graph_shader_actor.html#57bf267baa9b5397af645203592a0a40">NvBlastGraphShaderActor</a>
<li>AssetDataBlock
: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96480db40958d7f33c4644e4b52cb2213463">NvBlastDataBlock</a>
<li>assetNodeCount
@@ -173,8 +176,8 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_authoring_result.html#94609b5ad4dabb8c32f858c531b81ed4">Nv::Blast::AuthoringResult</a>
<li>attachPositions
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html#89508d6669e2375c5896ae37bad6d09d">Nv::Blast::TkAssetJointDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_data.html#cd1894619d5abd13a48e57833736ed3d">Nv::Blast::TkJointData</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#34dab72bc3d33c4927c00f870f93ae37">Nv::Blast::TkJointDesc</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_data.html#cd1894619d5abd13a48e57833736ed3d">Nv::Blast::TkJointData</a>
<li>AVERAGE
: <a class="el" href="struct_nv_1_1_blast_1_1_bond_generation_config.html#039dca7ff2ee57fcf96ce5aad570cf67f8d9fd52be0dd6e99bde1fffd8975258">Nv::Blast::BondGenerationConfig</a>
</ul>
diff --git a/docs/api_docs/files/functions_0x63.html b/docs/api_docs/files/functions_0x63.html
index 78f3a87..51873c9 100755
--- a/docs/api_docs/files/functions_0x63.html
+++ b/docs/api_docs/files/functions_0x63.html
@@ -171,34 +171,33 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a>
, <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
<li>create()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b2de9bf320ffa4c0a777d5c9e72d1803">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#8918f4cd232d7844dee1a3a4d4d9d6ea">Nv::Blast::ExtPxAsset</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#6514c543e6df14d77ef660bafa8c4fb3">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b2de9bf320ffa4c0a777d5c9e72d1803">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
<li>createActor()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a>
<li>createAsset()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#f1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a>
<li>createBondBetweenMeshes()
-: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#210b3c6cd2d759cb4f724c120beaf4ff">Nv::Blast::BlastBondGenerator</a>
<li>createChunkMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a>
<li>createCollisionBuilder()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#12296d50356db4664959dc3ea414dd9c">Nv::Blast::ExtPxManager</a>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
<li>createFamily()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a>
<li>createGroup()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a>
<li>createJoint()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a>
<li>cut()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#559c822041e74f034613b3afa4ad8a17">Nv::Blast::FractureTool</a>
<li>cutout()
diff --git a/docs/api_docs/files/functions_0x73.html b/docs/api_docs/files/functions_0x73.html
index f791a23..ae61927 100755
--- a/docs/api_docs/files/functions_0x73.html
+++ b/docs/api_docs/files/functions_0x73.html
@@ -87,6 +87,8 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#7230ff2e8531d6f0cd86cfe5234452ff">Nv::Blast::ExtPxManager</a>
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
<li>setBaseMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#b25db00f7569db1719408b4cf2a0e112">Nv::Blast::VoronoiSitesGenerator</a>
<li>setBufferProvider()
@@ -116,11 +118,11 @@ Here is a list of all class members with links to the classes they belong to:
<li>setPlatformEnabled()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_custom_profiler.html#326703192c1cef7196f271e6dd47bd94">Nv::Blast::ExtCustomProfiler</a>
<li>setPointCmpDirection()
-: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#e843779ca0d8635836fbbc9a2060dfa3">Nv::Blast::BBoxBasedAccelerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#10d706850f97144678975742b586b500">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#e843779ca0d8635836fbbc9a2060dfa3">Nv::Blast::BBoxBasedAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#99d3cf42fe6c71caa4c827d94ca3fd4d">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#50b1fd58ed24a0f70cf4b6dfeefcaca1">Nv::Blast::DummyAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#addc0455047474051b8cf67177594d9b">Nv::Blast::GridWalker</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#10d706850f97144678975742b586b500">Nv::Blast::SweepingAccelerator</a>
<li>setPxActorDesc()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#3335adf4c2c6367d98ba41f7a5f5488b">Nv::Blast::ExtPxFamily</a>
<li>setPxShapeDescTemplate()
@@ -137,7 +139,7 @@ Here is a list of all class members with links to the classes they belong to:
<li>setSourceMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
<li>setState()
-: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f9d479e51cdeef5e9b53489ba81f335c">Nv::Blast::BBoxBasedAccelerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#aeb4d54e24fdbfb0a9fd2083414d645b">Nv::Blast::BBoxBasedAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
@@ -185,8 +187,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>stressLinearFactor
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html#ee4b24619f255f4e8bbb131fa552abe4">Nv::Blast::ExtStressSolverSettings</a>
<li>subchunkCount
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#b1393ee5bdc8736add5b46bb0e63c7b8">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_chunk.html#b72119e6ade5758ec1c8874894d53ab2">Nv::Blast::ExtPxChunk</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_chunk.html#b72119e6ade5758ec1c8874894d53ab2">Nv::Blast::ExtPxChunk</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#b1393ee5bdc8736add5b46bb0e63c7b8">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
<li>subchunks
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#3887825dc8fa6157aeb007585b2ed85d">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
<li>subgraphShaderFunction
diff --git a/docs/api_docs/files/functions_0x74.html b/docs/api_docs/files/functions_0x74.html
index f79ce87..b4f0d54 100755
--- a/docs/api_docs/files/functions_0x74.html
+++ b/docs/api_docs/files/functions_0x74.html
@@ -91,15 +91,15 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#13e1a4dfce080ec72bb928f463bd0185">Nv::Blast::TriangleIndexed</a>
<li>trId
: <a class="el" href="struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#80203dd762ab3448bf15ebb38035b0c6">Nv::Blast::PlaneChunkIndexer</a>
-<li>type
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a>
<li>Type
: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a>
<li>type
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#000709f52a7d7e2629aaa0114260dec5">Nv::Blast::TkEvent</a>
<li>Type
: <a class="el" href="struct_nv_blast_message.html#a131d1cdff39661ffe961fa4c24742ce">NvBlastMessage</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a>
+<li>type
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a>
<li>TypeCount
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a36f1dbee3e8bc13b989992ae25cdf851">Nv::Blast::TkTypeIndex</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b8ddfbe9ceb31a245bd3c53bacd64353b">Nv::Blast::TkEvent</a>
diff --git a/docs/api_docs/files/functions_c.html b/docs/api_docs/files/functions_c.html
index 967a78a..30bcded 100755
--- a/docs/api_docs/files/functions_c.html
+++ b/docs/api_docs/files/functions_c.html
@@ -188,7 +188,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>create()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#a7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#a5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#a6514c543e6df14d77ef660bafa8c4fb3">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#ab899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#a2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#aa69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
@@ -198,7 +198,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#a30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a>
</li>
<li>createAsset()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#a9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#af1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a>
</li>
<li>createBondBetweenMeshes()
: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#ae2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a>
@@ -209,9 +209,6 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>createCollisionBuilder()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a12296d50356db4664959dc3ea414dd9c">Nv::Blast::ExtPxManager</a>
</li>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
-</li>
<li>createFamily()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a>
</li>
diff --git a/docs/api_docs/files/functions_eval.html b/docs/api_docs/files/functions_eval.html
index 60e4760..c767be8 100755
--- a/docs/api_docs/files/functions_eval.html
+++ b/docs/api_docs/files/functions_eval.html
@@ -59,11 +59,13 @@
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>ALL
: <a class="el" href="struct_nv_1_1_blast_1_1_fracture_r_t_1_1_stage.html#d0734403d39e52d55ed4492d63090ed497fe612f8c684f3c191da1285b616457">Nv::Blast::FractureRT::FractureRT::Stage</a>
+<li>APPROXIMATE_BONDING
+: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo</a>
<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a0785a75fbc075612bffb021a49526ba2">Nv::Blast::TkTypeIndex</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
<li>AssetDataBlock
: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96480db40958d7f33c4644e4b52cb2213463">NvBlastDataBlock</a>
<li>AVERAGE
@@ -83,8 +85,6 @@
<li>Count
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a>
, <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>Debug
diff --git a/docs/api_docs/files/functions_func_0x73.html b/docs/api_docs/files/functions_func_0x73.html
index 8710d83..9aa2305 100755
--- a/docs/api_docs/files/functions_func_0x73.html
+++ b/docs/api_docs/files/functions_func_0x73.html
@@ -73,6 +73,8 @@
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#7230ff2e8531d6f0cd86cfe5234452ff">Nv::Blast::ExtPxManager</a>
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
<li>setBaseMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#b25db00f7569db1719408b4cf2a0e112">Nv::Blast::VoronoiSitesGenerator</a>
<li>setBufferProvider()
@@ -123,18 +125,20 @@
<li>setSourceMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
<li>setState()
-: <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#1f189f9e73e1342ec42f19e3fce5c944">Nv::Blast::SweepingAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#aeb4d54e24fdbfb0a9fd2083414d645b">Nv::Blast::BBoxBasedAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#fb11c09557dfc60e0e5dcf0bce33dec5">Nv::Blast::SpatialAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#57e114094e51546afd728a82c8181935">Nv::Blast::SweepingAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#7859e830c542a4c1686de3d55634dbc9">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#07d0e165095fb2561042e2b8054c5b0f">Nv::Blast::DummyAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#bd89089c018fb1303951f75814fa3c80">Nv::Blast::DummyAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#aeb4d54e24fdbfb0a9fd2083414d645b">Nv::Blast::BBoxBasedAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#1f189f9e73e1342ec42f19e3fce5c944">Nv::Blast::SweepingAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f9d479e51cdeef5e9b53489ba81f335c">Nv::Blast::BBoxBasedAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#406b30c6eecd98771493fb182275d831">Nv::Blast::SpatialAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#57e114094e51546afd728a82c8181935">Nv::Blast::SweepingAccelerator</a>
<li>setStencil()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#bf0eeed0dc2a632c85572b4026b195c2">Nv::Blast::VoronoiSitesGenerator</a>
<li>setUniformHealth()
@@ -155,7 +159,7 @@
<li>SweepingAccelerator()
: <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#edd11ecc891c00c187803dbb6edea59f">Nv::Blast::SweepingAccelerator</a>
<li>syncFamily()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#116f3536defc2e352849792b25abc91f">Nv::Blast::ExtSync</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#11c708920d867cc1ead156773f49abeb">Nv::Blast::ExtSync</a>
</ul>
</div>
<!-- start footer part -->
diff --git a/docs/api_docs/files/functions_func_s.html b/docs/api_docs/files/functions_func_s.html
index b4c65cb..00f0d79 100755
--- a/docs/api_docs/files/functions_func_s.html
+++ b/docs/api_docs/files/functions_func_s.html
@@ -61,6 +61,9 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
</li>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+</li>
<li>setBaseMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#ab25db00f7569db1719408b4cf2a0e112">Nv::Blast::VoronoiSitesGenerator</a>
</li>
diff --git a/docs/api_docs/files/functions_s.html b/docs/api_docs/files/functions_s.html
index c1861a9..40f8dc0 100755
--- a/docs/api_docs/files/functions_s.html
+++ b/docs/api_docs/files/functions_s.html
@@ -73,6 +73,9 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
</li>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+</li>
<li>setBaseMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#ab25db00f7569db1719408b4cf2a0e112">Nv::Blast::VoronoiSitesGenerator</a>
</li>
@@ -234,12 +237,12 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#af2e0b2eaa5f46ba5af2fbf8be98a5e93">Nv::Blast::ExtPxFamily</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#ae47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
</li>
-<li>Subtype
-: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#ab7f4bb03fd3e37d487b6baa02104db7d">Nv::Blast::TkJointUpdateEvent</a>
-</li>
<li>subtype
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#a1d4d35a36d2fa508b40785ab17694883">Nv::Blast::TkJointUpdateEvent</a>
</li>
+<li>Subtype
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#ab7f4bb03fd3e37d487b6baa02104db7d">Nv::Blast::TkJointUpdateEvent</a>
+</li>
<li>supportChunkHealths
: <a class="el" href="struct_nv_blast_graph_shader_actor.html#a2dcbf1a8af0917a3989d356e1691ab26">NvBlastGraphShaderActor</a>
</li>
diff --git a/docs/api_docs/files/functions_t.html b/docs/api_docs/files/functions_t.html
index 350fe59..21fbe47 100755
--- a/docs/api_docs/files/functions_t.html
+++ b/docs/api_docs/files/functions_t.html
@@ -79,11 +79,15 @@ $(document).ready(function(){initNavTree('functions_t.html','');});
</li>
<li>type
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#ab2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#a000709f52a7d7e2629aaa0114260dec5">Nv::Blast::TkEvent</a>
</li>
<li>Type
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#a13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a>
-, <a class="el" href="struct_nv_blast_data_block.html#a78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a>
+</li>
+<li>type
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#a000709f52a7d7e2629aaa0114260dec5">Nv::Blast::TkEvent</a>
+</li>
+<li>Type
+: <a class="el" href="struct_nv_blast_data_block.html#a78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a>
, <a class="el" href="struct_nv_blast_message.html#aa131d1cdff39661ffe961fa4c24742ce">NvBlastMessage</a>
</li>
<li>TypeCount
diff --git a/docs/api_docs/files/navtreedata.js b/docs/api_docs/files/navtreedata.js
index 2d955bb..745164e 100755
--- a/docs/api_docs/files/navtreedata.js
+++ b/docs/api_docs/files/navtreedata.js
@@ -33,11 +33,11 @@ var NAVTREEINDEX =
[
"_nv_blast_8h.html",
"_nv_blast_tk_framework_8h.html#ac9ef4ab9d817890d7a0f456cc6f07907",
-"class_nv_1_1_blast_1_1_fracture_tool.html#a820000e618005f6de1cbcb56d3e54de5",
-"functions_d.html",
-"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ad3027428a05b7319f8b01c690df1918a",
-"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1faa045a667a2428770e974158ff5c3f721",
-"struct_nv_blast_message.html"
+"class_nv_1_1_blast_1_1_fracture_tool.html#a7f12ca1a0b1aa04875e46402a2a840f9",
+"functions_c.html",
+"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ac06fdaba0bc2097db58c1ec408d0776d",
+"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1fa39c81d6175ee0aa27db53d0cd7e944e3",
+"struct_nv_blast_i_d.html#ae7f7abc9562d83d9537f6c876f4c04e8"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/docs/api_docs/files/navtreeindex1.js b/docs/api_docs/files/navtreeindex1.js
index b8fe24f..a2990dd 100755
--- a/docs/api_docs/files/navtreeindex1.js
+++ b/docs/api_docs/files/navtreeindex1.js
@@ -236,18 +236,18 @@ var NAVTREEINDEX1 =
"class_nv_1_1_blast_1_1_fracture_tool.html#a04bb5dd940274a9c8b097cc9f06d0708":[3,0,0,0,62,1],
"class_nv_1_1_blast_1_1_fracture_tool.html#a1d2f1ce4db5aab0ac6a075db607c6b2f":[3,0,0,0,62,12],
"class_nv_1_1_blast_1_1_fracture_tool.html#a247f0e36c015237002dc87675562289b":[3,0,0,0,62,3],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735":[3,0,0,0,62,26],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a2d38fb6aac3c36d51d60dad428a43074":[3,0,0,0,62,32],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a384be45a1310ee0652d315127e62da22":[3,0,0,0,62,30],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735":[3,0,0,0,62,27],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a2d38fb6aac3c36d51d60dad428a43074":[3,0,0,0,62,33],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c":[3,0,0,0,62,24],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a384be45a1310ee0652d315127e62da22":[3,0,0,0,62,31],
"class_nv_1_1_blast_1_1_fracture_tool.html#a44ad67ac96b11e7dad87b5ed7a788f21":[3,0,0,0,62,19],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a45e8a5d3b6d98da1b44b6888a5054cce":[3,0,0,0,62,28],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a4c3308b909153982aded9366f9d3ee7c":[3,0,0,0,62,31],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a45e8a5d3b6d98da1b44b6888a5054cce":[3,0,0,0,62,29],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a4c3308b909153982aded9366f9d3ee7c":[3,0,0,0,62,32],
"class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2":[3,0,0,0,62,0],
"class_nv_1_1_blast_1_1_fracture_tool.html#a559c822041e74f034613b3afa4ad8a17":[3,0,0,0,62,2],
"class_nv_1_1_blast_1_1_fracture_tool.html#a5710c73457bcceba3f20d130e231a028":[3,0,0,0,62,20],
"class_nv_1_1_blast_1_1_fracture_tool.html#a78194aeece0c12c2035c79458ff49c9f":[3,0,0,0,62,22],
"class_nv_1_1_blast_1_1_fracture_tool.html#a78da4a0d726ec1b541166cd3c46df67e":[3,0,0,0,62,21],
"class_nv_1_1_blast_1_1_fracture_tool.html#a7959339df1bf17419cde2428c257af1d":[3,0,0,0,62,9],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a7bcaeda929fdcc29a7db12676cf0984a":[3,0,0,0,62,15],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a7f12ca1a0b1aa04875e46402a2a840f9":[3,0,0,0,62,18]
+"class_nv_1_1_blast_1_1_fracture_tool.html#a7bcaeda929fdcc29a7db12676cf0984a":[3,0,0,0,62,15]
};
diff --git a/docs/api_docs/files/navtreeindex2.js b/docs/api_docs/files/navtreeindex2.js
index 2dbb0a2..2ec25a1 100755
--- a/docs/api_docs/files/navtreeindex2.js
+++ b/docs/api_docs/files/navtreeindex2.js
@@ -1,19 +1,20 @@
var NAVTREEINDEX2 =
{
+"class_nv_1_1_blast_1_1_fracture_tool.html#a7f12ca1a0b1aa04875e46402a2a840f9":[3,0,0,0,62,18],
"class_nv_1_1_blast_1_1_fracture_tool.html#a820000e618005f6de1cbcb56d3e54de5":[3,0,0,0,62,16],
"class_nv_1_1_blast_1_1_fracture_tool.html#a8830959a8f7e4babc1983ea31c61ef5d":[3,0,0,0,62,5],
"class_nv_1_1_blast_1_1_fracture_tool.html#a9a113cc771fac30fd14a9c7b5b073e99":[3,0,0,0,62,14],
"class_nv_1_1_blast_1_1_fracture_tool.html#aa9a87637d6d190d71678f0fb9a100bfd":[3,0,0,0,62,6],
"class_nv_1_1_blast_1_1_fracture_tool.html#ab462c92fa47a5359bf3d19cf44af80f4":[3,0,0,0,62,23],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ac14c1ff1d50756694be24c34476af965":[3,0,0,0,62,27],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f":[3,0,0,0,62,25],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ac14c1ff1d50756694be24c34476af965":[3,0,0,0,62,28],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f":[3,0,0,0,62,26],
"class_nv_1_1_blast_1_1_fracture_tool.html#ac99cb91a13255929a52d9a2623ac207b":[3,0,0,0,62,11],
"class_nv_1_1_blast_1_1_fracture_tool.html#adb1c311cbb3d84c7bfbfd12abe01af0b":[3,0,0,0,62,7],
"class_nv_1_1_blast_1_1_fracture_tool.html#adc4037818bdb9424fe0543b59c1e2eac":[3,0,0,0,62,17],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ae4bd5dab498f9e894c648d570c5b60ba":[3,0,0,0,62,29],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ae4bd5dab498f9e894c648d570c5b60ba":[3,0,0,0,62,30],
"class_nv_1_1_blast_1_1_fracture_tool.html#aea8f1d386c70af0ea67bed2c353e57a1":[3,0,0,0,62,8],
"class_nv_1_1_blast_1_1_fracture_tool.html#aec74731e5a147120f0536b6674fc0f42":[3,0,0,0,62,4],
-"class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe":[3,0,0,0,62,24],
+"class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe":[3,0,0,0,62,25],
"class_nv_1_1_blast_1_1_fracture_tool.html#af07eb7960687cd912df496640bec8876":[3,0,0,0,62,10],
"class_nv_1_1_blast_1_1_fracturer.html":[3,0,0,0,60],
"class_nv_1_1_blast_1_1_fracturer.html#a42fb6822d70b337eaef4470165db1ddb":[3,0,0,0,60,0],
@@ -248,6 +249,5 @@ var NAVTREEINDEX2 =
"functions.html":[3,3,0],
"functions.html":[3,3,0,0],
"functions_0x7e.html":[3,3,0,25],
-"functions_b.html":[3,3,0,1],
-"functions_c.html":[3,3,0,2]
+"functions_b.html":[3,3,0,1]
};
diff --git a/docs/api_docs/files/navtreeindex3.js b/docs/api_docs/files/navtreeindex3.js
index 4b8f69e..62cb655 100755
--- a/docs/api_docs/files/navtreeindex3.js
+++ b/docs/api_docs/files/navtreeindex3.js
@@ -1,12 +1,13 @@
var NAVTREEINDEX3 =
{
+"functions_c.html":[3,3,0,2],
"functions_d.html":[3,3,0,3],
"functions_e.html":[3,3,0,4],
"functions_enum.html":[3,3,3],
"functions_eval.html":[3,3,4],
"functions_f.html":[3,3,0,5],
-"functions_func.html":[3,3,1],
"functions_func.html":[3,3,1,0],
+"functions_func.html":[3,3,1],
"functions_func_0x7e.html":[3,3,1,19],
"functions_func_b.html":[3,3,1,1],
"functions_func_c.html":[3,3,1,2],
@@ -42,8 +43,8 @@ var NAVTREEINDEX3 =
"functions_t.html":[3,3,0,18],
"functions_u.html":[3,3,0,19],
"functions_v.html":[3,3,0,20],
-"functions_vars.html":[3,3,2],
"functions_vars.html":[3,3,2,0],
+"functions_vars.html":[3,3,2],
"functions_vars_b.html":[3,3,2,1],
"functions_vars_c.html":[3,3,2,2],
"functions_vars_d.html":[3,3,2,3],
@@ -248,6 +249,5 @@ var NAVTREEINDEX3 =
"struct_nv_1_1_blast_1_1_chunk_graph_link.html#a34f96313325afedc1031f0fffdb0f180":[3,0,0,0,11,0],
"struct_nv_1_1_blast_1_1_chunk_graph_link.html#a559b28f8649cc1b6bfabbc36836d313b":[3,0,0,0,11,5],
"struct_nv_1_1_blast_1_1_chunk_graph_link.html#aa70fc086e910c9459cb80e4dd3bc6dcf":[3,0,0,0,11,2],
-"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ab7a24ff58d89fbca8e22a5f3307cac0c":[3,0,0,0,11,3],
-"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ac06fdaba0bc2097db58c1ec408d0776d":[3,0,0,0,11,4]
+"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ab7a24ff58d89fbca8e22a5f3307cac0c":[3,0,0,0,11,3]
};
diff --git a/docs/api_docs/files/navtreeindex4.js b/docs/api_docs/files/navtreeindex4.js
index 887fc63..c96b623 100755
--- a/docs/api_docs/files/navtreeindex4.js
+++ b/docs/api_docs/files/navtreeindex4.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX4 =
{
+"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ac06fdaba0bc2097db58c1ec408d0776d":[3,0,0,0,11,4],
"struct_nv_1_1_blast_1_1_chunk_graph_link.html#ad3027428a05b7319f8b01c690df1918a":[3,0,0,0,11,1],
"struct_nv_1_1_blast_1_1_chunk_info.html":[3,0,0,0,12],
"struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71":[3,0,0,0,12,2],
@@ -9,8 +10,8 @@ var NAVTREEINDEX4 =
"struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c":[3,0,0,0,12,6],
"struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35":[3,0,0,0,12,5],
"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c":[3,0,0,0,12,0],
-"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de":[3,0,0,0,12,0,1],
"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47":[3,0,0,0,12,0,0],
+"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff":[3,0,0,0,12,0,1],
"struct_nv_1_1_blast_1_1_collision_hull.html":[3,0,0,0,13],
"struct_nv_1_1_blast_1_1_collision_hull.html#a21b8e1cfff28fee14678e944df1db2c1":[3,0,0,0,13,0],
"struct_nv_1_1_blast_1_1_collision_hull.html#a3840aa67c32d7e6ef8c8fc1d65e7e6da":[3,0,0,0,13,4],
@@ -248,6 +249,5 @@ var NAVTREEINDEX4 =
"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#ad7fc6cfbd651eef3d621e14df664fc4c":[3,0,0,0,80,1],
"struct_nv_1_1_blast_1_1_profiler_detail.html":[3,0,0,0,82],
"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1f":[3,0,0,0,82,0],
-"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1fa26c8a44b1b01cd578f4121e60acf62bc":[3,0,0,0,82,0,0],
-"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1fa39c81d6175ee0aa27db53d0cd7e944e3":[3,0,0,0,82,0,2]
+"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1fa26c8a44b1b01cd578f4121e60acf62bc":[3,0,0,0,82,0,0]
};
diff --git a/docs/api_docs/files/navtreeindex5.js b/docs/api_docs/files/navtreeindex5.js
index 1be728f..093b293 100755
--- a/docs/api_docs/files/navtreeindex5.js
+++ b/docs/api_docs/files/navtreeindex5.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX5 =
{
+"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1fa39c81d6175ee0aa27db53d0cd7e944e3":[3,0,0,0,82,0,2],
"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1faa045a667a2428770e974158ff5c3f721":[3,0,0,0,82,0,1],
"struct_nv_1_1_blast_1_1_regular_radial_pattern_desc.html":[3,0,0,0,84],
"struct_nv_1_1_blast_1_1_regular_radial_pattern_desc.html#a05be2d62a3e6c523f4fefd38eb051ac3":[3,0,0,0,84,1],
@@ -248,6 +249,5 @@ var NAVTREEINDEX5 =
"struct_nv_blast_graph_shader_actor.html#ae890e417040d5998f4b6a0bc7a317aec":[3,0,27,12],
"struct_nv_blast_graph_shader_actor.html#aeb7929bcf27fd95c49fdd5bd8909a9b9":[3,0,27,6],
"struct_nv_blast_graph_shader_actor.html#aebb7e8d55ddf8cb2ef71326632952cfe":[3,0,27,4],
-"struct_nv_blast_i_d.html":[3,0,28],
-"struct_nv_blast_i_d.html#ae7f7abc9562d83d9537f6c876f4c04e8":[3,0,28,0]
+"struct_nv_blast_i_d.html":[3,0,28]
};
diff --git a/docs/api_docs/files/navtreeindex6.js b/docs/api_docs/files/navtreeindex6.js
index 3cb880e..1ee8b5b 100644
--- a/docs/api_docs/files/navtreeindex6.js
+++ b/docs/api_docs/files/navtreeindex6.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX6 =
{
+"struct_nv_blast_i_d.html#ae7f7abc9562d83d9537f6c876f4c04e8":[3,0,28,0],
"struct_nv_blast_message.html":[3,0,29],
"struct_nv_blast_message.html#aa131d1cdff39661ffe961fa4c24742ce":[3,0,29,0],
"struct_nv_blast_message.html#aa131d1cdff39661ffe961fa4c24742cea1ea5042557bdaca500e32f93c538695a":[3,0,29,0,3],
diff --git a/docs/api_docs/files/pagereleasenotes.html b/docs/api_docs/files/pagereleasenotes.html
index e5a5932..859f9c2 100755
--- a/docs/api_docs/files/pagereleasenotes.html
+++ b/docs/api_docs/files/pagereleasenotes.html
@@ -24,7 +24,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Blast(tm) SDK 1.1.5 (18-Aug-2019)
+Blast(tm) SDK 1.1.5 (16-Sep-2019)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Changes
@@ -33,7 +33,8 @@ Changes
* Numerous API changes to meet new coding conventions.
* Packman package manager updated to v. 5.7.2, cleaned up dependency files.
* Chunks created from islands use padded bounds to determine connectivity.
-* FractureTool::deleteAllChildrenOfChunk renamed FractureTool::deleteChunkSubhierarchy, added ability to delete chunks
+* FractureTool::deleteAllChildrenOfChunk renamed FractureTool::deleteChunkSubhierarchy, added ability to delete chunks.
+* NvBlastAsset::testForValidChunkOrder (used when creating an NvBlastAsset) is now more strict, requiring parent chunk descriptors to come before their children. It is still less strict than the order created by NvBlastBuildAssetDescChunkReorderMap.
New Features
------------
@@ -41,12 +42,16 @@ New Features
* Ability to pass chunk connectivity info to uniteChunks function, enabling chunks split by island detection to be united.
* Option to remove original merged chunks in uniteChunks function.
* The function uniteChunks allows the user to specify a chunk set to merge. Chunks from that set, and all descendants, are considered for merging.
- * Ability to delete chunks (see note about FractureTool::deleteChunkSubhierarchy in Changes section, above)
+ * Ability to delete chunks (see note about FractureTool::deleteChunkSubhierarchy in Changes section, above).
+ * Added FractureTool::setApproximateBonding function. Signals the tool to create bonds by proximity instead of just using cut plane data.
Bug fixes
---------
* Authoring tools:
* Fixed chunk reordering bug in BlastTool.
+ * Chunks which have been merged using the uniteChunks function may be merged again
+ * Restored chunk volume calculation
+* NvBlastBuildAssetDescChunkReorderMap failure cases fixed.
Known Issues
------------
diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
index 27c5201..ee3b930 100755
--- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
+++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
@@ -21,9 +21,9 @@
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>Nv::Blast::ChunkInfo Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> enum value</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a> enum name</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#55d13d994d704a8550474da493b60c67">chunkId</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> enum value</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#2e9936bba91f2ec13692860dfa9a3c71">flags</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#336cac7f249ed366d00bfe3fe4ef611f">isChanged</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#46cb9523bb9c0af0a890ed864560bd02">isLeaf</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
index de24882..2b22a03 100755
--- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
+++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
@@ -29,10 +29,6 @@
<a href="struct_nv_1_1_blast_1_1_chunk_info-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a> { <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
-<a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1
- }</td></tr>
-
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#55d13d994d704a8550474da493b60c67">chunkId</a></td></tr>
@@ -64,7 +60,7 @@
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47"></a><!-- doxytag: member="NO_FLAGS" ref="c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47" args="" -->NO_FLAGS</em>&nbsp;</td><td>
</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de"></a><!-- doxytag: member="CREATED_BY_ISLAND_DETECTOR" ref="c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de" args="" -->CREATED_BY_ISLAND_DETECTOR</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff"></a><!-- doxytag: member="APPROXIMATE_BONDING" ref="c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff" args="" -->APPROXIMATE_BONDING</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
index e193c31..1ca26a4 100755
--- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
+++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
@@ -2,7 +2,7 @@ var struct_nv_1_1_blast_1_1_chunk_info =
[
[ "ChunkFlags", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c", [
[ "NO_FLAGS", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47", null ],
- [ "CREATED_BY_ISLAND_DETECTOR", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de", null ]
+ [ "APPROXIMATE_BONDING", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff", null ]
] ],
[ "chunkId", "struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67", null ],
[ "flags", "struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71", null ],
diff --git a/docs/release_notes.txt b/docs/release_notes.txt
index d5c98b7..4f7ddd6 100755
--- a/docs/release_notes.txt
+++ b/docs/release_notes.txt
@@ -3,7 +3,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Blast(tm) SDK 1.1.5 (18-Aug-2019)
+Blast(tm) SDK 1.1.5 (16-Sep-2019)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Changes
@@ -12,7 +12,8 @@ Changes
* Numerous API changes to meet new coding conventions.
* Packman package manager updated to v. 5.7.2, cleaned up dependency files.
* Chunks created from islands use padded bounds to determine connectivity.
-* FractureTool::deleteAllChildrenOfChunk renamed FractureTool::deleteChunkSubhierarchy, added ability to delete chunks
+* FractureTool::deleteAllChildrenOfChunk renamed FractureTool::deleteChunkSubhierarchy, added ability to delete chunks.
+* NvBlastAsset::testForValidChunkOrder (used when creating an NvBlastAsset) is now more strict, requiring parent chunk descriptors to come before their children. It is still less strict than the order created by NvBlastBuildAssetDescChunkReorderMap.
New Features
------------
@@ -20,12 +21,16 @@ New Features
* Ability to pass chunk connectivity info to uniteChunks function, enabling chunks split by island detection to be united.
* Option to remove original merged chunks in uniteChunks function.
* The function uniteChunks allows the user to specify a chunk set to merge. Chunks from that set, and all descendants, are considered for merging.
- * Ability to delete chunks (see note about FractureTool::deleteChunkSubhierarchy in Changes section, above)
+ * Ability to delete chunks (see note about FractureTool::deleteChunkSubhierarchy in Changes section, above).
+ * Added FractureTool::setApproximateBonding function. Signals the tool to create bonds by proximity instead of just using cut plane data.
Bug fixes
---------
* Authoring tools:
* Fixed chunk reordering bug in BlastTool.
+ * Chunks which have been merged using the uniteChunks function may be merged again
+ * Restored chunk volume calculation
+* NvBlastBuildAssetDescChunkReorderMap failure cases fixed.
Known Issues
------------
diff --git a/docs/source_docs/files/_nv_blast_8h.html b/docs/source_docs/files/_nv_blast_8h.html
index b70d432..ae5675b 100755
--- a/docs/source_docs/files/_nv_blast_8h.html
+++ b/docs/source_docs/files/_nv_blast_8h.html
@@ -1768,7 +1768,7 @@ Iff chunks are already ordered correctly, function returns 'true' and identity c
<tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>chunkReorderMap</em>&nbsp;</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>&nbsp;</td><td valign="top"><em>chunkDescs</em>&nbsp;</td><td>Array of chunk descriptors of size chunkCount. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>chunkCount</em>&nbsp;</td><td>The number of chunk descriptors. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scratch</em>&nbsp;</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>&nbsp;</td><td valign="top"><em>scratch</em>&nbsp;</td><td>User-supplied scratch storage, must point to 3 * chunkCount * sizeof(uint32_t) valid bytes of memory. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>logFn</em>&nbsp;</td><td>User-supplied message function (see NvBlastLog definition). May be NULL.</td></tr>
</table>
</dl>
diff --git a/docs/source_docs/files/_nv_blast_actor_8h_source.html b/docs/source_docs/files/_nv_blast_actor_8h_source.html
index b600574..339d3a7 100755
--- a/docs/source_docs/files/_nv_blast_actor_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_actor_8h_source.html
@@ -92,13 +92,13 @@ $(document).ready(function(){initNavTree('_nv_blast_actor_8h_source.html','');})
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html_a7ac1d96307c55e4c1a6e0e717b51bf19"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html#a7ac1d96307c55e4c1a6e0e717b51bf19">Nv::Blast::Actor::isBoundToWorld</a></div><div class="ttdeci">bool isBoundToWorld() const</div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:675</div></div>
<div class="ttc" id="struct_nv_blast_actor_split_event_html"><div class="ttname"><a href="struct_nv_blast_actor_split_event.html">NvBlastActorSplitEvent</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:481</div></div>
<div class="ttc" id="struct_nv_blast_chunk_html_ad5a53684d0123f6536598896f672b719"><div class="ttname"><a href="struct_nv_blast_chunk.html#ad5a53684d0123f6536598896f672b719">NvBlastChunk::childIndexStop</a></div><div class="ttdeci">uint32_t childIndexStop</div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:177</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:206</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:207</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_ab1500a7965fb35635af84a091cf399e1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#ab1500a7965fb35635af84a091cf399e1">Nv::Blast::FamilyHeader::m_asset</a></div><div class="ttdeci">const Asset * m_asset</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:148</div></div>
<div class="ttc" id="_nv_blast_d_link_8h_html"><div class="ttname"><a href="_nv_blast_d_link_8h.html">NvBlastDLink.h</a></div></div>
<div class="ttc" id="struct_nv_blast_fracture_buffers_html_a6e0a226d98a23de576d376c4bf9fc356"><div class="ttname"><a href="struct_nv_blast_fracture_buffers.html#a6e0a226d98a23de576d376c4bf9fc356">NvBlastFractureBuffers::bondFractureCount</a></div><div class="ttdeci">uint32_t bondFractureCount</div><div class="ttdoc">available elements in bondFractures </div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:470</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html_a6cce3be1f2ac658373f2a8b8f70439d6"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html#a6cce3be1f2ac658373f2a8b8f70439d6">Nv::Blast::Actor::getGraph</a></div><div class="ttdeci">const SupportGraph * getGraph() const</div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:575</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html_a2a26a08388a39786561c638553922222"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html#a2a26a08388a39786561c638553922222">Nv::Blast::Actor::getSubsupportChunkHealths</a></div><div class="ttdeci">float * getSubsupportChunkHealths() const</div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:600</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">Nv::Blast::Asset::DepthFirstIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:252</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">Nv::Blast::Asset::DepthFirstIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:253</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html_a372818aee680b0cefdcd27010234826e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html#a372818aee680b0cefdcd27010234826e">Nv::Blast::Actor::findIslands</a></div><div class="ttdeci">uint32_t findIslands(void *scratch)</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor_1_1_visible_chunk_it.html">Nv::Blast::Actor::VisibleChunkIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:233</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html_a77bba44beb744d8cb6250b6590602746"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html#a77bba44beb744d8cb6250b6590602746">Nv::Blast::Actor::serializationRequiredStorage</a></div><div class="ttdeci">uint32_t serializationRequiredStorage(NvBlastLog logFn) const</div></div>
@@ -113,7 +113,7 @@ $(document).ready(function(){initNavTree('_nv_blast_actor_8h_source.html','');})
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a58c464d4f1ab0736c2a55e034d5b0223"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a58c464d4f1ab0736c2a55e034d5b0223">Nv::Blast::FamilyHeader::getSubsupportChunkHealths</a></div><div class="ttdeci">float * getSubsupportChunkHealths() const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:113</div></div>
<div class="ttc" id="_nv_blast_preprocessor_internal_8h_html"><div class="ttname"><a href="_nv_blast_preprocessor_internal_8h.html">NvBlastPreprocessorInternal.h</a></div></div>
<div class="ttc" id="_nv_blast_family_8h_html"><div class="ttname"><a href="_nv_blast_family_8h.html">NvBlastFamily.h</a></div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:196</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:197</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_l_list_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_l_list_it.html">Nv::Blast::LListIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastIteratorBase.h:88</div></div>
<div class="ttc" id="struct_nv_blast_fracture_buffers_html"><div class="ttname"><a href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:468</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html">Nv::Blast::Actor</a></div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:58</div></div>
diff --git a/docs/source_docs/files/_nv_blast_asset_8h-source.html b/docs/source_docs/files/_nv_blast_asset_8h-source.html
index 607e77a..e597ad4 100755
--- a/docs/source_docs/files/_nv_blast_asset_8h-source.html
+++ b/docs/source_docs/files/_nv_blast_asset_8h-source.html
@@ -120,93 +120,93 @@
<a name="l00136"></a>00136
<a name="l00156"></a>00156 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#14908228fdf062c9b39b76ce027feedc">ensureExactSupportCoverage</a>(uint32_t&amp; supportChunkCount, uint32_t&amp; leafChunkCount, <span class="keywordtype">char</span>* chunkAnnotation, uint32_t chunkCount, <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keywordtype">bool</span> testOnly, <a class="code" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn);
<a name="l00157"></a>00157
-<a name="l00173"></a>00173 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d8dea6287a5ffcab093b7b79b6266033">testForValidChunkOrder</a>(uint32_t chunkCount, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keyword">const</span> <span class="keywordtype">char</span>* chunkAnnotation, <span class="keywordtype">void</span>* scratch);
-<a name="l00174"></a>00174
+<a name="l00174"></a>00174 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d8dea6287a5ffcab093b7b79b6266033">testForValidChunkOrder</a>(uint32_t chunkCount, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keyword">const</span> <span class="keywordtype">char</span>* chunkAnnotation, <span class="keywordtype">void</span>* scratch);
<a name="l00175"></a>00175
-<a name="l00177"></a>00177
-<a name="l00181"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#5922a3310ddab6fd4e9bedbf23c8dd1a">00181</a> <a class="code" href="struct_nv_blast_data_block.html">NvBlastDataBlock</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#5922a3310ddab6fd4e9bedbf23c8dd1a">m_header</a>;
-<a name="l00182"></a>00182
-<a name="l00186"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#68b3de340801db06e5e057434ca6137e">00186</a> <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#68b3de340801db06e5e057434ca6137e">m_ID</a>;
-<a name="l00187"></a>00187
-<a name="l00191"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">00191</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;
-<a name="l00192"></a>00192
-<a name="l00196"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">00196</a> <a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html">SupportGraph</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>;
-<a name="l00197"></a>00197
-<a name="l00201"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#97582e0fbb4b6c1b36ec613c850bc3b4">00201</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#97582e0fbb4b6c1b36ec613c850bc3b4">m_leafChunkCount</a>;
-<a name="l00202"></a>00202
-<a name="l00206"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">00206</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;
-<a name="l00207"></a>00207
-<a name="l00211"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">00211</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>;
-<a name="l00212"></a>00212
-<a name="l00218"></a>00218 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>, m_chunksOffset, getChunks, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
-<a name="l00219"></a>00219
-<a name="l00228"></a>00228 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>, m_bondsOffset, getBonds, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>);
-<a name="l00229"></a>00229
-<a name="l00236"></a>00236 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
-<a name="l00237"></a>00237
-<a name="l00243"></a>00243 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
-<a name="l00244"></a>00244
+<a name="l00176"></a>00176
+<a name="l00178"></a>00178
+<a name="l00182"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#5922a3310ddab6fd4e9bedbf23c8dd1a">00182</a> <a class="code" href="struct_nv_blast_data_block.html">NvBlastDataBlock</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#5922a3310ddab6fd4e9bedbf23c8dd1a">m_header</a>;
+<a name="l00183"></a>00183
+<a name="l00187"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#68b3de340801db06e5e057434ca6137e">00187</a> <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#68b3de340801db06e5e057434ca6137e">m_ID</a>;
+<a name="l00188"></a>00188
+<a name="l00192"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">00192</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;
+<a name="l00193"></a>00193
+<a name="l00197"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">00197</a> <a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html">SupportGraph</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>;
+<a name="l00198"></a>00198
+<a name="l00202"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#97582e0fbb4b6c1b36ec613c850bc3b4">00202</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#97582e0fbb4b6c1b36ec613c850bc3b4">m_leafChunkCount</a>;
+<a name="l00203"></a>00203
+<a name="l00207"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">00207</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;
+<a name="l00208"></a>00208
+<a name="l00212"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">00212</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>;
+<a name="l00213"></a>00213
+<a name="l00219"></a>00219 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>, m_chunksOffset, getChunks, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
+<a name="l00220"></a>00220
+<a name="l00229"></a>00229 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>, m_bondsOffset, getBonds, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#afdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>);
+<a name="l00230"></a>00230
+<a name="l00237"></a>00237 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
+<a name="l00238"></a>00238
+<a name="l00244"></a>00244 <a class="code" href="class_nv_1_1_blast_1_1_asset.html#93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
<a name="l00245"></a>00245
-<a name="l00247"></a>00247
-<a name="l00252"></a><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">00252</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>
-<a name="l00253"></a>00253 {
-<a name="l00254"></a>00254 <span class="keyword">public</span>:
-<a name="l00256"></a><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#8310079aa0f6e7b2ff0c5feaef88c0ca">00256</a> <a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>&amp; asset, uint32_t startChunkIndex, <span class="keywordtype">bool</span> upperSupportOnly = <span class="keyword">false</span>) :
-<a name="l00257"></a>00257 <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">getUpperSupportChunkCount</a>() : asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>) {}
-<a name="l00258"></a>00258 };
-<a name="l00259"></a>00259 };
-<a name="l00260"></a>00260
+<a name="l00246"></a>00246
+<a name="l00248"></a>00248
+<a name="l00253"></a><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">00253</a> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>
+<a name="l00254"></a>00254 {
+<a name="l00255"></a>00255 <span class="keyword">public</span>:
+<a name="l00257"></a><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#8310079aa0f6e7b2ff0c5feaef88c0ca">00257</a> <a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>&amp; asset, uint32_t startChunkIndex, <span class="keywordtype">bool</span> upperSupportOnly = <span class="keyword">false</span>) :
+<a name="l00258"></a>00258 <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">getUpperSupportChunkCount</a>() : asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>) {}
+<a name="l00259"></a>00259 };
+<a name="l00260"></a>00260 };
<a name="l00261"></a>00261
-<a name="l00263"></a>00263
-<a name="l00264"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">00264</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">Asset::getUpperSupportChunkCount</a>()<span class="keyword"> const</span>
-<a name="l00265"></a>00265 <span class="keyword"></span>{
-<a name="l00266"></a>00266 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;
-<a name="l00267"></a>00267 }
-<a name="l00268"></a>00268
+<a name="l00262"></a>00262
+<a name="l00264"></a>00264
+<a name="l00265"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">00265</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#60aa9c06e57f369ed24c185bb9769ddc">Asset::getUpperSupportChunkCount</a>()<span class="keyword"> const</span>
+<a name="l00266"></a>00266 <span class="keyword"></span>{
+<a name="l00267"></a>00267 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;
+<a name="l00268"></a>00268 }
<a name="l00269"></a>00269
-<a name="l00270"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#0b0439d2efbbf360b98342720126deb2">00270</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#0b0439d2efbbf360b98342720126deb2">Asset::getLowerSupportChunkCount</a>()<span class="keyword"> const</span>
-<a name="l00271"></a>00271 <span class="keyword"></span>{
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a> + (<a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a> - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>);
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274
+<a name="l00270"></a>00270
+<a name="l00271"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#0b0439d2efbbf360b98342720126deb2">00271</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#0b0439d2efbbf360b98342720126deb2">Asset::getLowerSupportChunkCount</a>()<span class="keyword"> const</span>
+<a name="l00272"></a>00272 <span class="keyword"></span>{
+<a name="l00273"></a>00273 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a> + (<a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a> - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>);
+<a name="l00274"></a>00274 }
<a name="l00275"></a>00275
-<a name="l00276"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#3b4976a2cdaf417d35fe5dffdd8b7374">00276</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#3b4976a2cdaf417d35fe5dffdd8b7374">Asset::getBondCount</a>()<span class="keyword"> const</span>
-<a name="l00277"></a>00277 <span class="keyword"></span>{
-<a name="l00278"></a>00278 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] &amp; 1) == 0); <span class="comment">// The bidirectional graph data should have an even number of edges</span>
-<a name="l00279"></a>00279 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] / 2; <span class="comment">// Directional bonds, divide by two</span>
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
+<a name="l00276"></a>00276
+<a name="l00277"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#3b4976a2cdaf417d35fe5dffdd8b7374">00277</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#3b4976a2cdaf417d35fe5dffdd8b7374">Asset::getBondCount</a>()<span class="keyword"> const</span>
+<a name="l00278"></a>00278 <span class="keyword"></span>{
+<a name="l00279"></a>00279 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] &amp; 1) == 0); <span class="comment">// The bidirectional graph data should have an even number of edges</span>
+<a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] / 2; <span class="comment">// Directional bonds, divide by two</span>
+<a name="l00281"></a>00281 }
<a name="l00282"></a>00282
-<a name="l00283"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#8ad946e6215f8a15d0d6d4e79f21202b">00283</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#8ad946e6215f8a15d0d6d4e79f21202b">Asset::getHierarchyCount</a>()<span class="keyword"> const</span>
-<a name="l00284"></a>00284 <span class="keyword"></span>{
-<a name="l00285"></a>00285 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* chunks = getChunks();
-<a name="l00286"></a>00286 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>; ++i)
-<a name="l00287"></a>00287 {
-<a name="l00288"></a>00288 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunks[i].parentChunkIndex))
-<a name="l00289"></a>00289 {
-<a name="l00290"></a>00290 <span class="keywordflow">return</span> i;
-<a name="l00291"></a>00291 }
-<a name="l00292"></a>00292 }
-<a name="l00293"></a>00293 <span class="keywordflow">return</span> m_chunkCount;
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295
+<a name="l00283"></a>00283
+<a name="l00284"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#8ad946e6215f8a15d0d6d4e79f21202b">00284</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#8ad946e6215f8a15d0d6d4e79f21202b">Asset::getHierarchyCount</a>()<span class="keyword"> const</span>
+<a name="l00285"></a>00285 <span class="keyword"></span>{
+<a name="l00286"></a>00286 <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* chunks = getChunks();
+<a name="l00287"></a>00287 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>; ++i)
+<a name="l00288"></a>00288 {
+<a name="l00289"></a>00289 <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a5e952ab38e3501215eee523cb0a0d20">isInvalidIndex</a>(chunks[i].parentChunkIndex))
+<a name="l00290"></a>00290 {
+<a name="l00291"></a>00291 <span class="keywordflow">return</span> i;
+<a name="l00292"></a>00292 }
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294 <span class="keywordflow">return</span> m_chunkCount;
+<a name="l00295"></a>00295 }
<a name="l00296"></a>00296
-<a name="l00297"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#0db3cb362aad67c63e682c9d9fe8bbb2">00297</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#0db3cb362aad67c63e682c9d9fe8bbb2">Asset::getContiguousLowerSupportIndex</a>(uint32_t chunkIndex)<span class="keyword"> const</span>
-<a name="l00298"></a>00298 <span class="keyword"></span>{
-<a name="l00299"></a>00299 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
-<a name="l00300"></a>00300
-<a name="l00301"></a>00301 <span class="keywordflow">return</span> chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> + <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>);
-<a name="l00302"></a>00302 }
-<a name="l00303"></a>00303
+<a name="l00297"></a>00297
+<a name="l00298"></a><a class="code" href="class_nv_1_1_blast_1_1_asset.html#0db3cb362aad67c63e682c9d9fe8bbb2">00298</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#0db3cb362aad67c63e682c9d9fe8bbb2">Asset::getContiguousLowerSupportIndex</a>(uint32_t chunkIndex)<span class="keyword"> const</span>
+<a name="l00299"></a>00299 <span class="keyword"></span>{
+<a name="l00300"></a>00300 <a class="code" href="_nv_blast_assert_8h.html#2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keywordflow">return</span> chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> + <a class="code" href="class_nv_1_1_blast_1_1_asset.html#d07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>);
+<a name="l00303"></a>00303 }
<a name="l00304"></a>00304
-<a name="l00305"></a>00305 <span class="comment">//JDM: Expose this so serialization layer can use it.</span>
-<a name="l00306"></a>00306 <a class="code" href="_nv_blast_preprocessor_8h.html#e5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="namespace_nv_1_1_blast.html#ae75b7f94762b03efcbbe11cb3752ef1">initializeAsset</a>(<span class="keywordtype">void</span>* mem, <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <span class="keywordtype">id</span>, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, <a class="code" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn);
-<a name="l00307"></a>00307
-<a name="l00308"></a>00308 } <span class="comment">// namespace Blast</span>
-<a name="l00309"></a>00309 } <span class="comment">// namespace Nv</span>
-<a name="l00310"></a>00310
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306 <span class="comment">//JDM: Expose this so serialization layer can use it.</span>
+<a name="l00307"></a>00307 <a class="code" href="_nv_blast_preprocessor_8h.html#e5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="namespace_nv_1_1_blast.html#ae75b7f94762b03efcbbe11cb3752ef1">initializeAsset</a>(<span class="keywordtype">void</span>* mem, <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <span class="keywordtype">id</span>, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, <a class="code" href="_nv_blast_types_8h.html#fa1be237d696dc68e343189c19cc76e0">NvBlastLog</a> logFn);
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309 } <span class="comment">// namespace Blast</span>
+<a name="l00310"></a>00310 } <span class="comment">// namespace Nv</span>
<a name="l00311"></a>00311
-<a name="l00312"></a>00312 <span class="preprocessor">#endif // ifndef NVBLASTASSET_H</span>
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313 <span class="preprocessor">#endif // ifndef NVBLASTASSET_H</span>
</pre></div></div>
<!-- start footer part -->
<div class="footer">
diff --git a/docs/source_docs/files/_nv_blast_asset_8h_source.html b/docs/source_docs/files/_nv_blast_asset_8h_source.html
index 98b074a..abfb857 100755
--- a/docs/source_docs/files/_nv_blast_asset_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_asset_8h_source.html
@@ -46,7 +46,7 @@ $(document).ready(function(){initNavTree('_nv_blast_asset_8h_source.html','');})
<div class="title">NvBlastAsset.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_asset_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTASSET_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTASSET_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_support_graph_8h.html">NvBlastSupportGraph.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_8h.html">NvBlast.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_index_fns_8h.html">NvBlastIndexFns.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_chunk_hierarchy_8h.html">NvBlastChunkHierarchy.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a> : <span class="keyword">public</span> <a class="code" href="struct_nv_blast_asset.html">NvBlastAsset</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html"> 52</a></span>&#160; <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html">ChunkAnnotation</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1"> 54</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1">Enum</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960"> 56</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960">Parent</a> = (1 &lt;&lt; 0),</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab"> 57</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab">Support</a> = (1 &lt;&lt; 1),</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c"> 58</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">SuperSupport</a> = (1 &lt;&lt; 2),</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Combinations</span></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944"> 61</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944">UpperSupport</a> = <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab">Support</a> | <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">SuperSupport</a></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; };</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; };</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad6dc3a8db8057eee30b10dff9680595c">create</a>(<span class="keywordtype">void</span>* mem, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc, <span class="keywordtype">void</span>* scratch, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a13e1d7037123db8187bc4620a7f2e97a">getMemorySize</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab7a7be3a23d3cebbf4be3ef8f1b442c6">createRequiredScratch</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">getUpperSupportChunkCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">getLowerSupportChunkCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">getBondCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">getHierarchyCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">getContiguousLowerSupportIndex</a>(uint32_t chunkIndex) <span class="keyword">const</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// Static functions</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a14908228fdf062c9b39b76ce027feedc">ensureExactSupportCoverage</a>(uint32_t&amp; supportChunkCount, uint32_t&amp; leafChunkCount, <span class="keywordtype">char</span>* chunkAnnotation, uint32_t chunkCount, <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keywordtype">bool</span> testOnly, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad8dea6287a5ffcab093b7b79b6266033">testForValidChunkOrder</a>(uint32_t chunkCount, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keyword">const</span> <span class="keywordtype">char</span>* chunkAnnotation, <span class="keywordtype">void</span>* scratch);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a"> 181</a></span>&#160; <a class="code" href="struct_nv_blast_data_block.html">NvBlastDataBlock</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a">m_header</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e"> 186</a></span>&#160; <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e">m_ID</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177"> 191</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd"> 196</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html">SupportGraph</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4"> 201</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4">m_leafChunkCount</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9"> 206</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2"> 211</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>, m_chunksOffset, getChunks, m_chunkCount);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>, m_bondsOffset, getBonds, m_bondCount);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, m_chunkCount);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, m_chunkCount);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html"> 252</a></span>&#160; <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da"> 256</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da">DepthFirstIt</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>&amp; asset, uint32_t startChunkIndex, <span class="keywordtype">bool</span> upperSupportOnly = <span class="keyword">false</span>) :</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">getUpperSupportChunkCount</a>() : asset.m_chunkCount) {}</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;};</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331"> 264</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Asset::getUpperSupportChunkCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;}</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc"> 270</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Asset::getLowerSupportChunkCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a> + (<a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a> - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470"> 276</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Asset::getBondCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="_nv_blast_assert_8h.html#a2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] &amp; 1) == 0); <span class="comment">// The bidirectional graph data should have an even number of edges</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] / 2; <span class="comment">// Directional bonds, divide by two</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a"> 283</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">Asset::getHierarchyCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* chunks = getChunks();</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>; ++i)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a957511eee89321883f3507e0cd310a41">isInvalidIndex</a>(chunks[i].parentChunkIndex))</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> i;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;}</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485"> 297</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">Asset::getContiguousLowerSupportIndex</a>(uint32_t chunkIndex)<span class="keyword"> const</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="_nv_blast_assert_8h.html#a2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> + <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;}</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment">//JDM: Expose this so serialization layer can use it.</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<a class="code" href="_nv_blast_preprocessor_8h.html#ae5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="namespace_nv_1_1_blast.html#aae75b7f94762b03efcbbe11cb3752ef1">initializeAsset</a>(<span class="keywordtype">void</span>* mem, <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <span class="keywordtype">id</span>, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTASSET_H</span></div><div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_aafdb7951c9cc382b47f65c9bcd68e2a2"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2">Nv::Blast::Asset::m_bondCount</a></div><div class="ttdeci">uint32_t m_bondCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:211</div></div>
+<a href="_nv_blast_asset_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTASSET_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTASSET_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_support_graph_8h.html">NvBlastSupportGraph.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_8h.html">NvBlast.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_assert_8h.html">NvBlastAssert.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_index_fns_8h.html">NvBlastIndexFns.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_chunk_hierarchy_8h.html">NvBlastChunkHierarchy.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a> : <span class="keyword">public</span> <a class="code" href="struct_nv_blast_asset.html">NvBlastAsset</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html"> 52</a></span>&#160; <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html">ChunkAnnotation</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1"> 54</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1">Enum</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960"> 56</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960">Parent</a> = (1 &lt;&lt; 0),</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab"> 57</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab">Support</a> = (1 &lt;&lt; 1),</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c"> 58</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">SuperSupport</a> = (1 &lt;&lt; 2),</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Combinations</span></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944"> 61</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944">UpperSupport</a> = <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab">Support</a> | <a class="code" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">SuperSupport</a></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; };</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; };</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">static</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad6dc3a8db8057eee30b10dff9680595c">create</a>(<span class="keywordtype">void</span>* mem, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc, <span class="keywordtype">void</span>* scratch, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a13e1d7037123db8187bc4620a7f2e97a">getMemorySize</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab7a7be3a23d3cebbf4be3ef8f1b442c6">createRequiredScratch</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a>* desc);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">getUpperSupportChunkCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">getLowerSupportChunkCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">getBondCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">getHierarchyCount</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">getContiguousLowerSupportIndex</a>(uint32_t chunkIndex) <span class="keyword">const</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// Static functions</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a14908228fdf062c9b39b76ce027feedc">ensureExactSupportCoverage</a>(uint32_t&amp; supportChunkCount, uint32_t&amp; leafChunkCount, <span class="keywordtype">char</span>* chunkAnnotation, uint32_t chunkCount, <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keywordtype">bool</span> testOnly, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad8dea6287a5ffcab093b7b79b6266033">testForValidChunkOrder</a>(uint32_t chunkCount, <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>* chunkDescs, <span class="keyword">const</span> <span class="keywordtype">char</span>* chunkAnnotation, <span class="keywordtype">void</span>* scratch);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a"> 182</a></span>&#160; <a class="code" href="struct_nv_blast_data_block.html">NvBlastDataBlock</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a">m_header</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e"> 187</a></span>&#160; <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e">m_ID</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177"> 192</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd"> 197</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html">SupportGraph</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4"> 202</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4">m_leafChunkCount</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9"> 207</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2"> 212</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2">m_bondCount</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>, m_chunksOffset, getChunks, m_chunkCount);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(<a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>, m_bondsOffset, getBonds, m_bondCount);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_subtreeLeafChunkCountsOffset, getSubtreeLeafChunkCounts, m_chunkCount);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">NvBlastBlockArrayData</a>(uint32_t, m_chunkToGraphNodeMapOffset, getChunkToGraphNodeMap, m_chunkCount);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html"> 253</a></span>&#160; <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">DepthFirstIt</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da"> 257</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da">DepthFirstIt</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>&amp; asset, uint32_t startChunkIndex, <span class="keywordtype">bool</span> upperSupportOnly = <span class="keyword">false</span>) :</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">ChunkDepthFirstIt</a>(asset.getChunks(), startChunkIndex, upperSupportOnly ? asset.<a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">getUpperSupportChunkCount</a>() : asset.m_chunkCount) {}</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; };</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;};</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331"> 265</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Asset::getUpperSupportChunkCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc"> 271</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Asset::getLowerSupportChunkCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a> + (<a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a> - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a>);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;}</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470"> 277</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Asset::getBondCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="_nv_blast_assert_8h.html#a2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>((<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] &amp; 1) == 0); <span class="comment">// The bidirectional graph data should have an even number of edges</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.getAdjacencyPartition()[<a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>] / 2; <span class="comment">// Directional bonds, divide by two</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a"> 284</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">Asset::getHierarchyCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_blast_chunk.html">NvBlastChunk</a>* chunks = getChunks();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>; ++i)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespace_nv_1_1_blast.html#a957511eee89321883f3507e0cd310a41">isInvalidIndex</a>(chunks[i].parentChunkIndex))</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> i;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;}</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485"> 298</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> uint32_t <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">Asset::getContiguousLowerSupportIndex</a>(uint32_t chunkIndex)<span class="keyword"> const</span></div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="_nv_blast_assert_8h.html#a2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a>(chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">m_chunkCount</a>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> chunkIndex &lt; <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> ? getChunkToGraphNodeMap()[chunkIndex] : (chunkIndex - <a class="code" href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">m_firstSubsupportChunkIndex</a> + <a class="code" href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">m_graph</a>.<a class="code" href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">m_nodeCount</a>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;}</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment">//JDM: Expose this so serialization layer can use it.</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<a class="code" href="_nv_blast_preprocessor_8h.html#ae5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a> <a class="code" href="class_nv_1_1_blast_1_1_asset.html">Asset</a>* <a class="code" href="namespace_nv_1_1_blast.html#aae75b7f94762b03efcbbe11cb3752ef1">initializeAsset</a>(<span class="keywordtype">void</span>* mem, <a class="code" href="struct_nv_blast_i_d.html">NvBlastID</a> <span class="keywordtype">id</span>, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, <a class="code" href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a> logFn);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTASSET_H</span></div><div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_aafdb7951c9cc382b47f65c9bcd68e2a2"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2">Nv::Blast::Asset::m_bondCount</a></div><div class="ttdeci">uint32_t m_bondCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:212</div></div>
<div class="ttc" id="_nv_blast_8h_html"><div class="ttname"><a href="_nv_blast_8h.html">NvBlast.h</a></div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a13e1d7037123db8187bc4620a7f2e97a"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a13e1d7037123db8187bc4620a7f2e97a">Nv::Blast::Asset::getMemorySize</a></div><div class="ttdeci">static size_t getMemorySize(const NvBlastAssetDesc *desc)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_support_graph_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_support_graph.html">Nv::Blast::SupportGraph</a></div><div class="ttdef"><b>Definition:</b> NvBlastSupportGraph.h:76</div></div>
@@ -54,12 +54,12 @@ $(document).ready(function(){initNavTree('_nv_blast_asset_8h_source.html','');})
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html_afdc7db1ba5c96b0e9fc3d8a0c57c29e1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1">Nv::Blast::Asset::ChunkAnnotation::Enum</a></div><div class="ttdeci">Enum</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:54</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_chunk_depth_first_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_chunk_depth_first_it.html">Nv::Blast::ChunkDepthFirstIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastChunkHierarchy.h:49</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html">Nv::Blast::Asset::ChunkAnnotation</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:52</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a623e6e17f164872ebee9b411cce23470"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Nv::Blast::Asset::getBondCount</a></div><div class="ttdeci">uint32_t getBondCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:276</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a623e6e17f164872ebee9b411cce23470"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Nv::Blast::Asset::getBondCount</a></div><div class="ttdeci">uint32_t getBondCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:277</div></div>
<div class="ttc" id="struct_nv_blast_asset_desc_html"><div class="ttname"><a href="struct_nv_blast_asset_desc.html">NvBlastAssetDesc</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:345</div></div>
<div class="ttc" id="_nv_blast_support_graph_8h_html"><div class="ttname"><a href="_nv_blast_support_graph_8h.html">NvBlastSupportGraph.h</a></div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad8dea6287a5ffcab093b7b79b6266033"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad8dea6287a5ffcab093b7b79b6266033">Nv::Blast::Asset::testForValidChunkOrder</a></div><div class="ttdeci">static bool testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc *chunkDescs, const char *chunkAnnotation, void *scratch)</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_a957511eee89321883f3507e0cd310a41"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a957511eee89321883f3507e0cd310a41">Nv::Blast::isInvalidIndex</a></div><div class="ttdeci">NV_INLINE bool isInvalidIndex(T index)</div><div class="ttdef"><b>Definition:</b> NvBlastIndexFns.h:57</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a97582e0fbb4b6c1b36ec613c850bc3b4"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4">Nv::Blast::Asset::m_leafChunkCount</a></div><div class="ttdeci">uint32_t m_leafChunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:201</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a97582e0fbb4b6c1b36ec613c850bc3b4"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4">Nv::Blast::Asset::m_leafChunkCount</a></div><div class="ttdeci">uint32_t m_leafChunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:202</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html_afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1ae6aa155c5bf1ea23255628381c113960">Nv::Blast::Asset::ChunkAnnotation::Parent</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:56</div></div>
<div class="ttc" id="_nv_blast_types_8h_html_aca9b64ae20263de0d18e0f58cb51b1ab"><div class="ttname"><a href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a></div><div class="ttdeci">void(* NvBlastLog)(int type, const char *msg, const char *file, int line)</div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:63</div></div>
<div class="ttc" id="_nv_blast_assert_8h_html_a2b179fca67cdb57b12b65e33fe3f6c93"><div class="ttname"><a href="_nv_blast_assert_8h.html#a2b179fca67cdb57b12b65e33fe3f6c93">NVBLAST_ASSERT</a></div><div class="ttdeci">#define NVBLAST_ASSERT(exp)</div><div class="ttdef"><b>Definition:</b> NvBlastAssert.h:37</div></div>
@@ -69,28 +69,28 @@ $(document).ready(function(){initNavTree('_nv_blast_asset_8h_source.html','');})
<div class="ttc" id="struct_nv_blast_data_block_html"><div class="ttname"><a href="struct_nv_blast_data_block.html">NvBlastDataBlock</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:98</div></div>
<div class="ttc" id="_nv_blast_chunk_hierarchy_8h_html"><div class="ttname"><a href="_nv_blast_chunk_hierarchy_8h.html">NvBlastChunkHierarchy.h</a></div></div>
<div class="ttc" id="_nv_blast_preprocessor_8h_html_ae5c980f1b9848025a2fefa05a9d3bce1"><div class="ttname"><a href="_nv_blast_preprocessor_8h.html#ae5c980f1b9848025a2fefa05a9d3bce1">NVBLAST_API</a></div><div class="ttdeci">#define NVBLAST_API</div><div class="ttdef"><b>Definition:</b> NvBlastPreprocessor.h:37</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:206</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html_a864d43b36048330ee9facb7ec74368da"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da">Nv::Blast::Asset::DepthFirstIt::DepthFirstIt</a></div><div class="ttdeci">DepthFirstIt(const Asset &amp;asset, uint32_t startChunkIndex, bool upperSupportOnly=false)</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:256</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">Nv::Blast::Asset::DepthFirstIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:252</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:207</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html_a864d43b36048330ee9facb7ec74368da"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html#a864d43b36048330ee9facb7ec74368da">Nv::Blast::Asset::DepthFirstIt::DepthFirstIt</a></div><div class="ttdeci">DepthFirstIt(const Asset &amp;asset, uint32_t startChunkIndex, bool upperSupportOnly=false)</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:257</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset_1_1_depth_first_it.html">Nv::Blast::Asset::DepthFirstIt</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:253</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_aae75b7f94762b03efcbbe11cb3752ef1"><div class="ttname"><a href="namespace_nv_1_1_blast.html#aae75b7f94762b03efcbbe11cb3752ef1">Nv::Blast::initializeAsset</a></div><div class="ttdeci">NVBLAST_API Asset * initializeAsset(void *mem, NvBlastID id, uint32_t chunkCount, uint32_t graphNodeCount, uint32_t leafChunkCount, uint32_t firstSubsupportChunkIndex, uint32_t bondCount, NvBlastLog logFn)</div></div>
<div class="ttc" id="group__foundation_html_ga36a01a4a51968418a26b06da7e1ad5d0"><div class="ttname"><a href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a></div><div class="ttdeci">#define NV_INLINE</div><div class="ttdef"><b>Definition:</b> NvPreprocessor.h:350</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_support_graph_html_a8e25ca3c8d3213c3737e53b7094431d1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">Nv::Blast::SupportGraph::m_nodeCount</a></div><div class="ttdeci">uint32_t m_nodeCount</div><div class="ttdef"><b>Definition:</b> NvBlastSupportGraph.h:81</div></div>
<div class="ttc" id="struct_nv_blast_i_d_html"><div class="ttname"><a href="struct_nv_blast_i_d.html">NvBlastID</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:69</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ab422282c61d3c1aca41f3ecf77c78485"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">Nv::Blast::Asset::getContiguousLowerSupportIndex</a></div><div class="ttdeci">uint32_t getContiguousLowerSupportIndex(uint32_t chunkIndex) const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:297</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_af7a3e783e9997c651d0343cfc76faedc"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Nv::Blast::Asset::getLowerSupportChunkCount</a></div><div class="ttdeci">uint32_t getLowerSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:270</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a5922a3310ddab6fd4e9bedbf23c8dd1a"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a">Nv::Blast::Asset::m_header</a></div><div class="ttdeci">NvBlastDataBlock m_header</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:181</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ab422282c61d3c1aca41f3ecf77c78485"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485">Nv::Blast::Asset::getContiguousLowerSupportIndex</a></div><div class="ttdeci">uint32_t getContiguousLowerSupportIndex(uint32_t chunkIndex) const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:298</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_af7a3e783e9997c651d0343cfc76faedc"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Nv::Blast::Asset::getLowerSupportChunkCount</a></div><div class="ttdeci">uint32_t getLowerSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:271</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a5922a3310ddab6fd4e9bedbf23c8dd1a"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a5922a3310ddab6fd4e9bedbf23c8dd1a">Nv::Blast::Asset::m_header</a></div><div class="ttdeci">NvBlastDataBlock m_header</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:182</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html_afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1aae8da77ed8a1e3151f11db8f3e55f944">Nv::Blast::Asset::ChunkAnnotation::UpperSupport</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:61</div></div>
<div class="ttc" id="struct_nv_blast_chunk_desc_html"><div class="ttname"><a href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:292</div></div>
<div class="ttc" id="struct_nv_blast_chunk_html"><div class="ttname"><a href="struct_nv_blast_chunk.html">NvBlastChunk</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:152</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:196</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:197</div></div>
<div class="ttc" id="struct_nv_blast_asset_html"><div class="ttname"><a href="struct_nv_blast_asset.html">NvBlastAsset</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:286</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad6dc3a8db8057eee30b10dff9680595c"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset::create</a></div><div class="ttdeci">static Asset * create(void *mem, const NvBlastAssetDesc *desc, void *scratch, NvBlastLog logFn)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html_afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">Nv::Blast::Asset::ChunkAnnotation::SuperSupport</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:58</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a93a386a2854b15b238c18ac220170924"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924">Nv::Blast::Asset::NvBlastBlockArrayData</a></div><div class="ttdeci">NvBlastBlockArrayData(NvBlastChunk, m_chunksOffset, getChunks, m_chunkCount)</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a68b3de340801db06e5e057434ca6137e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e">Nv::Blast::Asset::m_ID</a></div><div class="ttdeci">NvBlastID m_ID</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:186</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a78770e86b346b4b756814bca14b6c331"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Nv::Blast::Asset::getUpperSupportChunkCount</a></div><div class="ttdeci">uint32_t getUpperSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:264</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_aa65e7c5b0355422e0021ffd25042b20a"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">Nv::Blast::Asset::getHierarchyCount</a></div><div class="ttdeci">uint32_t getHierarchyCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:283</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a2fca1fdbe87c49f04736dd6b6d176177"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">Nv::Blast::Asset::m_chunkCount</a></div><div class="ttdeci">uint32_t m_chunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:191</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a68b3de340801db06e5e057434ca6137e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a68b3de340801db06e5e057434ca6137e">Nv::Blast::Asset::m_ID</a></div><div class="ttdeci">NvBlastID m_ID</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:187</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a78770e86b346b4b756814bca14b6c331"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Nv::Blast::Asset::getUpperSupportChunkCount</a></div><div class="ttdeci">uint32_t getUpperSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:265</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_aa65e7c5b0355422e0021ffd25042b20a"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a">Nv::Blast::Asset::getHierarchyCount</a></div><div class="ttdeci">uint32_t getHierarchyCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:284</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a2fca1fdbe87c49f04736dd6b6d176177"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">Nv::Blast::Asset::m_chunkCount</a></div><div class="ttdeci">uint32_t m_chunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:192</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation_html_afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a725a22909a079fe964634a5cd0a040ab">Nv::Blast::Asset::ChunkAnnotation::Support</a></div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:57</div></div>
<div class="ttc" id="namespace_nv_html"><div class="ttname"><a href="namespace_nv.html">Nv</a></div><div class="ttdef"><b>Definition:</b> NvBlastArray.h:37</div></div>
<div class="ttc" id="_nv_blast_assert_8h_html"><div class="ttname"><a href="_nv_blast_assert_8h.html">NvBlastAssert.h</a></div></div>
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h_source.html
index 6f94473..0b48ae9 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_boolean_tool_8h_source.html
@@ -49,7 +49,7 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_boolean_tool_8
<a href="_nv_blast_ext_authoring_boolean_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTEXTAUTHORINGBOOLEANTOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTEXTAUTHORINGBOOLEANTOOL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html">NvBlastExtAuthoringInternalCommon.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_types_8h.html">NvBlastTypes.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_conf.html"> 48</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a42353b04c231113808fa2e78268dc50c"> 50</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a13f44fd320cd2f9ed61c0209fb1d2e2d">ca</a>, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a34718570798b8e1247f1a894e2c94ab6">cb</a>, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a42353b04c231113808fa2e78268dc50c">ci</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a48d2d83b59c82a9507f050286d023c25"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a48d2d83b59c82a9507f050286d023c25">BooleanConf</a>(int32_t a, int32_t b, int32_t c) : ca(a), cb(b), ci(c)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html"> 57</a></span>&#160;<span class="keyword">namespace </span>BooleanConfigurations</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#a737fc24c4425afc869a4862832e8e753"> 62</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> <a class="code" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#a737fc24c4425afc869a4862832e8e753">BOOLEAN_INTERSECION</a>()</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a48d2d83b59c82a9507f050286d023c25">BooleanConf</a>(0, 0, 1);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#af60303b702a6320c067215303e1f7d4d"> 70</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> <a class="code" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#af60303b702a6320c067215303e1f7d4d">BOOLEAN_UNION</a>()</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a48d2d83b59c82a9507f050286d023c25">BooleanConf</a>(1, 1, -1);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#aa31fac69fc5177160cc4ae79b18c44a2"> 77</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> <a class="code" href="namespace_nv_1_1_blast_1_1_boolean_configurations.html#aa31fac69fc5177160cc4ae79b18c44a2">BOOLEAN_DIFFERENCE</a>()</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html#a48d2d83b59c82a9507f050286d023c25">BooleanConf</a>(1, 0, -1);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html"> 86</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html">EdgeFacetIntersectionData</a></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a24e67b25ba307858ba36417c1a72e7a4"> 88</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a24e67b25ba307858ba36417c1a72e7a4">edId</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a9eaeac91e248bdd89a96303cdbed5640"> 89</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a9eaeac91e248bdd89a96303cdbed5640">intersectionType</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a20375aa2d317ee4763d32ecc039e0814"> 90</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a20375aa2d317ee4763d32ecc039e0814">intersectionPoint</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a04fd7acaf35a7f4647e12810efd2fc78"> 91</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a04fd7acaf35a7f4647e12810efd2fc78">EdgeFacetIntersectionData</a>(int32_t edId, int32_t intersType, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; inters) : edId(edId), intersectionType(intersType), intersectionPoint(inters)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; { }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a6dd22cefbaad1235b8835c9ac2a56676"> 93</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a6dd22cefbaad1235b8835c9ac2a56676">EdgeFacetIntersectionData</a>(int32_t edId) : edId(edId)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; { }</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a57d90423caa66df1a63436aa7405f046"> 95</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a57d90423caa66df1a63436aa7405f046">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html">EdgeFacetIntersectionData</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> edId &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a24e67b25ba307858ba36417c1a72e7a4">edId</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;};</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_evaluator.html"> 108</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; ~<a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">void</span> performBoolean(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshB, <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* spAccelA, <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* spAccelB, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">void</span> performBoolean(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshB, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">void</span> performFastCutting(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshB, <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* spAccelA, <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* spAccelB, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordtype">void</span> performFastCutting(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshB, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; int32_t isPointContainedInMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; int32_t isPointContainedInMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* spAccel, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createNewMesh();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">void</span> reset();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">void</span> buildFaceFaceIntersections(<a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a>);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordtype">void</span> buildFastFaceFaceIntersection(<a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> collectRetainedPartsFromA(<a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">void</span> collectRetainedPartsFromB(<a class="code" href="struct_nv_1_1_blast_1_1_boolean_conf.html">BooleanConf</a> mode);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; int32_t addIfNotExist(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; p);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">void</span> addEdgeIfValid(<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; ed);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; int32_t vertexMeshStatus03(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; p, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; int32_t vertexMeshStatus30(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; p, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mMeshA;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mMeshB;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* mAcceleratorA;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* mAcceleratorB;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::vector&lt;EdgeWithParent&gt; mEdgeAggregate;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; std::vector&lt;Vertex&gt; mVerticesAggregate;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; std::vector&lt;std::vector&lt;EdgeFacetIntersectionData&gt; &gt; mEdgeFacetIntersectionData12;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; std::vector&lt;std::vector&lt;EdgeFacetIntersectionData&gt; &gt; mEdgeFacetIntersectionData21;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;};</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTEXTAUTHORINGBOOLEANTOOL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_edge_facet_intersection_data_html_a20375aa2d317ee4763d32ecc039e0814"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a20375aa2d317ee4763d32ecc039e0814">Nv::Blast::EdgeFacetIntersectionData::intersectionPoint</a></div><div class="ttdeci">Vertex intersectionPoint</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringBooleanTool.h:90</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_boolean_evaluator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_boolean_evaluator.html">Nv::Blast::BooleanEvaluator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringBooleanTool.h:108</div></div>
<div class="ttc" id="_nv_blast_types_8h_html"><div class="ttname"><a href="_nv_blast_types_8h.html">NvBlastTypes.h</a></div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:47</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:48</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_types_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_facet_intersection_data_html_a6dd22cefbaad1235b8835c9ac2a56676"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a6dd22cefbaad1235b8835c9ac2a56676">Nv::Blast::EdgeFacetIntersectionData::EdgeFacetIntersectionData</a></div><div class="ttdeci">EdgeFacetIntersectionData(int32_t edId)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringBooleanTool.h:93</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_spatial_accelerator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_spatial_accelerator.html">Nv::Blast::SpatialAccelerator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringAccelerator.h:47</div></div>
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
index b3703bc..e8cc7dc 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html
@@ -86,8 +86,8 @@
<a name="l00048"></a>00048 {
<a name="l00049"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">00049</a> <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a>
<a name="l00050"></a>00050 {
-<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">00051</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
-<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1
+<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">00051</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
+<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> = 1 <span class="comment">// Created by island splitting or chunk merge, etc. and should check for inexact bonds</span>
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
<a name="l00055"></a><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#864945bf41b9ab726c8df191e9acae35">00055</a> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#864945bf41b9ab726c8df191e9acae35">meshData</a>;
@@ -262,15 +262,17 @@
<a name="l00512"></a>00512 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,
<a name="l00513"></a>00513 <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;
<a name="l00514"></a>00514
-<a name="l00520"></a>00520 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#db1c311cbb3d84c7bfbfd12abe01af0b">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;
-<a name="l00521"></a>00521
-<a name="l00526"></a>00526 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a9a87637d6d190d71678f0fb9a100bfd">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) = 0;
-<a name="l00527"></a>00527 };
-<a name="l00528"></a>00528
-<a name="l00529"></a>00529 } <span class="comment">// namespace Blast</span>
-<a name="l00530"></a>00530 } <span class="comment">// namespace Nv</span>
-<a name="l00531"></a>00531
-<a name="l00532"></a>00532 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span>
+<a name="l00521"></a>00521 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a>(uint32_t chunkIndex, <span class="keywordtype">bool</span> useApproximateBonding) = 0;
+<a name="l00522"></a>00522
+<a name="l00528"></a>00528 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#db1c311cbb3d84c7bfbfd12abe01af0b">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;
+<a name="l00529"></a>00529
+<a name="l00534"></a>00534 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a9a87637d6d190d71678f0fb9a100bfd">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) = 0;
+<a name="l00535"></a>00535 };
+<a name="l00536"></a>00536
+<a name="l00537"></a>00537 } <span class="comment">// namespace Blast</span>
+<a name="l00538"></a>00538 } <span class="comment">// namespace Nv</span>
+<a name="l00539"></a>00539
+<a name="l00540"></a>00540 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span>
</pre></div></div>
<!-- start footer part -->
<div class="footer">
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
index e201396..dca90a8 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_8h_source.html
@@ -46,12 +46,12 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="title">NvBlastExtAuthoringFractureTool.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_ext_authoring_fracture_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>CutoutSet;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> Chunk data, chunk with chunkId == 0 is always source mesh.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html"> 47</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c"> 49</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c">ChunkFlags</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; };</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35"> 55</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35">meshData</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c"> 56</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c">parent</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67"> 57</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71"> 58</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71">flags</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02"> 59</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02">isLeaf</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f">isChanged</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Generates uniformly distributed value in [0, 1] range.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getRandomValue() = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Seeds random value generator</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> seed(int32_t seed) = 0;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e"> 73</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e">~RandomGeneratorBase</a>(){};</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;};</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Noise fracturing configuration for chunks&#39;s faces</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html"> 79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a882e9f74aadf9384b68ab6b92006247c"> 86</a></span>&#160; <span class="keywordtype">float</span> amplitude = 0.f;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a0aa07994b6ef53830d284025968d4569"> 91</a></span>&#160; <span class="keywordtype">float</span> frequency = 1.f;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a9f3eccc2ab7973a00d8a77751bffbbf5"> 96</a></span>&#160; uint32_t octaveNumber = 1;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a6e96813291972a38fb456d3e3bbc32e5"> 101</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> samplingInterval = { 1, 1, 1 };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Slicing fracturing configuration</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html"> 107</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a90059b509ffd4aa9129c70bf96b3ac79"> 112</a></span>&#160; int32_t x_slices = 1, y_slices = 1, z_slices = 1;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a4d108dd0a46bc2ea6c9fe1b11c369f5a"> 117</a></span>&#160; <span class="keywordtype">float</span> offset_variations = 0.f;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a8bff4d55245144ddd63013e245c1a7cc"> 122</a></span>&#160; <span class="keywordtype">float</span> angle_variations = 0.f;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Noise parameters for faces between sliced chunks</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237"> 127</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237">noise</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html"> 133</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a30e10f98ba8ab88afa9b7ee5855dbd14"> 139</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_cutout_set.html">CutoutSet</a>* cutoutSet = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#aa0c088a7b81ace3910d7dd53f2eab935"> 145</a></span>&#160; <a class="code" href="struct_nvc_transform.html">NvcTransform</a> transform = {{0, 0, 0, 1}, {0, 0, 0}};</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a4474a4284f58e9e1b97956bbcc4f48d1"> 152</a></span>&#160; <a class="code" href="struct_nvc_vec2.html">NvcVec2</a> scale = { -1, -1 };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a397831eed1776f363b068ea8879f33fc"> 157</a></span>&#160; <span class="keywordtype">float</span> aperture = 0.f;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a0614b4b06b7c4925c37c3d039887665e"> 163</a></span>&#160; <span class="keywordtype">bool</span> isRelativeTransform = <span class="keyword">true</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a61deebb0401642549a0772f6dd971065"> 168</a></span>&#160; <span class="keywordtype">bool</span> useSmoothing = <span class="keyword">false</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b"> 173</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b">noise</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html"> 179</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8"> 182</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8">~VoronoiSitesGenerator</a>() {}</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBaseMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">virtual</span> uint32_t getVoronoiSites(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) = 0;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> addSite(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) = 0;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniformlyGenerateSitesInMesh(uint32_t numberOfSites) = 0;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) = 0;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> radialPattern(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keywordtype">float</span> radius, int32_t angularSteps,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) = 0;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> generateInSphere(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) = 0;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencil(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearStencil() = 0;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> deleteInSphere(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) = 0;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;};</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html"> 264</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2"> 268</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2">~FractureTool</a>() {}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset() = 0;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">virtual</span> int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) = 0;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) = 0;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">virtual</span> int32_t getInteriorMaterialId() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>) = 0;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">virtual</span> int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">virtual</span> int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> finalizeFracturing() = 0;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> uint32_t getChunkCount() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) = 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">virtual</span> uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) = 0;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) = 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">virtual</span> int32_t getChunkIndex(int32_t chunkId) = 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keyword">virtual</span> int32_t getChunkId(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keyword">virtual</span> int32_t getChunkDepth(int32_t chunkId) = 0;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) = 0;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keyword">virtual</span> uint32_t</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) = 0;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) = 0;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keyword">virtual</span> int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) = 0;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) = 0;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;};</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
+<a href="_nv_blast_ext_authoring_fracture_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>CutoutSet;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> Chunk data, chunk with chunkId == 0 is always source mesh.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html"> 47</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c"> 49</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c">ChunkFlags</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> = 1 <span class="comment">// Created by island splitting or chunk merge, etc. and should check for inexact bonds</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; };</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35"> 55</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35">meshData</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c"> 56</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c">parent</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67"> 57</a></span>&#160; int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71"> 58</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71">flags</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02"> 59</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a46cb9523bb9c0af0a890ed864560bd02">isLeaf</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a336cac7f249ed366d00bfe3fe4ef611f">isChanged</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Generates uniformly distributed value in [0, 1] range.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getRandomValue() = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Seeds random value generator</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> seed(int32_t seed) = 0;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e"> 73</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html#a8afe22100c70f643f3d2a33929c5e71e">~RandomGeneratorBase</a>(){};</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;};</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Noise fracturing configuration for chunks&#39;s faces</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html"> 79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a882e9f74aadf9384b68ab6b92006247c"> 86</a></span>&#160; <span class="keywordtype">float</span> amplitude = 0.f;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a0aa07994b6ef53830d284025968d4569"> 91</a></span>&#160; <span class="keywordtype">float</span> frequency = 1.f;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a9f3eccc2ab7973a00d8a77751bffbbf5"> 96</a></span>&#160; uint32_t octaveNumber = 1;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_noise_configuration.html#a6e96813291972a38fb456d3e3bbc32e5"> 101</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> samplingInterval = { 1, 1, 1 };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Slicing fracturing configuration</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html"> 107</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a90059b509ffd4aa9129c70bf96b3ac79"> 112</a></span>&#160; int32_t x_slices = 1, y_slices = 1, z_slices = 1;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a4d108dd0a46bc2ea6c9fe1b11c369f5a"> 117</a></span>&#160; <span class="keywordtype">float</span> offset_variations = 0.f;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a8bff4d55245144ddd63013e245c1a7cc"> 122</a></span>&#160; <span class="keywordtype">float</span> angle_variations = 0.f;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Noise parameters for faces between sliced chunks</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237"> 127</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#ad8d390988e458dbb0d515d7946e75237">noise</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html"> 133</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a30e10f98ba8ab88afa9b7ee5855dbd14"> 139</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_cutout_set.html">CutoutSet</a>* cutoutSet = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#aa0c088a7b81ace3910d7dd53f2eab935"> 145</a></span>&#160; <a class="code" href="struct_nvc_transform.html">NvcTransform</a> transform = {{0, 0, 0, 1}, {0, 0, 0}};</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a4474a4284f58e9e1b97956bbcc4f48d1"> 152</a></span>&#160; <a class="code" href="struct_nvc_vec2.html">NvcVec2</a> scale = { -1, -1 };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a397831eed1776f363b068ea8879f33fc"> 157</a></span>&#160; <span class="keywordtype">float</span> aperture = 0.f;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a0614b4b06b7c4925c37c3d039887665e"> 163</a></span>&#160; <span class="keywordtype">bool</span> isRelativeTransform = <span class="keyword">true</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a61deebb0401642549a0772f6dd971065"> 168</a></span>&#160; <span class="keywordtype">bool</span> useSmoothing = <span class="keyword">false</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b"> 173</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a> <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html#a64b0d84c82de63873bc0414d95ed036b">noise</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html"> 179</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8"> 182</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#a8d4ddd2ad08b37a448fa033141a297a8">~VoronoiSitesGenerator</a>() {}</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBaseMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">virtual</span> uint32_t getVoronoiSites(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) = 0;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> addSite(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) = 0;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniformlyGenerateSitesInMesh(uint32_t numberOfSites) = 0;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) = 0;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> radialPattern(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keywordtype">float</span> radius, int32_t angularSteps,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) = 0;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> generateInSphere(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) = 0;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencil(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearStencil() = 0;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> deleteInSphere(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) = 0;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;};</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html"> 264</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2"> 268</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2">~FractureTool</a>() {}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> release() = 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset() = 0;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">virtual</span> int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) = 0;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) = 0;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">virtual</span> int32_t getInteriorMaterialId() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67">chunkId</a>) = 0;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) = 0;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">virtual</span> int32_t</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">virtual</span> int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">virtual</span> int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) = 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> finalizeFracturing() = 0;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> uint32_t getChunkCount() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) = 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">virtual</span> uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) = 0;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) = 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">virtual</span> int32_t getChunkIndex(int32_t chunkId) = 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keyword">virtual</span> int32_t getChunkId(int32_t chunkIndex) = 0;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keyword">virtual</span> int32_t getChunkDepth(int32_t chunkId) = 0;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) = 0;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keyword">virtual</span> uint32_t</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) = 0;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) = 0;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keyword">virtual</span> int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) = 0;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> setApproximateBonding(uint32_t chunkIndex, <span class="keywordtype">bool</span> useApproximateBonding) = 0;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) = 0;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) = 0;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;};</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:47</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">Nv::Blast::VoronoiSitesGenerator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:179</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html_ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo::CREATED_BY_ISLAND_DETECTOR</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:52</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a1c8d1bbcf531b04e6ff52f5357987794"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">Nv::Blast::VecMath::normal</a></div><div class="ttdeci">NV_INLINE float normal(const float a[3], float r[3])</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:93</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_cutout_set_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_cutout_set.html">Nv::Blast::CutoutSet</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringCutout.h:36</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html_ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo::APPROXIMATE_BONDING</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:52</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_types_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_noise_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_noise_configuration.html">Nv::Blast::NoiseConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:79</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_mesh_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_mesh.html">Nv::Blast::Mesh</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringMesh.h:42</div></div>
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html
index 4bb26eb..b413c20 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h-source.html
@@ -202,49 +202,51 @@
<a name="l00380"></a>00380 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,
<a name="l00381"></a>00381 <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) <span class="keyword">override</span>;
<a name="l00382"></a>00382
-<a name="l00383"></a>00383
-<a name="l00389"></a>00389 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#6cab6022e3cfb8bfc287428c507a9459">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) <span class="keyword">override</span>;
-<a name="l00390"></a>00390
-<a name="l00395"></a>00395 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#21dee486b1499f135740cac4a4d85af0">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) <span class="keyword">override</span>;
-<a name="l00396"></a>00396
+<a name="l00383"></a>00383 <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">setApproximateBonding</a>(uint32_t chunkId, <span class="keywordtype">bool</span> useApproximateBonding) <span class="keyword">override</span>;
+<a name="l00384"></a>00384
+<a name="l00390"></a>00390 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#6cab6022e3cfb8bfc287428c507a9459">fitUvToRect</a>(<span class="keywordtype">float</span> side, uint32_t chunkId) <span class="keyword">override</span>;
+<a name="l00391"></a>00391
+<a name="l00396"></a>00396 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#21dee486b1499f135740cac4a4d85af0">fitAllUvToRect</a>(<span class="keywordtype">float</span> side) <span class="keyword">override</span>;
<a name="l00397"></a>00397
<a name="l00398"></a>00398
-<a name="l00399"></a>00399 <span class="keyword">private</span>:
-<a name="l00400"></a>00400 <span class="keywordtype">bool</span> isAncestorForChunk(int32_t ancestorId, int32_t chunkId);
-<a name="l00401"></a>00401 int32_t slicingNoisy(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);
-<a name="l00402"></a>00402 uint32_t stretchGroup(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; group, std::vector&lt;std::vector&lt;uint32_t&gt;&gt;&amp; graph);
-<a name="l00403"></a>00403 <span class="keywordtype">void</span> rebuildAdjGraph(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; chunksToRebuild, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,
-<a name="l00404"></a>00404 std::vector&lt;std::vector&lt;uint32_t&gt; &gt;&amp; chunkGraph);
-<a name="l00405"></a>00405 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#21dee486b1499f135740cac4a4d85af0">fitAllUvToRect</a>(<span class="keywordtype">float</span> side, std::set&lt;uint32_t&gt;&amp; mask);
-<a name="l00406"></a>00406
-<a name="l00410"></a>00410 uint32_t createNewChunk(uint32_t parentId);
-<a name="l00411"></a>00411
-<a name="l00412"></a>00412
-<a name="l00413"></a>00413 <span class="keyword">protected</span>:
-<a name="l00417"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3853cd248b6b0531f18f8cf1711bc90f">00417</a> <span class="keywordtype">float</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3853cd248b6b0531f18f8cf1711bc90f">mScaleFactor</a>;
-<a name="l00418"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3a9a2ccd3b9f5122f5153431b2eb2925">00418</a> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3a9a2ccd3b9f5122f5153431b2eb2925">mOffset</a>;
-<a name="l00419"></a>00419
-<a name="l00420"></a>00420 <span class="comment">/* Chunk mesh wrappers */</span>
-<a name="l00421"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2202d728cefb26446a60593b03dcbe1">00421</a> std::vector&lt;Triangulator*&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2202d728cefb26446a60593b03dcbe1">mChunkPostprocessors</a>;
-<a name="l00422"></a>00422
-<a name="l00423"></a>00423
-<a name="l00424"></a>00424
-<a name="l00425"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1cf29d3d972240ac368f6acef7bcb93b">00425</a> int64_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1cf29d3d972240ac368f6acef7bcb93b">mPlaneIndexerOffset</a>;
-<a name="l00426"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#77957e191451f94d3753e31695c37914">00426</a> int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#77957e191451f94d3753e31695c37914">mChunkIdCounter</a>;
-<a name="l00427"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#516359070dc5bf6cd0770d3e33b8c8d1">00427</a> std::vector&lt;ChunkInfo&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#516359070dc5bf6cd0770d3e33b8c8d1">mChunkData</a>;
-<a name="l00428"></a>00428
-<a name="l00429"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#bcc6a73e16008d488bbf81623ec5a33e">00429</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#bcc6a73e16008d488bbf81623ec5a33e">mRemoveIslands</a>;
-<a name="l00430"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#e9fdc3a9dd7eefe632a24c7abb6c4962">00430</a> int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#e9fdc3a9dd7eefe632a24c7abb6c4962">mInteriorMaterialId</a>;
-<a name="l00431"></a>00431 };
-<a name="l00432"></a>00432
-<a name="l00433"></a>00433 <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#83271d24d04e44d4b938de44bce332e8">findCellBasePlanes</a>(<span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector&lt;std::vector&lt;int32_t&gt; &gt;&amp; neighboors);
-<a name="l00434"></a>00434 <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="namespace_nv_1_1_blast.html#4371fd33bb235ab1c79ddce6caf51ee5">getCellMesh</a>(<span class="keyword">class</span> <a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>&amp; eval, int32_t planeIndexerOffset, int32_t cellId, <span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector &lt; std::vector&lt;int32_t&gt; &gt;&amp; neighboors, int32_t interiorMaterialId, <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> origin);
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 } <span class="comment">// namespace Blast</span>
-<a name="l00437"></a>00437 } <span class="comment">// namespace Nv</span>
-<a name="l00438"></a>00438
-<a name="l00439"></a>00439
-<a name="l00440"></a>00440 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span>
+<a name="l00399"></a>00399
+<a name="l00400"></a>00400 <span class="keyword">private</span>:
+<a name="l00401"></a>00401 <span class="keywordtype">bool</span> isAncestorForChunk(int32_t ancestorId, int32_t chunkId);
+<a name="l00402"></a>00402 int32_t slicingNoisy(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);
+<a name="l00403"></a>00403 uint32_t stretchGroup(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; group, std::vector&lt;std::vector&lt;uint32_t&gt;&gt;&amp; graph);
+<a name="l00404"></a>00404 <span class="keywordtype">void</span> rebuildAdjGraph(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; chunksToRebuild, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,
+<a name="l00405"></a>00405 std::vector&lt;std::vector&lt;uint32_t&gt; &gt;&amp; chunkGraph);
+<a name="l00406"></a>00406 <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#21dee486b1499f135740cac4a4d85af0">fitAllUvToRect</a>(<span class="keywordtype">float</span> side, std::set&lt;uint32_t&gt;&amp; mask);
+<a name="l00407"></a>00407 <span class="keywordtype">void</span> markLeaves();
+<a name="l00408"></a>00408
+<a name="l00412"></a>00412 uint32_t createNewChunk(uint32_t parentId);
+<a name="l00413"></a>00413
+<a name="l00414"></a>00414
+<a name="l00415"></a>00415 <span class="keyword">protected</span>:
+<a name="l00419"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3853cd248b6b0531f18f8cf1711bc90f">00419</a> <span class="keywordtype">float</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3853cd248b6b0531f18f8cf1711bc90f">mScaleFactor</a>;
+<a name="l00420"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3a9a2ccd3b9f5122f5153431b2eb2925">00420</a> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3a9a2ccd3b9f5122f5153431b2eb2925">mOffset</a>;
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 <span class="comment">/* Chunk mesh wrappers */</span>
+<a name="l00423"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2202d728cefb26446a60593b03dcbe1">00423</a> std::vector&lt;Triangulator*&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2202d728cefb26446a60593b03dcbe1">mChunkPostprocessors</a>;
+<a name="l00424"></a>00424
+<a name="l00425"></a>00425
+<a name="l00426"></a>00426
+<a name="l00427"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1cf29d3d972240ac368f6acef7bcb93b">00427</a> int64_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1cf29d3d972240ac368f6acef7bcb93b">mPlaneIndexerOffset</a>;
+<a name="l00428"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#77957e191451f94d3753e31695c37914">00428</a> int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#77957e191451f94d3753e31695c37914">mChunkIdCounter</a>;
+<a name="l00429"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#516359070dc5bf6cd0770d3e33b8c8d1">00429</a> std::vector&lt;ChunkInfo&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#516359070dc5bf6cd0770d3e33b8c8d1">mChunkData</a>;
+<a name="l00430"></a>00430
+<a name="l00431"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#bcc6a73e16008d488bbf81623ec5a33e">00431</a> <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#bcc6a73e16008d488bbf81623ec5a33e">mRemoveIslands</a>;
+<a name="l00432"></a><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#e9fdc3a9dd7eefe632a24c7abb6c4962">00432</a> int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#e9fdc3a9dd7eefe632a24c7abb6c4962">mInteriorMaterialId</a>;
+<a name="l00433"></a>00433 };
+<a name="l00434"></a>00434
+<a name="l00435"></a>00435 <span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#83271d24d04e44d4b938de44bce332e8">findCellBasePlanes</a>(<span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector&lt;std::vector&lt;int32_t&gt; &gt;&amp; neighboors);
+<a name="l00436"></a>00436 <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="namespace_nv_1_1_blast.html#4371fd33bb235ab1c79ddce6caf51ee5">getCellMesh</a>(<span class="keyword">class</span> <a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>&amp; eval, int32_t planeIndexerOffset, int32_t cellId, <span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector &lt; std::vector&lt;int32_t&gt; &gt;&amp; neighboors, int32_t interiorMaterialId, <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> origin);
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 } <span class="comment">// namespace Blast</span>
+<a name="l00439"></a>00439 } <span class="comment">// namespace Nv</span>
+<a name="l00440"></a>00440
+<a name="l00441"></a>00441
+<a name="l00442"></a>00442 <span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span>
</pre></div></div>
<!-- start footer part -->
<div class="footer">
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html
index f7be434..5f02e2c 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html
@@ -46,7 +46,7 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="title">NvBlastExtAuthoringFractureToolImpl.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_ext_authoring_fracture_tool_impl_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_mesh_8h.html">NvBlastExtAuthoringMesh.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html">VoronoiSitesGeneratorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a01f58715063631ce078fa90bfd6a920c">VoronoiSitesGeneratorImpl</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7c248babbc4b16a16be9832f0aea767f">~VoronoiSitesGeneratorImpl</a>();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad37927c9e02c8259b2607099d484decc">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7515cf0706f08e6191b67ac99b253f97">setBaseMesh</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* m) <span class="keyword">override</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad4a5521b93a40601ad53c36882f63a04">getVoronoiSites</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) <span class="keyword">override</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a3939730ea1fa9eef6843dbbccfe1b921">addSite</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) <span class="keyword">override</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#abfda4103b9ea3b04d28870cdb0cf9704">uniformlyGenerateSitesInMesh</a>(uint32_t numberOfSites) <span class="keyword">override</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a57ec8f7229999994e516d4edefdf9eed">clusteredSitesGeneration</a>(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) <span class="keyword">override</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a84aa94e4229dbf2ea8ac304ce1a96a1f">radialPattern</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keywordtype">float</span> radius, int32_t angularSteps, int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) <span class="keyword">override</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a5b18977952c1d5efcd4772f8ce7520c2">generateInSphere</a>(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) <span class="keyword">override</span>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a81f5fbf6cdaaf3d2d45c2dff822ff9b9">setStencil</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) <span class="keyword">override</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7377b65b5fafdb2eb4832f57c74f127d">clearStencil</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad2e1a222053fc19348990fb7ea8ed1a6">deleteInSphere</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) <span class="keyword">override</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; std::vector &lt;NvcVec3&gt; mGeneratedSites;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mMesh;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mStencil;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* mRnd;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* mAccelerator;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;};</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html"> 146</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">FractureToolImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a11d8ab3b4c7040389b3b552d07e4da57"> 154</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a11d8ab3b4c7040389b3b552d07e4da57">FractureToolImpl</a>()</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; mPlaneIndexerOffset = 1;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; mChunkIdCounter = 0;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; mRemoveIslands = <span class="keyword">false</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; mInteriorMaterialId = <a class="code" href="namespace_nv_1_1_blast.html#ad2d1cde5813011ad60c5a70903063138">kMaterialInteriorId</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4cf6af831497dbaf9db34ba4529f418d"> 162</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4cf6af831497dbaf9db34ba4529f418d">~FractureToolImpl</a>()</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; reset();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad37927c9e02c8259b2607099d484decc">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> reset() <span class="keyword">override</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) <span class="keyword">override</span>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; int32_t getInteriorMaterialId() <span class="keyword">const override</span>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) <span class="keyword">override</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) <span class="keyword">override</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) <span class="keyword">override</span>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) <span class="keyword">override</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) <span class="keyword">override</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) <span class="keyword">override</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; int32_t slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordtype">void</span> finalizeFracturing() <span class="keyword">override</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; uint32_t getChunkCount() <span class="keyword">const override</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) <span class="keyword">override</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) <span class="keyword">override</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) <span class="keyword">override</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) <span class="keyword">override</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; int32_t getChunkIndex(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; int32_t getChunkId(int32_t chunkIndex) <span class="keyword">override</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; int32_t getChunkDepth(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) <span class="keyword">override</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; uint32_t getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) <span class="keyword">override</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) <span class="keyword">override</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) <span class="keyword">override</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) <span class="keyword">override</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="keyword">private</span>: </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordtype">bool</span> isAncestorForChunk(int32_t ancestorId, int32_t chunkId);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; int32_t slicingNoisy(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; uint32_t stretchGroup(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; group, std::vector&lt;std::vector&lt;uint32_t&gt;&gt;&amp; graph);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordtype">void</span> rebuildAdjGraph(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; chunksToRebuild, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; std::vector&lt;std::vector&lt;uint32_t&gt; &gt;&amp; chunkGraph);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side, std::set&lt;uint32_t&gt;&amp; mask);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; uint32_t createNewChunk(uint32_t parentId);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f"> 417</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f">mScaleFactor</a>;</div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925"> 418</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925">mOffset</a>;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">/* Chunk mesh wrappers */</span></div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1"> 421</a></span>&#160; std::vector&lt;Triangulator*&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1">mChunkPostprocessors</a>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b"> 425</a></span>&#160; int64_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b">mPlaneIndexerOffset</a>;</div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914"> 426</a></span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914">mChunkIdCounter</a>;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1"> 427</a></span>&#160; std::vector&lt;ChunkInfo&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1">mChunkData</a>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e"> 429</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e">mRemoveIslands</a>;</div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962"> 430</a></span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962">mInteriorMaterialId</a>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;};</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#a83271d24d04e44d4b938de44bce332e8">findCellBasePlanes</a>(<span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector&lt;std::vector&lt;int32_t&gt; &gt;&amp; neighboors);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="namespace_nv_1_1_blast.html#a4371fd33bb235ab1c79ddce6caf51ee5">getCellMesh</a>(<span class="keyword">class</span> <a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>&amp; eval, int32_t planeIndexerOffset, int32_t cellId, <span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector &lt; std::vector&lt;int32_t&gt; &gt;&amp; neighboors, int32_t interiorMaterialId, <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> origin);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
+<a href="_nv_blast_ext_authoring_fracture_tool_impl_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#define NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_mesh_8h.html">NvBlastExtAuthoringMesh.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>SpatialAccelerator;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>Triangulator;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html">VoronoiSitesGeneratorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html">VoronoiSitesGenerator</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a01f58715063631ce078fa90bfd6a920c">VoronoiSitesGeneratorImpl</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7c248babbc4b16a16be9832f0aea767f">~VoronoiSitesGeneratorImpl</a>();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad37927c9e02c8259b2607099d484decc">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7515cf0706f08e6191b67ac99b253f97">setBaseMesh</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* m) <span class="keyword">override</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad4a5521b93a40601ad53c36882f63a04">getVoronoiSites</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>*&amp; sites) <span class="keyword">override</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a3939730ea1fa9eef6843dbbccfe1b921">addSite</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; site) <span class="keyword">override</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#abfda4103b9ea3b04d28870cdb0cf9704">uniformlyGenerateSitesInMesh</a>(uint32_t numberOfSites) <span class="keyword">override</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a57ec8f7229999994e516d4edefdf9eed">clusteredSitesGeneration</a>(uint32_t numberOfClusters, uint32_t sitesPerCluster, <span class="keywordtype">float</span> clusterRadius) <span class="keyword">override</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a84aa94e4229dbf2ea8ac304ce1a96a1f">radialPattern</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keywordtype">float</span> radius, int32_t angularSteps, int32_t radialSteps, <span class="keywordtype">float</span> angleOffset = 0.0f, <span class="keywordtype">float</span> variability = 0.0f) <span class="keyword">override</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a5b18977952c1d5efcd4772f8ce7520c2">generateInSphere</a>(<span class="keyword">const</span> uint32_t count, <span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center) <span class="keyword">override</span>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a81f5fbf6cdaaf3d2d45c2dff822ff9b9">setStencil</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* stencil) <span class="keyword">override</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7377b65b5fafdb2eb4832f57c74f127d">clearStencil</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad2e1a222053fc19348990fb7ea8ed1a6">deleteInSphere</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> radius, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; center, <span class="keyword">const</span> <span class="keywordtype">float</span> eraserProbability = 1) <span class="keyword">override</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; std::vector &lt;NvcVec3&gt; mGeneratedSites;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mMesh;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mStencil;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* mRnd;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* mAccelerator;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;};</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html"> 146</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">FractureToolImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a11d8ab3b4c7040389b3b552d07e4da57"> 154</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a11d8ab3b4c7040389b3b552d07e4da57">FractureToolImpl</a>()</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; mPlaneIndexerOffset = 1;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; mChunkIdCounter = 0;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; mRemoveIslands = <span class="keyword">false</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; mInteriorMaterialId = <a class="code" href="namespace_nv_1_1_blast.html#ad2d1cde5813011ad60c5a70903063138">kMaterialInteriorId</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4cf6af831497dbaf9db34ba4529f418d"> 162</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4cf6af831497dbaf9db34ba4529f418d">~FractureToolImpl</a>()</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; reset();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad37927c9e02c8259b2607099d484decc">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> reset() <span class="keyword">override</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">void</span> setInteriorMaterialId(int32_t materialId) <span class="keyword">override</span>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; int32_t getInteriorMaterialId() <span class="keyword">const override</span>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordtype">void</span> replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) <span class="keyword">override</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordtype">void</span> setSourceMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh) <span class="keyword">override</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; int32_t setChunkMesh(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, int32_t parentId) <span class="keyword">override</span>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* createChunkMesh(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">void</span> getTransformation(<a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; offset, <span class="keywordtype">float</span>&amp; scale) <span class="keyword">override</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keywordtype">bool</span> replaceChunk) <span class="keyword">override</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>* cellPoints, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; scale, <span class="keyword">const</span> <a class="code" href="struct_nvc_quat.html">NvcQuat</a>&amp; rotation, <span class="keywordtype">bool</span> replaceChunk) <span class="keyword">override</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; int32_t slicing(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; int32_t cut(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; position, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_noise_configuration.html">NoiseConfiguration</a>&amp; noise, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; int32_t cutout(uint32_t chunkId, <a class="code" href="struct_nv_1_1_blast_1_1_cutout_configuration.html">CutoutConfiguration</a> conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd) <span class="keyword">override</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordtype">void</span> finalizeFracturing() <span class="keyword">override</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; uint32_t getChunkCount() <span class="keyword">const override</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a>&amp; getChunkInfo(int32_t chunkIndex) <span class="keyword">override</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordtype">float</span> getMeshOverlap(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshA, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>&amp; meshB) <span class="keyword">override</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; uint32_t getBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>*&amp; output) <span class="keyword">override</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; uint32_t updateBaseMesh(int32_t chunkIndex, <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* output) <span class="keyword">override</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; int32_t getChunkIndex(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; int32_t getChunkId(int32_t chunkIndex) <span class="keyword">override</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; int32_t getChunkDepth(int32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*&amp; chunkIds) <span class="keyword">override</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; uint32_t getBufferedBaseMeshes(<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>*&amp; vertexBuffer, uint32_t*&amp; indexBuffer, uint32_t*&amp; indexBufferOffsets) <span class="keyword">override</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">void</span> setRemoveIslands(<span class="keywordtype">bool</span> isRemoveIslands) <span class="keyword">override</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; int32_t islandDetectionAndRemoving(int32_t chunkId, <span class="keywordtype">bool</span> createAtNewDepth = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">bool</span> isMeshContainOpenEdges(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* input) <span class="keyword">override</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordtype">bool</span> deleteChunkSubhierarchy(int32_t chunkId, <span class="keywordtype">bool</span> deleteRoot = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">void</span> uniteChunks(uint32_t threshold, uint32_t targetClusterSize,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">const</span> uint32_t* chunksToMerge, uint32_t mergeChunkCount,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">bool</span> removeOriginalChunks = <span class="keyword">false</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">bool</span> setApproximateBonding(uint32_t chunkId, <span class="keywordtype">bool</span> useApproximateBonding) <span class="keyword">override</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">void</span> fitUvToRect(<span class="keywordtype">float</span> side, uint32_t chunkId) <span class="keyword">override</span>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side) <span class="keyword">override</span>;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="keyword">private</span>: </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordtype">bool</span> isAncestorForChunk(int32_t ancestorId, int32_t chunkId);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; int32_t slicingNoisy(uint32_t chunkId, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">SlicingConfiguration</a>&amp; conf, <span class="keywordtype">bool</span> replaceChunk, <a class="code" href="class_nv_1_1_blast_1_1_random_generator_base.html">RandomGeneratorBase</a>* rnd);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; uint32_t stretchGroup(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; group, std::vector&lt;std::vector&lt;uint32_t&gt;&gt;&amp; graph);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordtype">void</span> rebuildAdjGraph(<span class="keyword">const</span> std::vector&lt;uint32_t&gt;&amp; chunksToRebuild, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec2i.html">NvcVec2i</a>* adjChunks, uint32_t adjChunksSize,</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; std::vector&lt;std::vector&lt;uint32_t&gt; &gt;&amp; chunkGraph);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordtype">void</span> fitAllUvToRect(<span class="keywordtype">float</span> side, std::set&lt;uint32_t&gt;&amp; mask);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordtype">void</span> markLeaves();</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; uint32_t createNewChunk(uint32_t parentId);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f"> 419</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f">mScaleFactor</a>;</div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925"> 420</a></span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925">mOffset</a>;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">/* Chunk mesh wrappers */</span></div><div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1"> 423</a></span>&#160; std::vector&lt;Triangulator*&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1">mChunkPostprocessors</a>;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b"> 427</a></span>&#160; int64_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b">mPlaneIndexerOffset</a>;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914"> 428</a></span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914">mChunkIdCounter</a>;</div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1"> 429</a></span>&#160; std::vector&lt;ChunkInfo&gt; <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1">mChunkData</a>;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e"> 431</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e">mRemoveIslands</a>;</div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962"> 432</a></span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962">mInteriorMaterialId</a>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;};</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_nv_1_1_blast.html#a83271d24d04e44d4b938de44bce332e8">findCellBasePlanes</a>(<span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector&lt;std::vector&lt;int32_t&gt; &gt;&amp; neighboors);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="namespace_nv_1_1_blast.html#a4371fd33bb235ab1c79ddce6caf51ee5">getCellMesh</a>(<span class="keyword">class</span> <a class="code" href="class_nv_1_1_blast_1_1_boolean_evaluator.html">BooleanEvaluator</a>&amp; eval, int32_t planeIndexerOffset, int32_t cellId, <span class="keyword">const</span> std::vector&lt;NvcVec3&gt;&amp; sites, std::vector &lt; std::vector&lt;int32_t&gt; &gt;&amp; neighboors, int32_t interiorMaterialId, <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> origin);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTAUTHORINGFRACTURETOOLIMPL_H</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_slicing_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:107</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_a5b18977952c1d5efcd4772f8ce7520c2"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a5b18977952c1d5efcd4772f8ce7520c2">Nv::Blast::VoronoiSitesGeneratorImpl::generateInSphere</a></div><div class="ttdeci">void generateInSphere(const uint32_t count, const float radius, const NvcVec3 &amp;center) override</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_chunk_info_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:47</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_ad4a5521b93a40601ad53c36882f63a04"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad4a5521b93a40601ad53c36882f63a04">Nv::Blast::VoronoiSitesGeneratorImpl::getVoronoiSites</a></div><div class="ttdeci">uint32_t getVoronoiSites(const NvcVec3 *&amp;sites) override</div></div>
@@ -57,7 +57,7 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="ttc" id="class_nv_1_1_blast_1_1_boolean_evaluator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_boolean_evaluator.html">Nv::Blast::BooleanEvaluator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringBooleanTool.h:108</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a1c8d1bbcf531b04e6ff52f5357987794"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">Nv::Blast::VecMath::normal</a></div><div class="ttdeci">NV_INLINE float normal(const float a[3], float r[3])</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:93</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_a7515cf0706f08e6191b67ac99b253f97"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7515cf0706f08e6191b67ac99b253f97">Nv::Blast::VoronoiSitesGeneratorImpl::setBaseMesh</a></div><div class="ttdeci">void setBaseMesh(const Mesh *m) override</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a3853cd248b6b0531f18f8cf1711bc90f"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f">Nv::Blast::FractureToolImpl::mScaleFactor</a></div><div class="ttdeci">float mScaleFactor</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:417</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a3853cd248b6b0531f18f8cf1711bc90f"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f">Nv::Blast::FractureToolImpl::mScaleFactor</a></div><div class="ttdeci">float mScaleFactor</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:419</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_spatial_accelerator_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_spatial_accelerator.html">Nv::Blast::SpatialAccelerator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringAccelerator.h:47</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_a7377b65b5fafdb2eb4832f57c74f127d"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7377b65b5fafdb2eb4832f57c74f127d">Nv::Blast::VoronoiSitesGeneratorImpl::clearStencil</a></div><div class="ttdeci">void clearStencil() override</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_noise_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_noise_configuration.html">Nv::Blast::NoiseConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:79</div></div>
@@ -69,15 +69,15 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_abfda4103b9ea3b04d28870cdb0cf9704"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#abfda4103b9ea3b04d28870cdb0cf9704">Nv::Blast::VoronoiSitesGeneratorImpl::uniformlyGenerateSitesInMesh</a></div><div class="ttdeci">void uniformlyGenerateSitesInMesh(uint32_t numberOfSites) override</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_fracture_tool_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a></div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_a4371fd33bb235ab1c79ddce6caf51ee5"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a4371fd33bb235ab1c79ddce6caf51ee5">Nv::Blast::getCellMesh</a></div><div class="ttdeci">Mesh * getCellMesh(class BooleanEvaluator &amp;eval, int32_t planeIndexerOffset, int32_t cellId, const std::vector&lt; NvcVec3 &gt; &amp;sites, std::vector&lt; std::vector&lt; int32_t &gt; &gt; &amp;neighboors, int32_t interiorMaterialId, NvcVec3 origin)</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a77957e191451f94d3753e31695c37914"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914">Nv::Blast::FractureToolImpl::mChunkIdCounter</a></div><div class="ttdeci">int32_t mChunkIdCounter</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:426</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a77957e191451f94d3753e31695c37914"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914">Nv::Blast::FractureToolImpl::mChunkIdCounter</a></div><div class="ttdeci">int32_t mChunkIdCounter</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:428</div></div>
<div class="ttc" id="struct_nvc_vec2i_html"><div class="ttname"><a href="struct_nvc_vec2i.html">NvcVec2i</a></div><div class="ttdef"><b>Definition:</b> NvCTypes.h:106</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_ad2d1cde5813011ad60c5a70903063138"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ad2d1cde5813011ad60c5a70903063138">Nv::Blast::kMaterialInteriorId</a></div><div class="ttdeci">const uint32_t kMaterialInteriorId</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:42</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a516359070dc5bf6cd0770d3e33b8c8d1"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1">Nv::Blast::FractureToolImpl::mChunkData</a></div><div class="ttdeci">std::vector&lt; ChunkInfo &gt; mChunkData</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:427</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_ac2202d728cefb26446a60593b03dcbe1"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1">Nv::Blast::FractureToolImpl::mChunkPostprocessors</a></div><div class="ttdeci">std::vector&lt; Triangulator * &gt; mChunkPostprocessors</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:421</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a3a9a2ccd3b9f5122f5153431b2eb2925"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925">Nv::Blast::FractureToolImpl::mOffset</a></div><div class="ttdeci">NvcVec3 mOffset</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:418</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a516359070dc5bf6cd0770d3e33b8c8d1"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1">Nv::Blast::FractureToolImpl::mChunkData</a></div><div class="ttdeci">std::vector&lt; ChunkInfo &gt; mChunkData</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:429</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_ac2202d728cefb26446a60593b03dcbe1"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1">Nv::Blast::FractureToolImpl::mChunkPostprocessors</a></div><div class="ttdeci">std::vector&lt; Triangulator * &gt; mChunkPostprocessors</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:423</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a3a9a2ccd3b9f5122f5153431b2eb2925"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925">Nv::Blast::FractureToolImpl::mOffset</a></div><div class="ttdeci">NvcVec3 mOffset</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:420</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_cutout_configuration_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_cutout_configuration.html">Nv::Blast::CutoutConfiguration</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:133</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_triangle_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_triangle.html">Nv::Blast::Triangle</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:79</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_ae9fdc3a9dd7eefe632a24c7abb6c4962"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962">Nv::Blast::FractureToolImpl::mInteriorMaterialId</a></div><div class="ttdeci">int32_t mInteriorMaterialId</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:430</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_ae9fdc3a9dd7eefe632a24c7abb6c4962"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962">Nv::Blast::FractureToolImpl::mInteriorMaterialId</a></div><div class="ttdeci">int32_t mInteriorMaterialId</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:432</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_ad37927c9e02c8259b2607099d484decc"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad37927c9e02c8259b2607099d484decc">Nv::Blast::VoronoiSitesGeneratorImpl::release</a></div><div class="ttdeci">void release() override</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html">Nv::Blast::VoronoiSitesGeneratorImpl</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:48</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:146</div></div>
@@ -90,9 +90,9 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_fracture_tool_
<div class="ttc" id="struct_nvc_vec3_html"><div class="ttname"><a href="struct_nvc_vec3.html">NvcVec3</a></div><div class="ttdef"><b>Definition:</b> NvCTypes.h:49</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_a57ec8f7229999994e516d4edefdf9eed"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a57ec8f7229999994e516d4edefdf9eed">Nv::Blast::VoronoiSitesGeneratorImpl::clusteredSitesGeneration</a></div><div class="ttdeci">void clusteredSitesGeneration(uint32_t numberOfClusters, uint32_t sitesPerCluster, float clusterRadius) override</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl_html_a7c248babbc4b16a16be9832f0aea767f"><div class="ttname"><a href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#a7c248babbc4b16a16be9832f0aea767f">Nv::Blast::VoronoiSitesGeneratorImpl::~VoronoiSitesGeneratorImpl</a></div><div class="ttdeci">~VoronoiSitesGeneratorImpl()</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a1cf29d3d972240ac368f6acef7bcb93b"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b">Nv::Blast::FractureToolImpl::mPlaneIndexerOffset</a></div><div class="ttdeci">int64_t mPlaneIndexerOffset</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:425</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_a1cf29d3d972240ac368f6acef7bcb93b"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b">Nv::Blast::FractureToolImpl::mPlaneIndexerOffset</a></div><div class="ttdeci">int64_t mPlaneIndexerOffset</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:427</div></div>
<div class="ttc" id="struct_nvc_quat_html"><div class="ttname"><a href="struct_nvc_quat.html">NvcQuat</a></div><div class="ttdef"><b>Definition:</b> NvCTypes.h:61</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_abcc6a73e16008d488bbf81623ec5a33e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e">Nv::Blast::FractureToolImpl::mRemoveIslands</a></div><div class="ttdeci">bool mRemoveIslands</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:429</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_impl_html_abcc6a73e16008d488bbf81623ec5a33e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e">Nv::Blast::FractureToolImpl::mRemoveIslands</a></div><div class="ttdeci">bool mRemoveIslands</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureToolImpl.h:431</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html
index d75d734..20d4de3 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h-source.html
@@ -67,227 +67,269 @@
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef NVBLASTINTERNALCOMMON_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define NVBLASTINTERNALCOMMON_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>"</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;PxVec2.h&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;PxVec3.h&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;PxPlane.h&gt;</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;PxBounds3.h&gt;</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;PxMath.h&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;algorithm&gt;</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">namespace </span>Nv
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 <span class="keyword">namespace </span>Blast
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043
-<a name="l00047"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">00047</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>
-<a name="l00048"></a>00048 {
-<a name="l00049"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">00049</a> uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>, <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>; <span class="comment">// Starting and ending vertices</span>
-<a name="l00050"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">00050</a> uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>; <span class="comment">// Parent facet index</span>
-<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a37d68282f0ac6ec2f5f1e277a10d04f">00051</a> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a37d68282f0ac6ec2f5f1e277a10d04f">EdgeWithParent</a>() : <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>(0), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>(0), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>(0) {}
-<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#69cbe936ff0e6145fc3f5ca804a35025">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#69cbe936ff0e6145fc3f5ca804a35025">EdgeWithParent</a>(uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>, uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>, uint32_t p) : s(s), e(e), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>(p) {}
-<a name="l00053"></a>00053 };
-<a name="l00054"></a>00054
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="_nv_blast_px_shared_helpers_8h.html">NvBlastPxSharedHelpers.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;PxVec2.h&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;PxVec3.h&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;PxPlane.h&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;PxBounds3.h&gt;</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;PxMath.h&gt;</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">namespace </span>Nv
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">namespace </span>Blast
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044
+<a name="l00048"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">00048</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>
+<a name="l00049"></a>00049 {
+<a name="l00050"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">00050</a> uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>, <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>; <span class="comment">// Starting and ending vertices</span>
+<a name="l00051"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">00051</a> uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>; <span class="comment">// Parent facet index</span>
+<a name="l00052"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a37d68282f0ac6ec2f5f1e277a10d04f">00052</a> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a37d68282f0ac6ec2f5f1e277a10d04f">EdgeWithParent</a>() : <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>(0), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>(0), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>(0) {}
+<a name="l00053"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#69cbe936ff0e6145fc3f5ca804a35025">00053</a> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#69cbe936ff0e6145fc3f5ca804a35025">EdgeWithParent</a>(uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>, uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>, uint32_t p) : s(s), e(e), <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>(p) {}
+<a name="l00054"></a>00054 };
<a name="l00055"></a>00055
-<a name="l00059"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">00059</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">EdgeComparator</a>
-<a name="l00060"></a>00060 {
-<a name="l00061"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#79747e77ddbaaf4fd6450bb90e37b7ea">00061</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#79747e77ddbaaf4fd6450bb90e37b7ea">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; b)<span class="keyword"> const</span>
-<a name="l00062"></a>00062 <span class="keyword"> </span>{
-<a name="l00063"></a>00063 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>)
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>)
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>;
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069 <span class="keywordflow">else</span>
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074 <span class="keywordflow">else</span>
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 };
-<a name="l00080"></a>00080
-<a name="l00081"></a><a class="code" href="namespace_nv_1_1_blast.html#cf1aa675b24e661db37949852a97b58f">00081</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#cf1aa675b24e661db37949852a97b58f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; b)
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a>)
-<a name="l00084"></a>00084 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#e06c88ae71857d247fd27130265f5e25">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#e06c88ae71857d247fd27130265f5e25">e</a>;
-<a name="l00085"></a>00085 <span class="keywordflow">else</span>
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a>;
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00092"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">00092</a> <span class="keyword">enum</span> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>
-<a name="l00093"></a>00093 {
-<a name="l00094"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">00094</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a> = 1 &lt;&lt; 1,
-<a name="l00095"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">00095</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a> = 1 &lt;&lt; 2,
-<a name="l00096"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">00096</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a> = 1 &lt;&lt; 3,
-<a name="l00097"></a>00097
-<a name="l00098"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">00098</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a> = 1 &lt;&lt; 4
-<a name="l00099"></a>00099 };
-<a name="l00100"></a>00100
-<a name="l00104"></a><a class="code" href="namespace_nv_1_1_blast.html#b77f76686c61a4a62d1aabb5e7b9c20a">00104</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> <a class="code" href="namespace_nv_1_1_blast.html#b77f76686c61a4a62d1aabb5e7b9c20a">getProjectionDirection</a>(<span class="keyword">const</span> physx::PxVec3&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a>)
-<a name="l00105"></a>00105 {
-<a name="l00106"></a>00106 <span class="keywordtype">float</span> maxv = std::max(std::abs(normal.x), std::max(std::abs(normal.y), std::abs(normal.z)));
-<a name="l00107"></a>00107 <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> retVal;
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (maxv == std::abs(normal.x))
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>;
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> (normal.x &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> retVal;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114 <span class="keywordflow">if</span> (maxv == std::abs(normal.y))
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>;
-<a name="l00117"></a>00117 <span class="keywordflow">if</span> (normal.y &gt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
-<a name="l00118"></a>00118 <span class="keywordflow">return</span> retVal;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a>;
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (normal.z &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
-<a name="l00122"></a>00122 <span class="keywordflow">return</span> retVal;
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
+<a name="l00056"></a>00056
+<a name="l00060"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">00060</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">EdgeComparator</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#79747e77ddbaaf4fd6450bb90e37b7ea">00062</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#79747e77ddbaaf4fd6450bb90e37b7ea">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; b)<span class="keyword"> const</span>
+<a name="l00063"></a>00063 <span class="keyword"> </span>{
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c18f86b13ce9fff59e084707e199646a">e</a>;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 <span class="keywordflow">else</span>
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#7157f6d3f264ba6158f4614285725bcf">s</a>;
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 <span class="keywordflow">else</span>
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">parent</a>;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a><a class="code" href="namespace_nv_1_1_blast.html#cf1aa675b24e661db37949852a97b58f">00082</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#cf1aa675b24e661db37949852a97b58f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; b)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a>)
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#e06c88ae71857d247fd27130265f5e25">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#e06c88ae71857d247fd27130265f5e25">e</a>;
+<a name="l00086"></a>00086 <span class="keywordflow">else</span>
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#3638e37be242b0af2deb14b09cbf8cc7">s</a>;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089
+<a name="l00093"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">00093</a> <span class="keyword">enum</span> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>
+<a name="l00094"></a>00094 {
+<a name="l00095"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">00095</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a> = 1 &lt;&lt; 1,
+<a name="l00096"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">00096</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a> = 1 &lt;&lt; 2,
+<a name="l00097"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">00097</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a> = 1 &lt;&lt; 3,
+<a name="l00098"></a>00098
+<a name="l00099"></a><a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">00099</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a> = 1 &lt;&lt; 4
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101
+<a name="l00105"></a><a class="code" href="namespace_nv_1_1_blast.html#b77f76686c61a4a62d1aabb5e7b9c20a">00105</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> <a class="code" href="namespace_nv_1_1_blast.html#b77f76686c61a4a62d1aabb5e7b9c20a">getProjectionDirection</a>(<span class="keyword">const</span> physx::PxVec3&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a>)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keywordtype">float</span> maxv = std::max(std::abs(normal.x), std::max(std::abs(normal.y), std::abs(normal.z)));
+<a name="l00108"></a>00108 <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> retVal;
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (maxv == std::abs(normal.x))
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>;
+<a name="l00112"></a>00112 <span class="keywordflow">if</span> (normal.x &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> retVal;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 <span class="keywordflow">if</span> (maxv == std::abs(normal.y))
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>;
+<a name="l00118"></a>00118 <span class="keywordflow">if</span> (normal.y &gt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> retVal;
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 retVal = <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f785a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a>;
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (normal.z &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> retVal;
+<a name="l00124"></a>00124 }
<a name="l00125"></a>00125
-<a name="l00129"></a><a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">00129</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);
-<a name="l00140"></a>00140 }
-<a name="l00141"></a>00141
-<a name="l00142"></a><a class="code" href="namespace_nv_1_1_blast.html#07798b57f728802d367a7efbea3ce3a7">00142</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
-<a name="l00143"></a>00143 {
-<a name="l00144"></a>00144 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>((<span class="keyword">const</span> physx::PxVec3&amp;)point, dir);
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146
-<a name="l00150"></a><a class="code" href="namespace_nv_1_1_blast.html#5f4aa5b6b2451711fccf09757bdd2e1e">00150</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#5f4aa5b6b2451711fccf09757bdd2e1e">getProjectedPointWithWinding</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keywordflow">return</span> physx::PxVec2(point.z, point.y);
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 <span class="keywordflow">else</span>
-<a name="l00159"></a>00159 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)
-<a name="l00162"></a>00162 {
-<a name="l00163"></a>00163 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
-<a name="l00164"></a>00164 {
-<a name="l00165"></a>00165 <span class="keywordflow">return</span> physx::PxVec2(point.z, point.x);
-<a name="l00166"></a>00166 }
-<a name="l00167"></a>00167 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
-<a name="l00170"></a>00170 {
-<a name="l00171"></a>00171 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.x);
-<a name="l00172"></a>00172 }
-<a name="l00173"></a>00173 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);
-<a name="l00174"></a>00174 }
-<a name="l00175"></a>00175
+<a name="l00126"></a>00126
+<a name="l00130"></a><a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">00130</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a><a class="code" href="namespace_nv_1_1_blast.html#07798b57f728802d367a7efbea3ce3a7">00143</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>((<span class="keyword">const</span> physx::PxVec3&amp;)point, dir);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00151"></a><a class="code" href="namespace_nv_1_1_blast.html#5f4aa5b6b2451711fccf09757bdd2e1e">00151</a> <a class="code" href="group__foundation.html#ge9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#5f4aa5b6b2451711fccf09757bdd2e1e">getProjectedPointWithWinding</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7d1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> physx::PxVec2(point.z, point.y);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 <span class="keywordflow">else</span>
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f734e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 <span class="keywordflow">return</span> physx::PxVec2(point.z, point.x);
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170 <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#2dbf0cc037620db35223513e817444f7f9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> physx::PxVec2(point.y, point.x);
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);
+<a name="l00175"></a>00175 }
<a name="l00176"></a>00176
<a name="l00177"></a>00177
-<a name="l00178"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a8f38c265574616c9326504a5d9919f7">00178</a> <span class="preprocessor">#define MAXIMUM_EXTENT 1000 * 1000 * 1000</span>
-<a name="l00179"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">00179</a> <span class="preprocessor"></span><span class="preprocessor">#define BBOX_TEST_EPS 1e-5f </span>
-<a name="l00180"></a>00180 <span class="preprocessor"></span>
-<a name="l00184"></a><a class="code" href="namespace_nv_1_1_blast.html#b18c3161481f8a05cd11866ef1afbd9e">00184</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#b18c3161481f8a05cd11866ef1afbd9e">weakBoundingBoxIntersection</a>(<span class="keyword">const</span> physx::PxBounds3&amp; aBox, <span class="keyword">const</span> physx::PxBounds3&amp; bBox)
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 <span class="keywordflow">if</span> (std::max(aBox.minimum.x, bBox.minimum.x) &gt; std::min(aBox.maximum.x, bBox.maximum.x) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
-<a name="l00187"></a>00187 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00188"></a>00188 <span class="keywordflow">if</span> (std::max(aBox.minimum.y, bBox.minimum.y) &gt; std::min(aBox.maximum.y, bBox.maximum.y) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00190"></a>00190 <span class="keywordflow">if</span> (std::max(aBox.minimum.z, bBox.minimum.z) &gt; std::min(aBox.maximum.z, bBox.maximum.z) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
-<a name="l00191"></a>00191 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00192"></a>00192 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00193"></a>00193 }
-<a name="l00194"></a>00194
+<a name="l00178"></a>00178
+<a name="l00179"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a8f38c265574616c9326504a5d9919f7">00179</a> <span class="preprocessor">#define MAXIMUM_EXTENT 1000 * 1000 * 1000</span>
+<a name="l00180"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">00180</a> <span class="preprocessor"></span><span class="preprocessor">#define BBOX_TEST_EPS 1e-5f </span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span>
+<a name="l00185"></a><a class="code" href="namespace_nv_1_1_blast.html#b18c3161481f8a05cd11866ef1afbd9e">00185</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#b18c3161481f8a05cd11866ef1afbd9e">weakBoundingBoxIntersection</a>(<span class="keyword">const</span> physx::PxBounds3&amp; aBox, <span class="keyword">const</span> physx::PxBounds3&amp; bBox)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="keywordflow">if</span> (std::max(aBox.minimum.x, bBox.minimum.x) &gt; std::min(aBox.maximum.x, bBox.maximum.x) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
+<a name="l00188"></a>00188 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00189"></a>00189 <span class="keywordflow">if</span> (std::max(aBox.minimum.y, bBox.minimum.y) &gt; std::min(aBox.maximum.y, bBox.maximum.y) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
+<a name="l00190"></a>00190 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00191"></a>00191 <span class="keywordflow">if</span> (std::max(aBox.minimum.z, bBox.minimum.z) &gt; std::min(aBox.maximum.z, bBox.maximum.z) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00194"></a>00194 }
<a name="l00195"></a>00195
<a name="l00196"></a>00196
-<a name="l00200"></a><a class="code" href="namespace_nv_1_1_blast.html#7bba8d1f555e341010029032391276a6">00200</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#7bba8d1f555e341010029032391276a6">getPlaneSegmentIntersection</a>(<span class="keyword">const</span> physx::PxPlane&amp; pl, <span class="keyword">const</span> physx::PxVec3&amp; a, <span class="keyword">const</span> physx::PxVec3&amp; b,
-<a name="l00201"></a>00201 physx::PxVec3&amp; result)
-<a name="l00202"></a>00202 {
-<a name="l00203"></a>00203 <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">div</a> = (b - a).<a class="code" href="_nv_blast_px_shared_helpers_8h.html#a5fa673b37b2db41c230aa6edb1cc6da">dot</a>(pl.n);
-<a name="l00204"></a>00204 <span class="keywordflow">if</span> (physx::PxAbs(div) &lt; 0.0001f)
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206 <span class="keywordflow">if</span> (pl.contains(a))
-<a name="l00207"></a>00207 {
-<a name="l00208"></a>00208 result = a;
-<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 <span class="keywordflow">else</span>
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215 }
-<a name="l00216"></a>00216 <span class="keywordtype">float</span> t = (-a.dot(pl.n) - pl.d) / div;
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (t &lt; 0.0f || t &gt; 1.0f)
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00220"></a>00220 }
-<a name="l00221"></a>00221 result = (b - a) * t + a;
-<a name="l00222"></a>00222 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
+<a name="l00197"></a>00197
+<a name="l00201"></a><a class="code" href="namespace_nv_1_1_blast.html#7bba8d1f555e341010029032391276a6">00201</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#7bba8d1f555e341010029032391276a6">getPlaneSegmentIntersection</a>(<span class="keyword">const</span> physx::PxPlane&amp; pl, <span class="keyword">const</span> physx::PxVec3&amp; a, <span class="keyword">const</span> physx::PxVec3&amp; b,
+<a name="l00202"></a>00202 physx::PxVec3&amp; result)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#171cbcf9510fa3804c56ecfcf78da929">div</a> = (b - a).<a class="code" href="_nv_blast_px_shared_helpers_8h.html#a5fa673b37b2db41c230aa6edb1cc6da">dot</a>(pl.n);
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (physx::PxAbs(div) &lt; 0.0001f)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 <span class="keywordflow">if</span> (pl.contains(a))
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 result = a;
+<a name="l00210"></a>00210 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00211"></a>00211 }
+<a name="l00212"></a>00212 <span class="keywordflow">else</span>
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 <span class="keywordtype">float</span> t = (-a.dot(pl.n) - pl.d) / div;
+<a name="l00218"></a>00218 <span class="keywordflow">if</span> (t &lt; 0.0f || t &gt; 1.0f)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 result = (b - a) * t + a;
+<a name="l00223"></a>00223 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00224"></a>00224 }
<a name="l00225"></a>00225
-<a name="l00226"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">00226</a> <span class="preprocessor">#define POS_COMPARISON_OFFSET 1e-5f</span>
-<a name="l00227"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">00227</a> <span class="preprocessor"></span><span class="preprocessor">#define NORM_COMPARISON_OFFSET 1e-3f</span>
-<a name="l00228"></a>00228 <span class="preprocessor"></span>
-<a name="l00231"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">00231</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">VrtComp</a>
-<a name="l00232"></a>00232 {
-<a name="l00233"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#be3e16832129cd98f0d5ad9cf08822ed">00233</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#be3e16832129cd98f0d5ad9cf08822ed">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span>
-<a name="l00234"></a>00234 <span class="keyword"> </span>{
-<a name="l00235"></a>00235 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00236"></a>00236 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00237"></a>00237 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00239"></a>00239 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00240"></a>00240 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00244"></a>00244 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00245"></a>00245 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00246"></a>00246 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00247"></a>00247 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00248"></a>00248
+<a name="l00226"></a>00226
+<a name="l00227"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">00227</a> <span class="preprocessor">#define POS_COMPARISON_OFFSET 1e-5f</span>
+<a name="l00228"></a><a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">00228</a> <span class="preprocessor"></span><span class="preprocessor">#define NORM_COMPARISON_OFFSET 1e-3f</span>
+<a name="l00229"></a>00229 <span class="preprocessor"></span>
+<a name="l00232"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">00232</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">VrtComp</a>
+<a name="l00233"></a>00233 {
+<a name="l00234"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#be3e16832129cd98f0d5ad9cf08822ed">00234</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#be3e16832129cd98f0d5ad9cf08822ed">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span>
+<a name="l00235"></a>00235 <span class="keyword"> </span>{
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00237"></a>00237 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00238"></a>00238 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00239"></a>00239 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00240"></a>00240 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00241"></a>00241 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00244"></a>00244 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00245"></a>00245 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00246"></a>00246 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00247"></a>00247 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00248"></a>00248 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00249"></a>00249
-<a name="l00250"></a>00250 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00251"></a>00251 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00252"></a>00252 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00253"></a>00253 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00254"></a>00254 };
-<a name="l00255"></a>00255 };
-<a name="l00256"></a>00256
-<a name="l00260"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">00260</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">VrtPositionComparator</a>
-<a name="l00261"></a>00261 {
-<a name="l00262"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">00262</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; b)<span class="keyword"> const</span>
-<a name="l00263"></a>00263 <span class="keyword"> </span>{
-<a name="l00264"></a>00264 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00265"></a>00265 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00266"></a>00266 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00267"></a>00267 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00268"></a>00268 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00269"></a>00269 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00270"></a>00270 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00271"></a>00271 };
-<a name="l00272"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#d013ca22220ade67cc341f0914f10fc0">00272</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span>
-<a name="l00273"></a>00273 <span class="keyword"> </span>{
-<a name="l00274"></a>00274 <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>, b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>);
-<a name="l00275"></a>00275 };
-<a name="l00276"></a>00276 };
-<a name="l00277"></a>00277
-<a name="l00278"></a>00278 } <span class="comment">// namespace Blast</span>
-<a name="l00279"></a>00279 } <span class="comment">// namespace Nv</span>
-<a name="l00280"></a>00280
-<a name="l00281"></a>00281 <span class="preprocessor">#endif</span>
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00252"></a>00252 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#e4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00253"></a>00253 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00254"></a>00254 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00255"></a>00255 };
+<a name="l00256"></a>00256 };
+<a name="l00257"></a>00257
+<a name="l00261"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">00261</a> <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">VrtPositionComparator</a>
+<a name="l00262"></a>00262 {
+<a name="l00263"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">00263</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; b)<span class="keyword"> const</span>
+<a name="l00264"></a>00264 <span class="keyword"> </span>{
+<a name="l00265"></a>00265 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00266"></a>00266 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00267"></a>00267 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00268"></a>00268 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00269"></a>00269 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00270"></a>00270 <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00271"></a>00271 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00272"></a>00272 };
+<a name="l00273"></a><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#d013ca22220ade67cc341f0914f10fc0">00273</a> <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span>
+<a name="l00274"></a>00274 <span class="keyword"> </span>{
+<a name="l00275"></a>00275 <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a400b5597e35c0cb9c3602528282b86f">operator()</a>(a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>, b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aac433633e99222e1d4d42442eba6b18">p</a>);
+<a name="l00276"></a>00276 };
+<a name="l00277"></a>00277 };
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279
+<a name="l00280"></a><a class="code" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">00280</a> <a class="code" href="group__foundation.html#g36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">calculateCollisionHullVolume</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>&amp; hull)
+<a name="l00281"></a>00281 {
+<a name="l00282"></a>00282 <span class="keywordflow">if</span> (hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#fb9504c50ea19b6412a16682fe344ce9">pointsCount</a> == 0)
+<a name="l00283"></a>00283 {
+<a name="l00284"></a>00284 <span class="keywordflow">return</span> 0.0f;
+<a name="l00285"></a>00285 }
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="comment">// Find an approximate centroid for a more accurate calculation</span>
+<a name="l00288"></a>00288 <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> centroid = { 0.0f, 0.0f, 0.0f };
+<a name="l00289"></a>00289 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#fb9504c50ea19b6412a16682fe344ce9">pointsCount</a>; ++i)
+<a name="l00290"></a>00290 {
+<a name="l00291"></a>00291 centroid = centroid + hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i];
+<a name="l00292"></a>00292 }
+<a name="l00293"></a>00293 centroid = centroid / hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#fb9504c50ea19b6412a16682fe344ce9">pointsCount</a>;
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 <span class="keywordtype">float</span> volume = 0.0f;
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#3b638daebe2dabacfabea4c5554920e4">polygonDataCount</a>; ++i)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html">HullPolygon</a>&amp; poly = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#3840aa67c32d7e6ef8c8fc1d65e7e6da">polygonData</a>[i];
+<a name="l00300"></a>00300 <span class="keywordflow">if</span> (poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#31722ac1b5642eba8d7fa1150c7884a2">vertexCount</a> &lt; 3)
+<a name="l00301"></a>00301 {
+<a name="l00302"></a>00302 <span class="keywordflow">continue</span>;
+<a name="l00303"></a>00303 }
+<a name="l00304"></a>00304 <span class="keyword">const</span> uint32_t i0 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#b40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a>];
+<a name="l00305"></a>00305 uint32_t i1 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#b40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a> + 1];
+<a name="l00306"></a>00306 <span class="keywordflow">for</span> (uint32_t j = 2; j &lt; poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#31722ac1b5642eba8d7fa1150c7884a2">vertexCount</a>; ++j)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 <span class="keyword">const</span> uint32_t i2 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#b40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a> + j];
+<a name="l00309"></a>00309 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> a = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i0] - centroid;
+<a name="l00310"></a>00310 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> b = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i1] - centroid;
+<a name="l00311"></a>00311 <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> c = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i2] - centroid;
+<a name="l00312"></a>00312 volume +=
+<a name="l00313"></a>00313 (a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> * b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * c.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> - a.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> * b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> * c.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> * c.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> + a.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * b.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> * c.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> + a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> * b.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a> * c.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - a.<a class="code" href="struct_nvc_vec3.html#1702951e0e9b57bb36780a4d241dd7c7">z</a> * b.<a class="code" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * c.<a class="code" href="struct_nvc_vec3.html#1fb754591e800bd36dcb2223216644fb">x</a>);
+<a name="l00314"></a>00314 i1 = i2;
+<a name="l00315"></a>00315 }
+<a name="l00316"></a>00316 }
+<a name="l00317"></a>00317 <span class="keywordflow">return</span> (1.0f / 6.0f) * std::abs(volume);
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319
+<a name="l00320"></a>00320 } <span class="comment">// namespace Blast</span>
+<a name="l00321"></a>00321 } <span class="comment">// namespace Nv</span>
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 <span class="preprocessor">#endif</span>
</pre></div></div>
<!-- start footer part -->
<div class="footer">
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.html b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.html
index df7e085..4654b71 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.html
@@ -39,6 +39,7 @@
</div>
<div class="contents">
<h1>sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h File Reference</h1><code>#include &quot;<a class="el" href="_nv_blast_ext_authoring_types_8h-source.html">NvBlastExtAuthoringTypes.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="_nv_blast_px_shared_helpers_8h-source.html">NvBlastPxSharedHelpers.h</a>&quot;</code><br>
<code>#include &lt;PxVec2.h&gt;</code><br>
<code>#include &lt;PxVec3.h&gt;</code><br>
<code>#include &lt;PxPlane.h&gt;</code><br>
@@ -80,6 +81,8 @@
}</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">Nv::Blast::calculateCollisionHullVolume</a> (const CollisionHull &amp;hull)</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#7bba8d1f555e341010029032391276a6">Nv::Blast::getPlaneSegmentIntersection</a> (const physx::PxPlane &amp;pl, const physx::PxVec3 &amp;a, const physx::PxVec3 &amp;b, physx::PxVec3 &amp;result)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_FORCE_INLINE physx::PxVec2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#07798b57f728802d367a7efbea3ce3a7">Nv::Blast::getProjectedPoint</a> (const <a class="el" href="struct_nvc_vec3.html">NvcVec3</a> &amp;point, ProjectionDirections dir)</td></tr>
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.js b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.js
index 6af0abf..868c752 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.js
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h.js
@@ -14,6 +14,7 @@ var _nv_blast_ext_authoring_internal_common_8h =
[ "ZX_PLANE", "_nv_blast_ext_authoring_internal_common_8h.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac", null ],
[ "OPPOSITE_WINDING", "_nv_blast_ext_authoring_internal_common_8h.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152", null ]
] ],
+ [ "calculateCollisionHullVolume", "_nv_blast_ext_authoring_internal_common_8h.html#ad7f758469903c6a753a827ee1525a1e8", null ],
[ "getPlaneSegmentIntersection", "_nv_blast_ext_authoring_internal_common_8h.html#a7bba8d1f555e341010029032391276a6", null ],
[ "getProjectedPoint", "_nv_blast_ext_authoring_internal_common_8h.html#a44d0b01b83d001724a34646ec96d17f0", null ],
[ "getProjectedPoint", "_nv_blast_ext_authoring_internal_common_8h.html#a07798b57f728802d367a7efbea3ce3a7", null ],
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h_source.html
index 7e83869..d78bd76 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_internal_common_8h_source.html
@@ -46,53 +46,64 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_internal_commo
<div class="title">NvBlastExtAuthoringInternalCommon.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_ext_authoring_internal_common_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTINTERNALCOMMON_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTINTERNALCOMMON_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;PxVec2.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;PxVec3.h&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;PxPlane.h&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;PxBounds3.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;PxMath.h&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html"> 47</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf"> 49</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>, <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a>; <span class="comment">// Starting and ending vertices</span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690"> 50</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>; <span class="comment">// Parent facet index</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f"> 51</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f">EdgeWithParent</a>() : s(0), e(0), parent(0) {}</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025">EdgeWithParent</a>(uint32_t s, uint32_t e, uint32_t p) : s(s), e(e), parent(p) {}</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;};</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_comparator.html"> 59</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">EdgeComparator</a></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac"> 61</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;};</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f"> 81</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; b)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a>)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#ae06c88ae71857d247fd27130265f5e25">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#ae06c88ae71857d247fd27130265f5e25">e</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7"> 92</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66"> 94</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a> = 1 &lt;&lt; 1,</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020"> 95</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a> = 1 &lt;&lt; 2,</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac"> 96</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a> = 1 &lt;&lt; 3,</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152"> 98</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a> = 1 &lt;&lt; 4</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;};</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a"> 104</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> <a class="code" href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a">getProjectionDirection</a>(<span class="keyword">const</span> physx::PxVec3&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">float</span> maxv = std::max(std::abs(normal.x), std::max(std::abs(normal.y), std::abs(normal.z)));</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> retVal;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (maxv == std::abs(normal.x))</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (normal.x &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">if</span> (maxv == std::abs(normal.y))</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (normal.y &gt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (normal.z &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0"> 129</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;{</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a07798b57f728802d367a7efbea3ce3a7"> 142</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>((<span class="keyword">const</span> physx::PxVec3&amp;)point, dir);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e"> 150</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e">getProjectedPointWithWinding</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.z, point.y);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.z, point.x);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.x);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#aa8f38c265574616c9326504a5d9919f7"> 178</a></span>&#160;<span class="preprocessor">#define MAXIMUM_EXTENT 1000 * 1000 * 1000</span></div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322"> 179</a></span>&#160;<span class="preprocessor">#define BBOX_TEST_EPS 1e-5f </span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e"> 184</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e">weakBoundingBoxIntersection</a>(<span class="keyword">const</span> physx::PxBounds3&amp; aBox, <span class="keyword">const</span> physx::PxBounds3&amp; bBox)</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;{</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.x, bBox.minimum.x) &gt; std::min(aBox.maximum.x, bBox.maximum.x) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.y, bBox.minimum.y) &gt; std::min(aBox.maximum.y, bBox.maximum.y) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.z, bBox.minimum.z) &gt; std::min(aBox.maximum.z, bBox.maximum.z) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6"> 200</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6">getPlaneSegmentIntersection</a>(<span class="keyword">const</span> physx::PxPlane&amp; pl, <span class="keyword">const</span> physx::PxVec3&amp; a, <span class="keyword">const</span> physx::PxVec3&amp; b,</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; physx::PxVec3&amp; result)</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a171cbcf9510fa3804c56ecfcf78da929">div</a> = (b - a).<a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a91266f20b4a3e7658eedf69ec1f311f4">dot</a>(pl.n);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (physx::PxAbs(div) &lt; 0.0001f)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span> (pl.contains(a))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; result = a;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordtype">float</span> t = (-a.dot(pl.n) - pl.d) / div;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span> (t &lt; 0.0f || t &gt; 1.0f)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; result = (b - a) * t + a;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b"> 226</a></span>&#160;<span class="preprocessor">#define POS_COMPARISON_OFFSET 1e-5f</span></div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22"> 227</a></span>&#160;<span class="preprocessor">#define NORM_COMPARISON_OFFSET 1e-3f</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_comp.html"> 231</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">VrtComp</a></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a"> 233</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#a6f6295fc8669ad95cb006a2189c0ed63">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#a6f6295fc8669ad95cb006a2189c0ed63">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; };</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;};</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html"> 260</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">VrtPositionComparator</a></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;{</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9"> 262</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; };</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c"> 272</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> operator()(a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>, b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; };</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;};</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html_aaf2b5a71ca93c9365d8ddf2df3dab86c"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c">Nv::Blast::VrtPositionComparator::operator()</a></div><div class="ttdeci">bool operator()(const Vertex &amp;a, const Vertex &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:272</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:92</div></div>
+<a href="_nv_blast_ext_authoring_internal_common_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTINTERNALCOMMON_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTINTERNALCOMMON_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_px_shared_helpers_8h.html">NvBlastPxSharedHelpers.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;PxVec2.h&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;PxVec3.h&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;PxPlane.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;PxBounds3.h&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;PxMath.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html"> 48</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf"> 50</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>, <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a>; <span class="comment">// Starting and ending vertices</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690"> 51</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>; <span class="comment">// Parent facet index</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f"> 52</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f">EdgeWithParent</a>() : s(0), e(0), parent(0) {}</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025"> 53</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025">EdgeWithParent</a>(uint32_t s, uint32_t e, uint32_t p) : s(s), e(e), parent(p) {}</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_comparator.html"> 60</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html">EdgeComparator</a></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac"> 62</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">e</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">s</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">parent</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;};</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f"> 82</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>&amp; b)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a> == b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a>)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#ae06c88ae71857d247fd27130265f5e25">e</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#ae06c88ae71857d247fd27130265f5e25">e</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> a.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">s</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7"> 93</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66"> 95</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a> = 1 &lt;&lt; 1,</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020"> 96</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a> = 1 &lt;&lt; 2,</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac"> 97</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a> = 1 &lt;&lt; 3,</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152"> 99</a></span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a> = 1 &lt;&lt; 4</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;};</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a"> 105</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> <a class="code" href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a">getProjectionDirection</a>(<span class="keyword">const</span> physx::PxVec3&amp; <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">float</span> maxv = std::max(std::abs(normal.x), std::max(std::abs(normal.y), std::abs(normal.z)));</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> retVal;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (maxv == std::abs(normal.x))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (normal.x &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (maxv == std::abs(normal.y))</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> (normal.y &gt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; retVal = <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">XY_PLANE</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">if</span> (normal.z &lt; 0) retVal = (<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a>)((<span class="keywordtype">int</span>)retVal | (int)<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> retVal;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;}</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0"> 130</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;{</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a07798b57f728802d367a7efbea3ce3a7"> 143</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;{</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">getProjectedPoint</a>((<span class="keyword">const</span> physx::PxVec3&amp;)point, dir);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;}</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e"> 151</a></span>&#160;<a class="code" href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a> physx::PxVec2 <a class="code" href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e">getProjectedPointWithWinding</a>(<span class="keyword">const</span> physx::PxVec3&amp; point, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">YZ_PLANE</a>)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.z, point.y);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.z);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">ZX_PLANE</a>)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.z, point.x);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.z);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (dir &amp; <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">OPPOSITE_WINDING</a>)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.y, point.x);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> physx::PxVec2(point.x, point.y);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#aa8f38c265574616c9326504a5d9919f7"> 179</a></span>&#160;<span class="preprocessor">#define MAXIMUM_EXTENT 1000 * 1000 * 1000</span></div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322"> 180</a></span>&#160;<span class="preprocessor">#define BBOX_TEST_EPS 1e-5f </span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e"> 185</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e">weakBoundingBoxIntersection</a>(<span class="keyword">const</span> physx::PxBounds3&amp; aBox, <span class="keyword">const</span> physx::PxBounds3&amp; bBox)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.x, bBox.minimum.x) &gt; std::min(aBox.maximum.x, bBox.maximum.x) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.y, bBox.minimum.y) &gt; std::min(aBox.maximum.y, bBox.maximum.y) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (std::max(aBox.minimum.z, bBox.minimum.z) &gt; std::min(aBox.maximum.z, bBox.maximum.z) + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a>)</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6"> 201</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">bool</span> <a class="code" href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6">getPlaneSegmentIntersection</a>(<span class="keyword">const</span> physx::PxPlane&amp; pl, <span class="keyword">const</span> physx::PxVec3&amp; a, <span class="keyword">const</span> physx::PxVec3&amp; b,</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; physx::PxVec3&amp; result)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a171cbcf9510fa3804c56ecfcf78da929">div</a> = (b - a).<a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a91266f20b4a3e7658eedf69ec1f311f4">dot</a>(pl.n);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (physx::PxAbs(div) &lt; 0.0001f)</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (pl.contains(a))</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; result = a;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordtype">float</span> t = (-a.dot(pl.n) - pl.d) / div;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (t &lt; 0.0f || t &gt; 1.0f)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; result = (b - a) * t + a;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b"> 227</a></span>&#160;<span class="preprocessor">#define POS_COMPARISON_OFFSET 1e-5f</span></div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22"> 228</a></span>&#160;<span class="preprocessor">#define NORM_COMPARISON_OFFSET 1e-3f</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_comp.html"> 232</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html">VrtComp</a></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a"> 234</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">n</a>.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#a6f6295fc8669ad95cb006a2189c0ed63">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">uv</a>[0].<a class="code" href="struct_nvc_vec2.html#a6f6295fc8669ad95cb006a2189c0ed63">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; };</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;};</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html"> 261</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">VrtPositionComparator</a></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9"> 263</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &lt; b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - <a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a> &gt; b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; };</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c"> 273</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c">operator()</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; a, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; b)<span class="keyword"> const</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> operator()(a.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>, b.<a class="code" href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">p</a>);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; };</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;};</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="namespace_nv_1_1_blast.html#ad7f758469903c6a753a827ee1525a1e8"> 280</a></span>&#160;<a class="code" href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a> <span class="keywordtype">float</span> <a class="code" href="namespace_nv_1_1_blast.html#ad7f758469903c6a753a827ee1525a1e8">calculateCollisionHullVolume</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>&amp; hull)</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;{</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span> (hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#afb9504c50ea19b6412a16682fe344ce9">pointsCount</a> == 0)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> 0.0f;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="comment">// Find an approximate centroid for a more accurate calculation</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> centroid = { 0.0f, 0.0f, 0.0f };</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#afb9504c50ea19b6412a16682fe344ce9">pointsCount</a>; ++i)</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; centroid = centroid + hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i];</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; centroid = centroid / hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#afb9504c50ea19b6412a16682fe344ce9">pointsCount</a>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordtype">float</span> volume = 0.0f;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a3b638daebe2dabacfabea4c5554920e4">polygonDataCount</a>; ++i)</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html">HullPolygon</a>&amp; poly = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a3840aa67c32d7e6ef8c8fc1d65e7e6da">polygonData</a>[i];</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#a31722ac1b5642eba8d7fa1150c7884a2">vertexCount</a> &lt; 3)</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">const</span> uint32_t i0 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#ab40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a>];</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; uint32_t i1 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#ab40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a> + 1];</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">for</span> (uint32_t j = 2; j &lt; poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#a31722ac1b5642eba8d7fa1150c7884a2">vertexCount</a>; ++j)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> uint32_t i2 = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a21b8e1cfff28fee14678e944df1db2c1">indices</a>[poly.<a class="code" href="struct_nv_1_1_blast_1_1_hull_polygon.html#ab40d5c6b8035902d3c6eac9e3490cbc5">indexBase</a> + j];</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> a = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i0] - centroid;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> b = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i1] - centroid;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nvc_vec3.html">NvcVec3</a> c = hull.<a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html#a7abf6f1a2a7e3d4cad4b25ddff36e57b">points</a>[i2] - centroid;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; volume +=</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; (a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> * b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * c.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> - a.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> * b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> * c.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> * c.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> + a.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * b.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> * c.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> + a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> * b.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a> * c.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> - a.<a class="code" href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">z</a> * b.<a class="code" href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">y</a> * c.<a class="code" href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">x</a>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; i1 = i2;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> (1.0f / 6.0f) * std::abs(volume);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html_aaf2b5a71ca93c9365d8ddf2df3dab86c"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c">Nv::Blast::VrtPositionComparator::operator()</a></div><div class="ttdeci">bool operator()(const Vertex &amp;a, const Vertex &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:273</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:93</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_html_ae06c88ae71857d247fd27130265f5e25"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge.html#ae06c88ae71857d247fd27130265f5e25">Nv::Blast::Edge::e</a></div><div class="ttdeci">uint32_t e</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:61</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_a7157f6d3f264ba6158f4614285725bcf"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">Nv::Blast::EdgeWithParent::s</a></div><div class="ttdeci">uint32_t s</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:49</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">Nv::Blast::YZ_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:94</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">Nv::Blast::XY_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:95</div></div>
-<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a32c55d4d4c220508c3b7b73a88015c22"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a></div><div class="ttdeci">#define NORM_COMPARISON_OFFSET</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:227</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_a7157f6d3f264ba6158f4614285725bcf"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a7157f6d3f264ba6158f4614285725bcf">Nv::Blast::EdgeWithParent::s</a></div><div class="ttdeci">uint32_t s</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:50</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_hull_polygon_html_ab40d5c6b8035902d3c6eac9e3490cbc5"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_hull_polygon.html#ab40d5c6b8035902d3c6eac9e3490cbc5">Nv::Blast::HullPolygon::indexBase</a></div><div class="ttdeci">uint16_t indexBase</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:127</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7ad1627b65f07422426fe4a478c7836a66">Nv::Blast::YZ_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:95</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a85a6dd87b4024df1cddcd744fa2c0020">Nv::Blast::XY_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:96</div></div>
+<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a32c55d4d4c220508c3b7b73a88015c22"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22">NORM_COMPARISON_OFFSET</a></div><div class="ttdeci">#define NORM_COMPARISON_OFFSET</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:228</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a1c8d1bbcf531b04e6ff52f5357987794"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">Nv::Blast::VecMath::normal</a></div><div class="ttdeci">NV_INLINE float normal(const float a[3], float r[3])</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:93</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:47</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:48</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_types_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a></div></div>
<div class="ttc" id="struct_nvc_vec3_html_a1702951e0e9b57bb36780a4d241dd7c7"><div class="ttname"><a href="struct_nvc_vec3.html#a1702951e0e9b57bb36780a4d241dd7c7">NvcVec3::z</a></div><div class="ttdeci">float z</div><div class="ttdef"><b>Definition:</b> NvCTypes.h:51</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_comparator_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_comparator.html">Nv::Blast::EdgeComparator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:59</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_comparator_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_comparator.html">Nv::Blast::EdgeComparator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:60</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_hull_polygon_html_a31722ac1b5642eba8d7fa1150c7884a2"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_hull_polygon.html#a31722ac1b5642eba8d7fa1150c7884a2">Nv::Blast::HullPolygon::vertexCount</a></div><div class="ttdeci">uint16_t vertexCount</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:125</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_vertex_html_a7278be7edf4ff59599aaf7e2413fb7b4"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vertex.html#a7278be7edf4ff59599aaf7e2413fb7b4">Nv::Blast::Vertex::n</a></div><div class="ttdeci">NvcVec3 n</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:72</div></div>
-<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a1278adb36f840dc5e957ce2b34b46322"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a></div><div class="ttdeci">#define BBOX_TEST_EPS</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:179</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_acf1aa675b24e661db37949852a97b58f"><div class="ttname"><a href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f">Nv::Blast::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const Edge &amp;a, const Edge &amp;b)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:81</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_ac18f86b13ce9fff59e084707e199646a"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">Nv::Blast::EdgeWithParent::e</a></div><div class="ttdeci">uint32_t e</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:49</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html_a21b8e1cfff28fee14678e944df1db2c1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html#a21b8e1cfff28fee14678e944df1db2c1">Nv::Blast::CollisionHull::indices</a></div><div class="ttdeci">uint32_t * indices</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:139</div></div>
+<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a1278adb36f840dc5e957ce2b34b46322"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322">BBOX_TEST_EPS</a></div><div class="ttdeci">#define BBOX_TEST_EPS</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:180</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_acf1aa675b24e661db37949852a97b58f"><div class="ttname"><a href="namespace_nv_1_1_blast.html#acf1aa675b24e661db37949852a97b58f">Nv::Blast::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const Edge &amp;a, const Edge &amp;b)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:82</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_ad7f758469903c6a753a827ee1525a1e8"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ad7f758469903c6a753a827ee1525a1e8">Nv::Blast::calculateCollisionHullVolume</a></div><div class="ttdeci">NV_INLINE float calculateCollisionHullVolume(const CollisionHull &amp;hull)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:280</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_ac18f86b13ce9fff59e084707e199646a"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac18f86b13ce9fff59e084707e199646a">Nv::Blast::EdgeWithParent::e</a></div><div class="ttdeci">uint32_t e</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:50</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html_a3840aa67c32d7e6ef8c8fc1d65e7e6da"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html#a3840aa67c32d7e6ef8c8fc1d65e7e6da">Nv::Blast::CollisionHull::polygonData</a></div><div class="ttdeci">HullPolygon * polygonData</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:140</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_hull_polygon_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_hull_polygon.html">Nv::Blast::HullPolygon</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:120</div></div>
<div class="ttc" id="struct_nvc_vec3_html_a1fb754591e800bd36dcb2223216644fb"><div class="ttname"><a href="struct_nvc_vec3.html#a1fb754591e800bd36dcb2223216644fb">NvcVec3::x</a></div><div class="ttdeci">float x</div><div class="ttdef"><b>Definition:</b> NvCTypes.h:51</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">Nv::Blast::OPPOSITE_WINDING</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:98</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152">Nv::Blast::OPPOSITE_WINDING</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:99</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html">Nv::Blast::CollisionHull</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:133</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a171cbcf9510fa3804c56ecfcf78da929"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a171cbcf9510fa3804c56ecfcf78da929">Nv::Blast::VecMath::div</a></div><div class="ttdeci">NV_INLINE void div(float a[3], float divisor)</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:43</div></div>
<div class="ttc" id="struct_nvc_vec2_html_ae4a6f9e53428ccf99829db890b938aad"><div class="ttname"><a href="struct_nvc_vec2.html#ae4a6f9e53428ccf99829db890b938aad">NvcVec2::x</a></div><div class="ttdeci">float x</div><div class="ttdef"><b>Definition:</b> NvCTypes.h:45</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_comp_html_a394c39b826fd05e37f7ea5403f13fb2a"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a">Nv::Blast::VrtComp::operator()</a></div><div class="ttdeci">bool operator()(const Vertex &amp;a, const Vertex &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:233</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">Nv::Blast::ZX_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:96</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_comp_html_a394c39b826fd05e37f7ea5403f13fb2a"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a">Nv::Blast::VrtComp::operator()</a></div><div class="ttdeci">bool operator()(const Vertex &amp;a, const Vertex &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:234</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac">Nv::Blast::ZX_PLANE</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:97</div></div>
<div class="ttc" id="group__foundation_html_ga36a01a4a51968418a26b06da7e1ad5d0"><div class="ttname"><a href="group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0">NV_INLINE</a></div><div class="ttdeci">#define NV_INLINE</div><div class="ttdef"><b>Definition:</b> NvPreprocessor.h:350</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_comp_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_comp.html">Nv::Blast::VrtComp</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:231</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_comp_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_comp.html">Nv::Blast::VrtComp</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:232</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html_a7abf6f1a2a7e3d4cad4b25ddff36e57b"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html#a7abf6f1a2a7e3d4cad4b25ddff36e57b">Nv::Blast::CollisionHull::points</a></div><div class="ttdeci">NvcVec3 * points</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:138</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html_afb9504c50ea19b6412a16682fe344ce9"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html#afb9504c50ea19b6412a16682fe344ce9">Nv::Blast::CollisionHull::pointsCount</a></div><div class="ttdeci">uint32_t pointsCount</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:135</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_vertex_html_a289a9b0904000c3eb54a672d6ca1eefa"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vertex.html#a289a9b0904000c3eb54a672d6ca1eefa">Nv::Blast::Vertex::uv</a></div><div class="ttdeci">NvcVec2 uv[1]</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:73</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">Nv::Blast::VrtPositionComparator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:260</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a5f4aa5b6b2451711fccf09757bdd2e1e"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e">Nv::Blast::getProjectedPointWithWinding</a></div><div class="ttdeci">NV_FORCE_INLINE physx::PxVec2 getProjectedPointWithWinding(const physx::PxVec3 &amp;point, ProjectionDirections dir)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:150</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_ac2356627cc0f43aaa5f417a36e1c5690"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">Nv::Blast::EdgeWithParent::parent</a></div><div class="ttdeci">uint32_t parent</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:50</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html_a03573f86530a247194da20c946c159b9"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9">Nv::Blast::VrtPositionComparator::operator()</a></div><div class="ttdeci">bool operator()(const NvcVec3 &amp;a, const NvcVec3 &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:262</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html">Nv::Blast::VrtPositionComparator</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:261</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a5f4aa5b6b2451711fccf09757bdd2e1e"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a5f4aa5b6b2451711fccf09757bdd2e1e">Nv::Blast::getProjectedPointWithWinding</a></div><div class="ttdeci">NV_FORCE_INLINE physx::PxVec2 getProjectedPointWithWinding(const physx::PxVec3 &amp;point, ProjectionDirections dir)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:151</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_ac2356627cc0f43aaa5f417a36e1c5690"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#ac2356627cc0f43aaa5f417a36e1c5690">Nv::Blast::EdgeWithParent::parent</a></div><div class="ttdeci">uint32_t parent</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:51</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_vrt_position_comparator_html_a03573f86530a247194da20c946c159b9"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9">Nv::Blast::VrtPositionComparator::operator()</a></div><div class="ttdeci">bool operator()(const NvcVec3 &amp;a, const NvcVec3 &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:263</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_collision_hull_html_a3b638daebe2dabacfabea4c5554920e4"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_collision_hull.html#a3b638daebe2dabacfabea4c5554920e4">Nv::Blast::CollisionHull::polygonDataCount</a></div><div class="ttdeci">uint32_t polygonDataCount</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:137</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a91266f20b4a3e7658eedf69ec1f311f4"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a91266f20b4a3e7658eedf69ec1f311f4">Nv::Blast::VecMath::dot</a></div><div class="ttdeci">NV_INLINE float dot(const float a[3], const float b[3])</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:73</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_a69cbe936ff0e6145fc3f5ca804a35025"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025">Nv::Blast::EdgeWithParent::EdgeWithParent</a></div><div class="ttdeci">EdgeWithParent(uint32_t s, uint32_t e, uint32_t p)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:52</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_ab77f76686c61a4a62d1aabb5e7b9c20a"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a">Nv::Blast::getProjectionDirection</a></div><div class="ttdeci">NV_FORCE_INLINE ProjectionDirections getProjectionDirection(const physx::PxVec3 &amp;normal)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:104</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_ab18c3161481f8a05cd11866ef1afbd9e"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e">Nv::Blast::weakBoundingBoxIntersection</a></div><div class="ttdeci">NV_INLINE bool weakBoundingBoxIntersection(const physx::PxBounds3 &amp;aBox, const physx::PxBounds3 &amp;bBox)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:184</div></div>
-<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a33b5ebc62b7fb0364e3ae3575380142b"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a></div><div class="ttdeci">#define POS_COMPARISON_OFFSET</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:226</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_a69cbe936ff0e6145fc3f5ca804a35025"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#a69cbe936ff0e6145fc3f5ca804a35025">Nv::Blast::EdgeWithParent::EdgeWithParent</a></div><div class="ttdeci">EdgeWithParent(uint32_t s, uint32_t e, uint32_t p)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:53</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_ab77f76686c61a4a62d1aabb5e7b9c20a"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ab77f76686c61a4a62d1aabb5e7b9c20a">Nv::Blast::getProjectionDirection</a></div><div class="ttdeci">NV_FORCE_INLINE ProjectionDirections getProjectionDirection(const physx::PxVec3 &amp;normal)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:105</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_ab18c3161481f8a05cd11866ef1afbd9e"><div class="ttname"><a href="namespace_nv_1_1_blast.html#ab18c3161481f8a05cd11866ef1afbd9e">Nv::Blast::weakBoundingBoxIntersection</a></div><div class="ttdeci">NV_INLINE bool weakBoundingBoxIntersection(const physx::PxBounds3 &amp;aBox, const physx::PxBounds3 &amp;bBox)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:185</div></div>
+<div class="ttc" id="_nv_blast_ext_authoring_internal_common_8h_html_a33b5ebc62b7fb0364e3ae3575380142b"><div class="ttname"><a href="_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b">POS_COMPARISON_OFFSET</a></div><div class="ttdeci">#define POS_COMPARISON_OFFSET</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:227</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge.html">Nv::Blast::Edge</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:57</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a7bba8d1f555e341010029032391276a6"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6">Nv::Blast::getPlaneSegmentIntersection</a></div><div class="ttdeci">NV_INLINE bool getPlaneSegmentIntersection(const physx::PxPlane &amp;pl, const physx::PxVec3 &amp;a, const physx::PxVec3 &amp;b, physx::PxVec3 &amp;result)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:200</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a7bba8d1f555e341010029032391276a6"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a7bba8d1f555e341010029032391276a6">Nv::Blast::getPlaneSegmentIntersection</a></div><div class="ttdeci">NV_INLINE bool getPlaneSegmentIntersection(const physx::PxPlane &amp;pl, const physx::PxVec3 &amp;a, const physx::PxVec3 &amp;b, physx::PxVec3 &amp;result)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:201</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_vertex_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vertex.html">Nv::Blast::Vertex</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:67</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_vertex_html_aaac433633e99222e1d4d42442eba6b18"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18">Nv::Blast::Vertex::p</a></div><div class="ttdeci">NvcVec3 p</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:71</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a44d0b01b83d001724a34646ec96d17f0"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">Nv::Blast::getProjectedPoint</a></div><div class="ttdeci">NV_FORCE_INLINE physx::PxVec2 getProjectedPoint(const physx::PxVec3 &amp;point, ProjectionDirections dir)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:129</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_comparator_html_a13648d8b9c80da2af99ed85760ec38ac"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac">Nv::Blast::EdgeComparator::operator()</a></div><div class="ttdeci">bool operator()(const EdgeWithParent &amp;a, const EdgeWithParent &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:61</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a44d0b01b83d001724a34646ec96d17f0"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a44d0b01b83d001724a34646ec96d17f0">Nv::Blast::getProjectedPoint</a></div><div class="ttdeci">NV_FORCE_INLINE physx::PxVec2 getProjectedPoint(const physx::PxVec3 &amp;point, ProjectionDirections dir)</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:130</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_comparator_html_a13648d8b9c80da2af99ed85760ec38ac"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_comparator.html#a13648d8b9c80da2af99ed85760ec38ac">Nv::Blast::EdgeComparator::operator()</a></div><div class="ttdeci">bool operator()(const EdgeWithParent &amp;a, const EdgeWithParent &amp;b) const</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:62</div></div>
+<div class="ttc" id="_nv_blast_px_shared_helpers_8h_html"><div class="ttname"><a href="_nv_blast_px_shared_helpers_8h.html">NvBlastPxSharedHelpers.h</a></div></div>
<div class="ttc" id="struct_nvc_vec2_html_a6f6295fc8669ad95cb006a2189c0ed63"><div class="ttname"><a href="struct_nvc_vec2.html#a6f6295fc8669ad95cb006a2189c0ed63">NvcVec2::y</a></div><div class="ttdeci">float y</div><div class="ttdef"><b>Definition:</b> NvCTypes.h:45</div></div>
<div class="ttc" id="namespace_nv_html"><div class="ttname"><a href="namespace_nv.html">Nv</a></div><div class="ttdef"><b>Definition:</b> NvBlastArray.h:37</div></div>
<div class="ttc" id="struct_nvc_vec3_html"><div class="ttname"><a href="struct_nvc_vec3.html">NvcVec3</a></div><div class="ttdef"><b>Definition:</b> NvCTypes.h:49</div></div>
<div class="ttc" id="group__foundation_html_gae9e06fb68b9ca307fa4377186da9052e"><div class="ttname"><a href="group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e">NV_FORCE_INLINE</a></div><div class="ttdeci">#define NV_FORCE_INLINE</div><div class="ttdef"><b>Definition:</b> NvPreprocessor.h:365</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_html_a3638e37be242b0af2deb14b09cbf8cc7"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge.html#a3638e37be242b0af2deb14b09cbf8cc7">Nv::Blast::Edge::s</a></div><div class="ttdeci">uint32_t s</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTypes.h:60</div></div>
<div class="ttc" id="struct_nvc_vec3_html_ab94f8fe1d24d91b942bc6e87e76c0fc0"><div class="ttname"><a href="struct_nvc_vec3.html#ab94f8fe1d24d91b942bc6e87e76c0fc0">NvcVec3::y</a></div><div class="ttdeci">float y</div><div class="ttdef"><b>Definition:</b> NvCTypes.h:51</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_aa37d68282f0ac6ec2f5f1e277a10d04f"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f">Nv::Blast::EdgeWithParent::EdgeWithParent</a></div><div class="ttdeci">EdgeWithParent()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:51</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html_aa37d68282f0ac6ec2f5f1e277a10d04f"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html#aa37d68282f0ac6ec2f5f1e277a10d04f">Nv::Blast::EdgeWithParent::EdgeWithParent</a></div><div class="ttdeci">EdgeWithParent()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:52</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_triangulator_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_triangulator_8h_source.html
index 2cde922..19783dc 100755
--- a/docs/source_docs/files/_nv_blast_ext_authoring_triangulator_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_authoring_triangulator_8h_source.html
@@ -46,10 +46,10 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_triangulator_8
<div class="title">NvBlastExtAuthoringTriangulator.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="_nv_blast_ext_authoring_triangulator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_mesh_8h.html">NvBlastExtAuthoringMesh.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html">NvBlastExtAuthoringInternalCommon.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_triangulator.html">Triangulator</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#ab7cf6608fd71c417262feec54f3ccf75">triangulate</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a76e1c257449e53049c62984e1e95b44d"> 60</a></span>&#160; std::vector&lt;Triangle&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a76e1c257449e53049c62984e1e95b44d">getBaseMesh</a>()</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> mBaseMeshUVFittedTriangles;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#afb79de514677eec79c20e4d296736f0e"> 65</a></span>&#160; std::vector&lt;Triangle&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#afb79de514677eec79c20e4d296736f0e">getBaseMeshNotFitted</a>()</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> mBaseMeshResultTriangles;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#afa48ddb045fffaded4b1ad09302a34c7"> 74</a></span>&#160; std::vector&lt;TriangleIndexed&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#afa48ddb045fffaded4b1ad09302a34c7">getBaseMeshIndexed</a>()</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> mBaseMeshTriangles;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a2138ec663adee80577dae6cc275b7ece"> 81</a></span>&#160; std::vector&lt;uint32_t&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a2138ec663adee80577dae6cc275b7ece">getBaseMapping</a>()</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> mBaseMapping;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; };</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a7de0951574f73e310626823228c0f005"> 88</a></span>&#160; std::vector&lt;int32_t&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a7de0951574f73e310626823228c0f005">getPositionedMapping</a>()</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> mPositionMappedVrt;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; };</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#ad99ae2011c5aee476fffd79ff9ac4672"> 95</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#ad99ae2011c5aee476fffd79ff9ac4672">getWeldedVerticesCount</a>()</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span>(mVertices.size());</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; } </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#aa76275caaab7c2212cca640722d91ca6">reset</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a109f341cad221c76f8eecbdd641b566e"> 105</a></span>&#160; int32_t&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a109f341cad221c76f8eecbdd641b566e">getParentChunkId</a>() { <span class="keywordflow">return</span> parentChunkId; };</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; int32_t parentChunkId;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; int32_t addVerticeIfNotExist(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; p);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> addEdgeIfValid(<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; ed);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">/* Data used before triangulation to build polygon loops*/</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; std::vector&lt;Vertex&gt; mVertices;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; std::vector&lt;EdgeWithParent&gt; mBaseMeshEdges;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::map&lt;Vertex, int32_t, VrtComp&gt; mVertMap;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; std::map&lt;EdgeWithParent, int32_t, EdgeComparator&gt; mEdgeMap;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; std::vector&lt;uint32_t&gt; mBaseMapping;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; std::vector&lt;int32_t&gt; mPositionMappedVrt;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">/* ------------------------------------------------------------ */</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> prepare(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">void</span> triangulatePolygonWithEarClipping(std::vector&lt;uint32_t&gt;&amp; inputPolygon, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* vert, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">void</span> buildPolygonAndTriangulate(std::vector&lt;Edge&gt;&amp; edges, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* vertices, int32_t userData, int32_t materialId, int32_t smoothingGroup);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">void</span> computePositionedMapping();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; std::vector&lt;TriangleIndexed&gt; mBaseMeshTriangles; </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::vector&lt;Triangle&gt; mBaseMeshResultTriangles;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; std::vector&lt;Triangle&gt; mBaseMeshUVFittedTriangles;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;};</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:92</div></div>
+<a href="_nv_blast_ext_authoring_triangulator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">// Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_mesh_8h.html">NvBlastExtAuthoringMesh.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html">NvBlastExtAuthoringInternalCommon.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_triangulator.html">Triangulator</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#ab7cf6608fd71c417262feec54f3ccf75">triangulate</a>(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a76e1c257449e53049c62984e1e95b44d"> 60</a></span>&#160; std::vector&lt;Triangle&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a76e1c257449e53049c62984e1e95b44d">getBaseMesh</a>()</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> mBaseMeshUVFittedTriangles;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#afb79de514677eec79c20e4d296736f0e"> 65</a></span>&#160; std::vector&lt;Triangle&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#afb79de514677eec79c20e4d296736f0e">getBaseMeshNotFitted</a>()</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> mBaseMeshResultTriangles;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#afa48ddb045fffaded4b1ad09302a34c7"> 74</a></span>&#160; std::vector&lt;TriangleIndexed&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#afa48ddb045fffaded4b1ad09302a34c7">getBaseMeshIndexed</a>()</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> mBaseMeshTriangles;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a2138ec663adee80577dae6cc275b7ece"> 81</a></span>&#160; std::vector&lt;uint32_t&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a2138ec663adee80577dae6cc275b7ece">getBaseMapping</a>()</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> mBaseMapping;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; };</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a7de0951574f73e310626823228c0f005"> 88</a></span>&#160; std::vector&lt;int32_t&gt;&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a7de0951574f73e310626823228c0f005">getPositionedMapping</a>()</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> mPositionMappedVrt;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; };</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#ad99ae2011c5aee476fffd79ff9ac4672"> 95</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#ad99ae2011c5aee476fffd79ff9ac4672">getWeldedVerticesCount</a>()</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span>(mVertices.size());</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; } </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#aa76275caaab7c2212cca640722d91ca6">reset</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator.html#a109f341cad221c76f8eecbdd641b566e"> 105</a></span>&#160; int32_t&amp; <a class="code" href="class_nv_1_1_blast_1_1_triangulator.html#a109f341cad221c76f8eecbdd641b566e">getParentChunkId</a>() { <span class="keywordflow">return</span> parentChunkId; };</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; int32_t parentChunkId;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; int32_t addVerticeIfNotExist(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; p);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> addEdgeIfValid(<a class="code" href="struct_nv_1_1_blast_1_1_edge_with_parent.html">EdgeWithParent</a>&amp; ed);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">/* Data used before triangulation to build polygon loops*/</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; std::vector&lt;Vertex&gt; mVertices;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; std::vector&lt;EdgeWithParent&gt; mBaseMeshEdges;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::map&lt;Vertex, int32_t, VrtComp&gt; mVertMap;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; std::map&lt;EdgeWithParent, int32_t, EdgeComparator&gt; mEdgeMap;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; std::vector&lt;uint32_t&gt; mBaseMapping;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; std::vector&lt;int32_t&gt; mPositionMappedVrt;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">/* ------------------------------------------------------------ */</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> prepare(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">void</span> triangulatePolygonWithEarClipping(std::vector&lt;uint32_t&gt;&amp; inputPolygon, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* vert, <a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">void</span> buildPolygonAndTriangulate(std::vector&lt;Edge&gt;&amp; edges, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* vertices, int32_t userData, int32_t materialId, int32_t smoothingGroup);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">void</span> computePositionedMapping();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; std::vector&lt;TriangleIndexed&gt; mBaseMeshTriangles; </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::vector&lt;Triangle&gt; mBaseMeshResultTriangles;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; std::vector&lt;Triangle&gt; mBaseMeshUVFittedTriangles;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;};</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;} <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;} <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#endif // ifndef NVBLASTEXTAUTHORINGTRIANGULATOR_H</span></div><div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:93</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_triangulator_html_a7de0951574f73e310626823228c0f005"><div class="ttname"><a href="class_nv_1_1_blast_1_1_triangulator.html#a7de0951574f73e310626823228c0f005">Nv::Blast::Triangulator::getPositionedMapping</a></div><div class="ttdeci">std::vector&lt; int32_t &gt; &amp; getPositionedMapping()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTriangulator.h:88</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_triangulator_html_afb79de514677eec79c20e4d296736f0e"><div class="ttname"><a href="class_nv_1_1_blast_1_1_triangulator.html#afb79de514677eec79c20e4d296736f0e">Nv::Blast::Triangulator::getBaseMeshNotFitted</a></div><div class="ttdeci">std::vector&lt; Triangle &gt; &amp; getBaseMeshNotFitted()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTriangulator.h:65</div></div>
-<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:47</div></div>
+<div class="ttc" id="struct_nv_1_1_blast_1_1_edge_with_parent_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_edge_with_parent.html">Nv::Blast::EdgeWithParent</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:48</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_triangulator_html_a2138ec663adee80577dae6cc275b7ece"><div class="ttname"><a href="class_nv_1_1_blast_1_1_triangulator.html#a2138ec663adee80577dae6cc275b7ece">Nv::Blast::Triangulator::getBaseMapping</a></div><div class="ttdeci">std::vector&lt; uint32_t &gt; &amp; getBaseMapping()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTriangulator.h:81</div></div>
<div class="ttc" id="_nv_blast_ext_authoring_types_8h_html"><div class="ttname"><a href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a></div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_triangulator_html_ad99ae2011c5aee476fffd79ff9ac4672"><div class="ttname"><a href="class_nv_1_1_blast_1_1_triangulator.html#ad99ae2011c5aee476fffd79ff9ac4672">Nv::Blast::Triangulator::getWeldedVerticesCount</a></div><div class="ttdeci">uint32_t getWeldedVerticesCount()</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringTriangulator.h:95</div></div>
diff --git a/docs/source_docs/files/_nv_blast_ext_r_t_geometry_8h_source.html b/docs/source_docs/files/_nv_blast_ext_r_t_geometry_8h_source.html
index dbb90b4..922e8d0 100644
--- a/docs/source_docs/files/_nv_blast_ext_r_t_geometry_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_ext_r_t_geometry_8h_source.html
@@ -47,7 +47,7 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_r_t_geometry_8h_source.h
</div><!--header-->
<div class="contents">
<a href="_nv_blast_ext_r_t_geometry_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_types_8h.html">NvBlastExtAuthoringTypes.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_internal_common_8h.html">NvBlastExtAuthoringInternalCommon.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_authoring_accelerator_8h.html">NvBlastExtAuthoringAccelerator.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_nv_blast_ext_r_t_8h.html">NvBlastExtRT.h</a>&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">using</span> physx::PxVec3;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">using</span> physx::PxVec2;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;{</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">class </span>Mesh;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_vertex_welding.html"> 18</a></span>&#160; <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html">VertexWelding</a></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; {</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_vertex_welding.html#acd0cebb80435007b21ecb9b47006bee3"> 22</a></span>&#160; <span class="keyword">typedef</span> int32_t (<a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html">VertexWelding</a>::*<a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#acd0cebb80435007b21ecb9b47006bee3">LOCATE_CALLBACK</a>)(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; v, uint32_t bucket, <span class="keywordtype">bool</span>&amp; isAllDataTheSame);</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#a7b6c5e367575dc9eb7f1af1fecc57a94">VertexWelding</a>(uint32_t maxVertexCount, uint32_t maxBucketCount, <span class="keywordtype">float</span> gridCellSize, <span class="keywordtype">float</span> weldEpsilon, <span class="keywordtype">float</span> auxEpsilon, <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#acd0cebb80435007b21ecb9b47006bee3">LOCATE_CALLBACK</a> clb);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_vertex_welding.html#a0b11cec9f1b41de3a5b25af18093feb4"> 26</a></span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#a0b11cec9f1b41de3a5b25af18093feb4">getVertices</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">return</span> vertex.data();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; }</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_vertex_welding.html#a7fa2276c48854e0aa682f362c39ac0cf"> 30</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#a7fa2276c48854e0aa682f362c39ac0cf">getVerticesCount</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> vertex.size();</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#acbe36a00768fdf709c8f36af89849d40">reset</a>();</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#abeb54580eb917d925635f1f1a028d26c">WeldVertex</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a> *v);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#aec2674011414297a8e6a3479c71df843">LocateVertexInBucket</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; v, uint32_t bucket, <span class="keywordtype">bool</span>&amp; isAllDataTheSame);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; int32_t <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#ab30a986dad4ac8ad37508212a8ce3e8f">LocateVertexInBucketOnlyPosition</a>(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; v, uint32_t bucket, <span class="keywordtype">bool</span>&amp; isAllDataTheSame);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Computes hash bucket index in range [0, NUM_BUCKETS-1]</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">//int32_t ComputeHashBucketIndex(const Vertex&amp; v)</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; int32_t ComputeHashBucketIndex(int32_t <a class="code" href="bt_vector3_8h.html#a9ac999fc46ed7720280dca03ad1e4e62">x</a>, int32_t <a class="code" href="bt_vector3_8h.html#adbffb9cb652cea7e0343fa39dcae22c8">y</a>, int32_t <a class="code" href="bt_vector3_8h.html#a419978af43d009c4b093b0f4ccc9de08">z</a>);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">void</span> AddVertexToBucket(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>&amp; v, uint32_t bucket);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::vector&lt;int32_t&gt; first; <span class="comment">// start of linked list for each bucket</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; std::vector&lt;int32_t&gt; next; <span class="comment">// links each vertex to next in linked list</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; std::vector&lt;Vertex&gt; vertex; <span class="comment">// unique vertices within tolerance</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">const</span> uint32_t maxVertexCount; <span class="comment">// max number of vertices that can be welded at once</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">const</span> uint32_t maxBucketCount; <span class="comment">// number of hash buckets to map grid cells into</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> gridCellSizeInv; <span class="comment">// grid cell size; must be at least 2*WELD_EPSILON</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> weldEpsilon; <span class="comment">// radius around vertex defining welding neighborhood</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> auxEpsilon; <span class="comment">// epsilon for normal and uv of vertex</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html#acd0cebb80435007b21ecb9b47006bee3">LOCATE_CALLBACK</a> locateCallback;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; };</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html"> 62</a></span>&#160; <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html">BooleanToolV2</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_fracturer.html">Fracturer</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html"> 66</a></span>&#160; <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#a2f335d007d39a1a1f03fa4666619371c"> 68</a></span>&#160; int32_t ca, cb, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#a2f335d007d39a1a1f03fa4666619371c">ci</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#a5461ae67394464c4385c70f2430320fe"> 69</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#a5461ae67394464c4385c70f2430320fe">Mode</a>() { ca = 0; cb = 0; ci = -1; };</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#aa9b67023890abe9c7bac760a396fd6c8"> 70</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#aa9b67023890abe9c7bac760a396fd6c8">Mode</a>(int32_t a, int32_t b, int32_t c) : ca(a), cb(b), ci(c)</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#abf2844039080860bef55230ef16e0823"> 74</a></span>&#160; <span class="keyword">static</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#abf2844039080860bef55230ef16e0823">Intersection</a>()</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a>(0, 0, 1);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#ae829dba2deb73fa8d430f87b2ae5831e"> 82</a></span>&#160; <span class="keyword">static</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#ae829dba2deb73fa8d430f87b2ae5831e">Union</a>()</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a>(1, 1, -1);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#ad97cffa29e180ef256fd73382857b2fd"> 89</a></span>&#160; <span class="keyword">static</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html#ad97cffa29e180ef256fd73382857b2fd">Difference</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a>(1, 0, -1);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; };</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html">BooleanToolV2</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">void</span> release();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#ace5f208600728f96f0b61f64dcc043df"> 103</a></span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#ace5f208600728f96f0b61f64dcc043df">mMeshA</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#a945d1265a73c99b9588ccc826cac80f4"> 104</a></span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* <a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#a945d1265a73c99b9588ccc826cac80f4">mMeshB</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#add55d1442f97ea650ca8b9477a58f9e7"> 105</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* <a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#add55d1442f97ea650ca8b9477a58f9e7">mAccelA</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#a44c36f2e03ef2605d48c4f580d4ece20"> 106</a></span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_spatial_accelerator.html">SpatialAccelerator</a>* <a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html#a44c36f2e03ef2605d48c4f580d4ece20">mAccelB</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">//const PreparedMesh* mPreparedA;</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">//const PreparedMesh* mPreparedB;</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">void</span> makeFacetFacetTests(<a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html">BooleanToolOutputData</a>* outputData, int32_t threadId, int32_t threadCount);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">void</span> retain(<span class="keywordtype">bool</span> isA, <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html">BooleanToolOutputData</a>* outputData, int32_t threadId, int32_t threadCount,</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_damage_pattern.html">DamagePattern</a>* pattern = <span class="keyword">nullptr</span>, int32_t chunk = -1);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">//Nv::Blast::Mesh* getMesh();</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; int32_t computeV03(<span class="keyword">const</span> PxVec3&amp; point);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; int32_t computeV30(<span class="keyword">const</span> PxVec3&amp; point);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">void</span> computeRetained(<span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mesh, <span class="keyword">const</span> physx::PxBounds3&amp; bMeshBoudning,</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; int32_t(<a class="code" href="class_nv_1_1_blast_1_1_boolean_tool_v2.html">BooleanToolV2</a>::*computeV3)(<span class="keyword">const</span> physx::PxVec3&amp;), int32_t btC, int32_t btCI, int32_t parentFacetOffset,</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html">BooleanToolOutputData</a>* outputData, int32_t threadId, int32_t threadCount,</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">struct</span> FaceOrientation* fo = <span class="keyword">nullptr</span>, <span class="keyword">const</span> std::vector&lt;bool&gt;* validAdjacentFacet = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">float</span>* sx1;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">float</span>* sy1;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordtype">float</span>* ex1;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">float</span>* ey1;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">float</span>* px1;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordtype">float</span>* py1;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">float</span>* pt1;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">float</span>* resy1;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; int32_t* winding1;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; int32_t* projectedWinding1;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">float</span>* sx2;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">float</span>* sy2;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">float</span>* ex2;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordtype">float</span>* ey2;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">float</span>* px2;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">float</span>* py2;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">float</span>* pt2;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">float</span>* resy2;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; int32_t* winding2;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; int32_t* projectedWinding2;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; uint32_t* edgeFacetTestA;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; uint32_t* edgeFacetTestB;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; int32_t* edgeCrossCheckTest;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* edgeCrossA;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* edgeCrossB;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_boolean_tool_v2_1_1_mode.html">Mode</a> mToolMode;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; };</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator_v2.html"> 180</a></span>&#160; <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html">TriangulatorV2</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh_generator.html">MeshGenerator</a></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html">TriangulatorV2</a>();</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> release();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; uint32_t build(<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_result_edge.html">BooleanResultEdge</a>* edges, uint32_t inEdgeCount, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* inVertices, <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* outWeldedVrts, uint32_t&amp; vcount, uint32_t* outTriangles, <a class="code" href="struct_nv_1_1_blast_1_1_per_triangle_additional_data.html">PerTriangleAdditionalData</a>* adata, uint32_t maxTcount, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* ma, <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* mb);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html"> 189</a></span>&#160; <span class="keyword">struct </span><a class="code" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html">LinkedListElement</a></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a708d24256a64089f32460ec04d1c27ad"> 191</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a708d24256a64089f32460ec04d1c27ad">point</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a8467edeed5e4041a2f9d4ac3fa33c7a6"> 192</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a8467edeed5e4041a2f9d4ac3fa33c7a6">nextPoint</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a55044f85fce26149cad580b30c3f7675"> 193</a></span>&#160; uint32_t <a class="code" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#a55044f85fce26149cad580b30c3f7675">prevPoint</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; };</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator_v2.html#a0892cd9406e12864c3ba6dc87ee9ec84"> 196</a></span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_vertex.html">Vertex</a>* <a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html#a0892cd9406e12864c3ba6dc87ee9ec84">weldedVertices</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator_v2.html#af4c4a66cfef1d77b68a34dd585a4e16c"> 197</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html#af4c4a66cfef1d77b68a34dd585a4e16c">weldedCount</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator_v2.html#affd9e581c91c7f26c7442a799afd13d5"> 198</a></span>&#160; uint32_t* <a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html#affd9e581c91c7f26c7442a799afd13d5">triangleIndices</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_triangulator_v2.html#ae9c6fc7e33d3cfbd58f6b5344e87534b"> 199</a></span>&#160; uint32_t <a class="code" href="class_nv_1_1_blast_1_1_triangulator_v2.html#ae9c6fc7e33d3cfbd58f6b5344e87534b">triangleCount</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">void</span> triangulatePolygonWithEarClipping(<a class="code" href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">ProjectionDirections</a> dir);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html">LinkedListElement</a> facetList[1024];</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; uint32_t facetListSize;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; uint32_t pointIndicesList[1024];</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; uint32_t pointCount;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; physx::PxVec2 projectedPointList[1024];</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; uint32_t projectedPointCount;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; uint32_t visitedFlagValue[1024];</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; uint32_t currentFlagValue;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="struct_nv_1_1_blast_1_1_edge.html">Edge</a>* weldedEdges;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_boolean_result_edge.html">BooleanResultEdge</a>* mInpEdges;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; uint32_t mInpEdgeCount;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; uint32_t maxTriangleCount;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshA;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">const</span> <a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a>* meshB;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="class_nv_1_1_blast_1_1_vertex_welding.html">VertexWelding</a> wldg;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; };</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="ttc" id="class_nv_1_1_blast_1_1_vertex_welding_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_vertex_welding.html">Nv::Blast::VertexWelding</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtRTGeometry.h:18</div></div>
-<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:92</div></div>
+<div class="ttc" id="namespace_nv_1_1_blast_html_a2dbf0cc037620db35223513e817444f7"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a2dbf0cc037620db35223513e817444f7">Nv::Blast::ProjectionDirections</a></div><div class="ttdeci">ProjectionDirections</div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringInternalCommon.h:93</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_vertex_welding_html_abeb54580eb917d925635f1f1a028d26c"><div class="ttname"><a href="class_nv_1_1_blast_1_1_vertex_welding.html#abeb54580eb917d925635f1f1a028d26c">Nv::Blast::VertexWelding::WeldVertex</a></div><div class="ttdeci">int32_t WeldVertex(const Vertex *v)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_boolean_result_edge_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_boolean_result_edge.html">Nv::Blast::BooleanResultEdge</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtRT.h:68</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_triangulator_v2_html_affd9e581c91c7f26c7442a799afd13d5"><div class="ttname"><a href="class_nv_1_1_blast_1_1_triangulator_v2.html#affd9e581c91c7f26c7442a799afd13d5">Nv::Blast::TriangulatorV2::triangleIndices</a></div><div class="ttdeci">uint32_t * triangleIndices</div><div class="ttdef"><b>Definition:</b> NvBlastExtRTGeometry.h:198</div></div>
diff --git a/docs/source_docs/files/_nv_blast_family_8h_source.html b/docs/source_docs/files/_nv_blast_family_8h_source.html
index 34d4003..cd77417 100755
--- a/docs/source_docs/files/_nv_blast_family_8h_source.html
+++ b/docs/source_docs/files/_nv_blast_family_8h_source.html
@@ -54,7 +54,7 @@ $(document).ready(function(){initNavTree('_nv_blast_family_8h_source.html','');}
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a8c8dbf18c71bfd84c101542fce8498ff"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a8c8dbf18c71bfd84c101542fce8498ff">Nv::Blast::FamilyHeader::fractureNoEvents</a></div><div class="ttdeci">void fractureNoEvents(uint32_t chunkFractureCount, const NvBlastChunkFractureData *chunkFractures, Actor *filterActor, NvBlastLog logFn)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a9e58bee9eba848f0d5e65e0d63707f97"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a9e58bee9eba848f0d5e65e0d63707f97">Nv::Blast::FamilyHeader::isActorActive</a></div><div class="ttdeci">bool isActorActive(uint32_t index) const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:367</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a7bd800b1dea859ee4382d7da92d9ac5b"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a7bd800b1dea859ee4382d7da92d9ac5b">Nv::Blast::FamilyHeader::getGetNodeActorIndex</a></div><div class="ttdeci">uint32_t getGetNodeActorIndex(uint32_t nodeIndex) const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:397</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a623e6e17f164872ebee9b411cce23470"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Nv::Blast::Asset::getBondCount</a></div><div class="ttdeci">uint32_t getBondCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:276</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a623e6e17f164872ebee9b411cce23470"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a623e6e17f164872ebee9b411cce23470">Nv::Blast::Asset::getBondCount</a></div><div class="ttdeci">uint32_t getBondCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:277</div></div>
<div class="ttc" id="_nv_blast_asset_8h_html"><div class="ttname"><a href="_nv_blast_asset_8h.html">NvBlastAsset.h</a></div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_a957511eee89321883f3507e0cd310a41"><div class="ttname"><a href="namespace_nv_1_1_blast.html#a957511eee89321883f3507e0cd310a41">Nv::Blast::isInvalidIndex</a></div><div class="ttdeci">NV_INLINE bool isInvalidIndex(T index)</div><div class="ttdef"><b>Definition:</b> NvBlastIndexFns.h:57</div></div>
<div class="ttc" id="_nv_blast_types_8h_html_aca9b64ae20263de0d18e0f58cb51b1ab"><div class="ttname"><a href="_nv_blast_types_8h.html#aca9b64ae20263de0d18e0f58cb51b1ab">NvBlastLog</a></div><div class="ttdeci">void(* NvBlastLog)(int type, const char *msg, const char *file, int line)</div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:63</div></div>
@@ -70,7 +70,7 @@ $(document).ready(function(){initNavTree('_nv_blast_family_8h_source.html','');}
<div class="ttc" id="struct_nv_blast_data_block_html"><div class="ttname"><a href="struct_nv_blast_data_block.html">NvBlastDataBlock</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:98</div></div>
<div class="ttc" id="_nv_blast_memory_8h_html"><div class="ttname"><a href="_nv_blast_memory_8h.html">NvBlastMemory.h</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a869e926c2ba8cc6580fbab1cb601fa32"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a869e926c2ba8cc6580fbab1cb601fa32">Nv::Blast::FamilyHeader::getActorBufferSize</a></div><div class="ttdeci">uint32_t getActorBufferSize() const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:360</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:206</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a6cfa7f72e5f815e519550dd46dc087a9"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a6cfa7f72e5f815e519550dd46dc087a9">Nv::Blast::Asset::m_firstSubsupportChunkIndex</a></div><div class="ttdeci">uint32_t m_firstSubsupportChunkIndex</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:207</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_ab1500a7965fb35635af84a091cf399e1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#ab1500a7965fb35635af84a091cf399e1">Nv::Blast::FamilyHeader::m_asset</a></div><div class="ttdeci">const Asset * m_asset</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:148</div></div>
<div class="ttc" id="_nv_blast_d_link_8h_html"><div class="ttname"><a href="_nv_blast_d_link_8h.html">NvBlastDLink.h</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a15f6e87f69c5c84685af781f1b41413e"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a15f6e87f69c5c84685af781f1b41413e">Nv::Blast::FamilyHeader::getActorByIndex</a></div><div class="ttdeci">Actor * getActorByIndex(uint32_t index) const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:374</div></div>
@@ -80,19 +80,19 @@ $(document).ready(function(){initNavTree('_nv_blast_family_8h_source.html','');}
<div class="ttc" id="struct_nv_1_1_blast_1_1_support_graph_html_a8e25ca3c8d3213c3737e53b7094431d1"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_support_graph.html#a8e25ca3c8d3213c3737e53b7094431d1">Nv::Blast::SupportGraph::m_nodeCount</a></div><div class="ttdeci">uint32_t m_nodeCount</div><div class="ttdef"><b>Definition:</b> NvBlastSupportGraph.h:81</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_ae2a59d9dd49c92dcb6abb9ad46849976"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#ae2a59d9dd49c92dcb6abb9ad46849976">Nv::Blast::FamilyHeader::m_assetID</a></div><div class="ttdeci">NvBlastID m_assetID</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:66</div></div>
<div class="ttc" id="struct_nv_blast_i_d_html"><div class="ttname"><a href="struct_nv_blast_i_d.html">NvBlastID</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:69</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_af7a3e783e9997c651d0343cfc76faedc"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Nv::Blast::Asset::getLowerSupportChunkCount</a></div><div class="ttdeci">uint32_t getLowerSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:270</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_af7a3e783e9997c651d0343cfc76faedc"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#af7a3e783e9997c651d0343cfc76faedc">Nv::Blast::Asset::getLowerSupportChunkCount</a></div><div class="ttdeci">uint32_t getLowerSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:271</div></div>
<div class="ttc" id="struct_nv_blast_chunk_html"><div class="ttname"><a href="struct_nv_blast_chunk.html">NvBlastChunk</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:152</div></div>
<div class="ttc" id="struct_nv_blast_chunk_fracture_data_html"><div class="ttname"><a href="struct_nv_blast_chunk_fracture_data.html">NvBlastChunkFractureData</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:439</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_af242d21a84d28cf24877def66e1d5729"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#af242d21a84d28cf24877def66e1d5729">Nv::Blast::FamilyHeader::NvBlastBlockData</a></div><div class="ttdeci">NvBlastBlockData(FamilyGraph, m_familyGraphOffset, getFamilyGraph)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a58c464d4f1ab0736c2a55e034d5b0223"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a58c464d4f1ab0736c2a55e034d5b0223">Nv::Blast::FamilyHeader::getSubsupportChunkHealths</a></div><div class="ttdeci">float * getSubsupportChunkHealths() const</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:113</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:196</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_ad07d72453b9db6a1387f7fbd934eb2fd"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#ad07d72453b9db6a1387f7fbd934eb2fd">Nv::Blast::Asset::m_graph</a></div><div class="ttdeci">SupportGraph m_graph</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:197</div></div>
<div class="ttc" id="struct_nv_blast_asset_html"><div class="ttname"><a href="struct_nv_blast_asset.html">NvBlastAsset</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:286</div></div>
<div class="ttc" id="struct_nv_blast_fracture_buffers_html"><div class="ttname"><a href="struct_nv_blast_fracture_buffers.html">NvBlastFractureBuffers</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:468</div></div>
<div class="ttc" id="class_nv_1_1_blast_1_1_actor_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_actor.html">Nv::Blast::Actor</a></div><div class="ttdef"><b>Definition:</b> NvBlastActor.h:58</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_a2045936da536ed27b97eb2fc9aea9b03"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#a2045936da536ed27b97eb2fc9aea9b03">Nv::Blast::FamilyHeader::m_runtimePlaceholder</a></div><div class="ttdeci">uint64_t m_runtimePlaceholder</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:149</div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a78770e86b346b4b756814bca14b6c331"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Nv::Blast::Asset::getUpperSupportChunkCount</a></div><div class="ttdeci">uint32_t getUpperSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:264</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a78770e86b346b4b756814bca14b6c331"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331">Nv::Blast::Asset::getUpperSupportChunkCount</a></div><div class="ttdeci">uint32_t getUpperSupportChunkCount() const</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:265</div></div>
<div class="ttc" id="_nv_blast_actor_8h_html"><div class="ttname"><a href="_nv_blast_actor_8h.html">NvBlastActor.h</a></div></div>
-<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a2fca1fdbe87c49f04736dd6b6d176177"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">Nv::Blast::Asset::m_chunkCount</a></div><div class="ttdeci">uint32_t m_chunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:191</div></div>
+<div class="ttc" id="class_nv_1_1_blast_1_1_asset_html_a2fca1fdbe87c49f04736dd6b6d176177"><div class="ttname"><a href="class_nv_1_1_blast_1_1_asset.html#a2fca1fdbe87c49f04736dd6b6d176177">Nv::Blast::Asset::m_chunkCount</a></div><div class="ttdeci">uint32_t m_chunkCount</div><div class="ttdef"><b>Definition:</b> NvBlastAsset.h:192</div></div>
<div class="ttc" id="namespace_nv_1_1_blast_html_aa0a1acaf4abe11be6cfdcf14cecf4818"><div class="ttname"><a href="namespace_nv_1_1_blast.html#aa0a1acaf4abe11be6cfdcf14cecf4818">Nv::Blast::atomicDecrement</a></div><div class="ttdeci">int32_t atomicDecrement(volatile int32_t *val)</div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_index_d_link_html"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_index_d_link.html">Nv::Blast::IndexDLink&lt; uint32_t &gt;</a></div></div>
<div class="ttc" id="struct_nv_1_1_blast_1_1_family_header_html_acc4fd2c9b502b0a1114ec672ee64c04a"><div class="ttname"><a href="struct_nv_1_1_blast_1_1_family_header.html#acc4fd2c9b502b0a1114ec672ee64c04a">Nv::Blast::FamilyHeader::returnActor</a></div><div class="ttdeci">void returnActor(Actor &amp;actor)</div><div class="ttdef"><b>Definition:</b> NvBlastFamily.h:348</div></div>
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_asset.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_asset.html
index 342205d..23e9517 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_asset.html
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_asset.html
@@ -605,7 +605,7 @@ getChunks returns an array of size m_chunkCount.
<p>
Tests a set of chunk descriptors to see if chunks are in valid chunk order.<p>
-Chunk order conditions checked: 1. 'all chunks with same parent index should go in a row'. 2. 'root chunks should go first'. 3. 'upper-support chunks should come before subsupport chunks'.<p>
+Chunk order conditions checked: 1. 'all chunks with same parent index should go in a row'. 2. 'chunks should come after their parents'. 3. 'root chunks should go first'. 4. 'upper-support chunks should come before 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>&nbsp;</td><td valign="top"><em>chunkCount</em>&nbsp;</td><td>The number of chunk descriptors. </td></tr>
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
index 52dcf12..831274c 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool-members.html
@@ -64,6 +64,7 @@
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#78da4a0d726ec1b541166cd3c46df67e">release</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#78194aeece0c12c2035c79458ff49c9f">replaceMaterialId</a>(int32_t oldMaterialId, int32_t newMaterialId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#b462c92fa47a5359bf3d19cf44af80f4">reset</a>()=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a>(uint32_t chunkIndex, bool useApproximateBonding)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#ecd9be996bba9329418fd91db8235ebe">setChunkMesh</a>(const Mesh *mesh, int32_t parentId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c8c4f90133fdf32969cad6e4c520414f">setInteriorMaterialId</a>(int32_t materialId)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#251738022e498b819e88536577470735">setRemoveIslands</a>(bool isRemoveIslands)=0</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></td><td><code> [pure virtual]</code></td></tr>
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
index 6dc496c..fb3d031 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.html
@@ -104,6 +104,8 @@ Inheritance diagram for Nv::Blast::FractureTool:</div>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#b462c92fa47a5359bf3d19cf44af80f4">reset</a> ()=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">setApproximateBonding</a> (uint32_t chunkIndex, bool useApproximateBonding)=0</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#ecd9be996bba9329418fd91db8235ebe">setChunkMesh</a> (const <a class="el" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a> *mesh, int32_t parentId)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c8c4f90133fdf32969cad6e4c520414f">setInteriorMaterialId</a> (int32_t materialId)=0</td></tr>
@@ -881,6 +883,44 @@ Reset <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureToo
</div>
</div><p>
+<a class="anchor" name="33c19de2bc8ea52394651d184076db5c"></a><!-- doxytag: member="Nv::Blast::FractureTool::setApproximateBonding" ref="33c19de2bc8ea52394651d184076db5c" args="(uint32_t chunkIndex, bool useApproximateBonding)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool Nv::Blast::FractureTool::setApproximateBonding </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&nbsp;</td>
+ <td class="paramname"> <em>chunkIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>useApproximateBonding</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the APPROXIMATE_BONDING flag in the chunk's <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a> <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>chunkIndex</em>&nbsp;</td><td>chunk index - use getChunkIndex(ID) </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>useApproximateBonding</em>&nbsp;</td><td>value of flag to set </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the chunk ID is found, false otherwise </dd></dl>
+
+<p>Implemented in <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">Nv::Blast::FractureToolImpl</a>.</p>
+
+</div>
+</div><p>
<a class="anchor" name="ecd9be996bba9329418fd91db8235ebe"></a><!-- doxytag: member="Nv::Blast::FractureTool::setChunkMesh" ref="ecd9be996bba9329418fd91db8235ebe" args="(const Mesh *mesh, int32_t parentId)=0" -->
<div class="memitem">
<div class="memproto">
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
index b4a1a8f..a3f0bbe 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool.js
@@ -24,6 +24,7 @@ var class_nv_1_1_blast_1_1_fracture_tool =
[ "release", "class_nv_1_1_blast_1_1_fracture_tool.html#a78da4a0d726ec1b541166cd3c46df67e", null ],
[ "replaceMaterialId", "class_nv_1_1_blast_1_1_fracture_tool.html#a78194aeece0c12c2035c79458ff49c9f", null ],
[ "reset", "class_nv_1_1_blast_1_1_fracture_tool.html#ab462c92fa47a5359bf3d19cf44af80f4", null ],
+ [ "setApproximateBonding", "class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c", null ],
[ "setChunkMesh", "class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe", null ],
[ "setInteriorMaterialId", "class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f", null ],
[ "setRemoveIslands", "class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735", null ],
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html
index 5834f88..62ca715 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl-members.html
@@ -73,6 +73,7 @@
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#05d2e5fd981d54d55ee5dbc5bf454a50">release</a>() override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#be1f6bf365964825a2c939e22c85d96a">replaceMaterialId</a>(int32_t oldMaterialId, int32_t newMaterialId) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1ccbcbfde4e58f8357a589ae56ff043f">reset</a>() override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">setApproximateBonding</a>(uint32_t chunkId, bool useApproximateBonding) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c466495627ca99252433c7e1c702c7f9">setChunkMesh</a>(const Mesh *mesh, int32_t parentId) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c9c8e18748b18fa6dd29a328eaf63026">setInteriorMaterialId</a>(int32_t materialId) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#92dec92822ab9e0807400a7d63bfc553">setRemoveIslands</a>(bool isRemoveIslands) override</td><td><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html">Nv::Blast::FractureToolImpl</a></td><td><code> [virtual]</code></td></tr>
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html
index 4ca24b9..b3a36a2 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.html
@@ -106,6 +106,8 @@ Inheritance diagram for Nv::Blast::FractureToolImpl:</div>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#1ccbcbfde4e58f8357a589ae56ff043f">reset</a> () override</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">setApproximateBonding</a> (uint32_t chunkId, bool useApproximateBonding) override</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c466495627ca99252433c7e1c702c7f9">setChunkMesh</a> (const <a class="el" href="class_nv_1_1_blast_1_1_mesh.html">Mesh</a> *mesh, int32_t parentId) override</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c9c8e18748b18fa6dd29a328eaf63026">setInteriorMaterialId</a> (int32_t materialId) override</td></tr>
@@ -922,6 +924,44 @@ Reset <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureToo
</div>
</div><p>
+<a class="anchor" name="3fdd1a0df69a82898a6ec8c0f51094fc"></a><!-- doxytag: member="Nv::Blast::FractureToolImpl::setApproximateBonding" ref="3fdd1a0df69a82898a6ec8c0f51094fc" args="(uint32_t chunkId, bool useApproximateBonding) override" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool Nv::Blast::FractureToolImpl::setApproximateBonding </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&nbsp;</td>
+ <td class="paramname"> <em>chunkIndex</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>useApproximateBonding</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [override, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the APPROXIMATE_BONDING flag in the chunk's <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">ChunkInfo</a> <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>chunkIndex</em>&nbsp;</td><td>chunk index - use getChunkIndex(ID) </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>useApproximateBonding</em>&nbsp;</td><td>value of flag to set </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the chunk ID is found, false otherwise </dd></dl>
+
+<p>Implements <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>.</p>
+
+</div>
+</div><p>
<a class="anchor" name="c466495627ca99252433c7e1c702c7f9"></a><!-- doxytag: member="Nv::Blast::FractureToolImpl::setChunkMesh" ref="c466495627ca99252433c7e1c702c7f9" args="(const Mesh *mesh, int32_t parentId) override" -->
<div class="memitem">
<div class="memproto">
diff --git a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.js b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.js
index 3bba54a..f32a47e 100755
--- a/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.js
+++ b/docs/source_docs/files/class_nv_1_1_blast_1_1_fracture_tool_impl.js
@@ -25,6 +25,7 @@ var class_nv_1_1_blast_1_1_fracture_tool_impl =
[ "release", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#a05d2e5fd981d54d55ee5dbc5bf454a50", null ],
[ "replaceMaterialId", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#abe1f6bf365964825a2c939e22c85d96a", null ],
[ "reset", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1ccbcbfde4e58f8357a589ae56ff043f", null ],
+ [ "setApproximateBonding", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3fdd1a0df69a82898a6ec8c0f51094fc", null ],
[ "setChunkMesh", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac466495627ca99252433c7e1c702c7f9", null ],
[ "setInteriorMaterialId", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac9c8e18748b18fa6dd29a328eaf63026", null ],
[ "setRemoveIslands", "class_nv_1_1_blast_1_1_fracture_tool_impl.html#a92dec92822ab9e0807400a7d63bfc553", null ],
diff --git a/docs/source_docs/files/functions_0x61.html b/docs/source_docs/files/functions_0x61.html
index 65df3cd..71ef847 100755
--- a/docs/source_docs/files/functions_0x61.html
+++ b/docs/source_docs/files/functions_0x61.html
@@ -254,52 +254,52 @@ Here is a list of all class members with links to the classes they belong to:
<li>ApexImportTool()
: <a class="el" href="class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html#9d630b32d1a0ae5fe3a044417cc64736">Nv::Blast::ApexImporter::ApexImportTool</a>
<li>appendMesh()
-: <a class="el" href="class_nv_1_1_blast_1_1_fbx_file_writer.html#9013dae8926bf0c0f332cec0fd2dfff2">Nv::Blast::FbxFileWriter</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_obj_file_writer.html#298889514e643ee2c35959c6b4e6958b">Nv::Blast::ObjFileWriter</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_obj_file_writer.html#298889514e643ee2c35959c6b4e6958b">Nv::Blast::ObjFileWriter</a>
, <a class="el" href="class_nv_1_1_blast_1_1_i_mesh_file_writer.html#605c88816a8d81f4084c1bbf53b32dae">Nv::Blast::IMeshFileWriter</a>
, <a class="el" href="class_nv_1_1_blast_1_1_fbx_file_writer.html#a2b7a1dea165bc42ba91029911b669e1">Nv::Blast::FbxFileWriter</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_obj_file_writer.html#5098f7f493b3ca1398eacc3fc1a5840d">Nv::Blast::ObjFileWriter</a>
<li>applyDamage()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#613f6c52b8406b9cedb154498a29529b">Nv::Blast::ExtImpactDamageManager</a>
<li>applyFracture()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#05ec1c435c25ecbdef8aed715fe8ef42">Nv::Blast::TkActorImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#cc3bf3a166faa14d058d8ef505228221">Nv::Blast::Actor</a>
, <a class="el" href="class_nv_1_1_blast_1_1_tk_family.html#bbcd5d6eabbb5379e77e2942fe0b11a8">Nv::Blast::TkFamily</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html#a02c42add8033877003cd907a0818785">Nv::Blast::TkActor</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_family_header.html#5361b8667e8a10f440f04248e232cd2f">Nv::Blast::FamilyHeader</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_actor.html#a02c42add8033877003cd907a0818785">Nv::Blast::TkActor</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#cc3bf3a166faa14d058d8ef505228221">Nv::Blast::Actor</a>
<li>applyNoise()
: <a class="el" href="class_nv_1_1_blast_1_1_mesh_noiser.html#7060e8f6d03314ea614985eb312feb41">Nv::Blast::MeshNoiser</a>
<li>applySyncBuffer()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#80c6e0fdc23b94a9d3adb6c1f7390a9f">Nv::Blast::ExtSync</a>
+<li>APPROXIMATE_BONDING
+: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo</a>
<li>area
: <a class="el" href="struct_nv_blast_bond.html#5dc5d104d61919d19968ce77b7db9bba">NvBlastBond</a>
<li>asReader()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#434a81d60bb465df565a994ed799819c">Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#f687095d1a3b72e6ab90218b0b17f21c">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#0e1fc19bb34bcc3822105ab4cf3d9b0b">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#434a81d60bb465df565a994ed799819c">Nv::Blast::Serialization::NvBlastSupportGraph::NvBlastSupportGraph::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#10dee2e27f18ef1f0f904ca6e8fa467a">Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#f687095d1a3b72e6ab90218b0b17f21c">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_tk_asset_1_1_builder.html#229c25f7195f918c184875bdfc99310c">Nv::Blast::Serialization::TkAsset::TkAsset::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_transform_1_1_builder.html#fef44e6907aa0c05224bbacae1439104">Nv::Blast::Serialization::PxTransform::PxTransform::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#20aa9226cc0ce9ce6df6281f8ab35104">Nv::Blast::Serialization::ExtPxChunk::ExtPxChunk::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_chunk_1_1_builder.html#43db2df3c0d2a91cf87b92e205fd2393">Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#61d58cb32d0f58c9f5502a77626d5339">Nv::Blast::Serialization::Asset::Asset::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_subchunk_1_1_builder.html#91d5749326fa0626f8266a0285e11d02">Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_u_u_i_d_1_1_builder.html#41339f0a71614203098859ba745197bf">Nv::Blast::Serialization::UUID::UUID::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#642f6c1c43b50f7472fabf607789294b">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block_1_1_builder.html#e3ccac9b5e1a391c64d16d4d3d7505fc">Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_chunk_1_1_builder.html#43db2df3c0d2a91cf87b92e205fd2393">Nv::Blast::Serialization::NvBlastChunk::NvBlastChunk::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_mesh_scale_1_1_builder.html#ba6df2726a5f1178f5fec30071032d59">Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_subchunk_1_1_builder.html#91d5749326fa0626f8266a0285e11d02">Nv::Blast::Serialization::ExtPxSubchunk::ExtPxSubchunk::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_tk_asset_joint_desc_1_1_builder.html#6de5e5b5eda1fdaa4490282a8ff5b0f4">Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#c970d68367fa2bd9f6b9a49fbe37eda8">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block_1_1_builder.html#e3ccac9b5e1a391c64d16d4d3d7505fc">Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#0e1fc19bb34bcc3822105ab4cf3d9b0b">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
-<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_tk_asset_1_1_builder.html#229c25f7195f918c184875bdfc99310c">Nv::Blast::Serialization::TkAsset::TkAsset::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#61d58cb32d0f58c9f5502a77626d5339">Nv::Blast::Serialization::Asset::Asset::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_tk_asset_joint_desc_1_1_builder.html#6de5e5b5eda1fdaa4490282a8ff5b0f4">Nv::Blast::Serialization::TkAssetJointDesc::TkAssetJointDesc::Builder</a>
+<li>Asset()
+: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_asset.html#69a2fa8ee30a44831a6055c1d7aacfd5">Nv::Blast::Serialization::Asset</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
<li>asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_exporter_mesh_data.html#7f7c8fb6f3d9f53bf3deef296a620fe5">Nv::Blast::ExporterMeshData</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_desc.html#70c0d996c924c3c0656b17228413d19c">Nv::Blast::TkActorDesc</a>
<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_asset.html#69a2fa8ee30a44831a6055c1d7aacfd5">Nv::Blast::Serialization::Asset</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
<li>asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_desc.html#70c0d996c924c3c0656b17228413d19c">Nv::Blast::TkActorDesc</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_exporter_mesh_data.html#7f7c8fb6f3d9f53bf3deef296a620fe5">Nv::Blast::ExporterMeshData</a>
<li>Asset
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a0785a75fbc075612bffb021a49526ba2">Nv::Blast::TkTypeIndex</a>
<li>asset
@@ -316,12 +316,14 @@ Here is a list of all class members with links to the classes they belong to:
<li>assetToFractureChunkIdMap
: <a class="el" href="struct_nv_1_1_blast_1_1_authoring_result.html#94609b5ad4dabb8c32f858c531b81ed4">Nv::Blast::AuthoringResult</a>
<li>at()
-: <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3bcc2bdc3fcb35d947297c46217e8862">Nv::Blast::FixedArray&lt; T &gt;</a>
-, <a class="el" href="classbt_aligned_object_array.html#3a25600ae43d660965d4e5a0810848c4">btAlignedObjectArray&lt; T &gt;</a>
+: <a class="el" href="classbt_aligned_object_array.html#3a25600ae43d660965d4e5a0810848c4">btAlignedObjectArray&lt; T &gt;</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#e932afd49acfc5f585a1238fd224931d">Nv::Blast::FixedArray&lt; T &gt;</a>
+, <a class="el" href="classbt_aligned_object_array.html#9ab50f401fff737aa8d15c6ea1c8de79">btAlignedObjectArray&lt; T &gt;</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#3bcc2bdc3fcb35d947297c46217e8862">Nv::Blast::FixedArray&lt; T &gt;</a>
<li>attachPositions
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_desc.html#34dab72bc3d33c4927c00f870f93ae37">Nv::Blast::TkJointDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_data.html#cd1894619d5abd13a48e57833736ed3d">Nv::Blast::TkJointData</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_asset_joint_desc.html#89508d6669e2375c5896ae37bad6d09d">Nv::Blast::TkAssetJointDesc</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_data.html#cd1894619d5abd13a48e57833736ed3d">Nv::Blast::TkJointData</a>
<li>AVERAGE
: <a class="el" href="struct_nv_1_1_blast_1_1_bond_generation_config.html#039dca7ff2ee57fcf96ce5aad570cf67f8d9fd52be0dd6e99bde1fffd8975258">Nv::Blast::BondGenerationConfig</a>
</ul>
diff --git a/docs/source_docs/files/functions_0x63.html b/docs/source_docs/files/functions_0x63.html
index 0cf2b1d..c932540 100755
--- a/docs/source_docs/files/functions_0x63.html
+++ b/docs/source_docs/files/functions_0x63.html
@@ -278,10 +278,10 @@ Here is a list of all class members with links to the classes they belong to:
, <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#f00162d0f41ff900dfccf33be38dd3f9">VHACD::VoxelSet</a>
, <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#5685dea1be98db6435cda31252bffd62">VHACD::TetrahedronSet</a>
<li>ComputeVolume()
-: <a class="el" href="class_v_h_a_c_d_1_1_mesh.html#640488a83fefc3321b995dbdeb54c889">VHACD::Mesh</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_primitive_set.html#81455b83adbeefb1e8e670a6ff7d1065">VHACD::PrimitiveSet</a>
+, <a class="el" href="class_v_h_a_c_d_1_1_mesh.html#640488a83fefc3321b995dbdeb54c889">VHACD::Mesh</a>
, <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#e2547d14bccde63a36bd39e9c418171b">VHACD::VoxelSet</a>
, <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#c69dc9bddc9d7ac7e0c5bfc894cbbc53">VHACD::TetrahedronSet</a>
-, <a class="el" href="class_v_h_a_c_d_1_1_primitive_set.html#81455b83adbeefb1e8e670a6ff7d1065">VHACD::PrimitiveSet</a>
<li>concavity
: <a class="el" href="struct_nv_1_1_blast_1_1_convex_decomposition_params.html#e66625f452b5578381a72f82f442c772">Nv::Blast::ConvexDecompositionParams</a>
<li>Cone
@@ -295,8 +295,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>contactOffset
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html#13764a5cd7fefa7e813bd6166d016f88">Nv::Blast::ExtPxShapeDescTemplate</a>
<li>Convert()
-: <a class="el" href="class_v_h_a_c_d_1_1_volume.html#23f9133644dc50b621095d471593ee3c">VHACD::Volume</a>
-, <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#1c2c5b35bfbb3bfe5886fca89d9209da">VHACD::TetrahedronSet</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#1c2c5b35bfbb3bfe5886fca89d9209da">VHACD::TetrahedronSet</a>
+, <a class="el" href="class_v_h_a_c_d_1_1_volume.html#23f9133644dc50b621095d471593ee3c">VHACD::Volume</a>
, <a class="el" href="class_v_h_a_c_d_1_1_primitive_set.html#35bdae7bc393e7a5bebb82123a1b05f8">VHACD::PrimitiveSet</a>
, <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#d0e3e2800558987cab9077ccf106e76b">VHACD::VoxelSet</a>
, <a class="el" href="class_v_h_a_c_d_1_1_volume.html#2045706b07f2899d2e8c85dd0bad0517">VHACD::Volume</a>
@@ -314,68 +314,63 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data_impl.html#34b7d66fd3e2eab6aa486774e46ffec0">Nv::Blast::BooleanToolOutputDataImpl</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html#b4fc7e89eb78a2aa443456694ffaf40f">Nv::Blast::BooleanToolOutputData</a>
<li>Count
-: <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df249675818d4ea3712ad725465a1e323a">Nv::Blast::ActorSerializationFormat</a>
-, <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
+: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df249675818d4ea3712ad725465a1e323a">Nv::Blast::ActorSerializationFormat</a>
<li>create()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#6514c543e6df14d77ef660bafa8c4fb3">Nv::Blast::ExtPxAsset</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#8918f4cd232d7844dee1a3a4d4d9d6ea">Nv::Blast::ExtPxAsset</a>
+<li>Create()
+: <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#d8358b90b875e0b5b449ee4a0fcbb834">VHACD::TetrahedronSet</a>
+<li>create()
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a>
, <a class="el" href="class_nv_1_1_blast_1_1final.html#eeb9f6f953d29859bf87885fe7bea2e3">Nv::Blast::final</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#307ec3c8c73cb706ec153bd63baee7c4">Nv::Blast::Actor</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
<li>Create()
: <a class="el" href="class_v_h_a_c_d_1_1_primitive_set.html#20fae1ff3601da999dc643e9a0269c5b">VHACD::PrimitiveSet</a>
-, <a class="el" href="class_v_h_a_c_d_1_1_tetrahedron_set.html#d8358b90b875e0b5b449ee4a0fcbb834">VHACD::TetrahedronSet</a>
<li>create()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#8918f4cd232d7844dee1a3a4d4d9d6ea">Nv::Blast::ExtPxAsset</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#d6dc3a8db8057eee30b10dff9680595c">Nv::Blast::Asset</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#307ec3c8c73cb706ec153bd63baee7c4">Nv::Blast::Actor</a>
, <a class="el" href="class_nv_1_1_blast_1_1_tk_actor_impl.html#a3d3393b56c95907eb4288f0ecb9beb1">Nv::Blast::TkActorImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#f5d75425949193fa5c265216f35fdf55">Nv::Blast::ExtSync</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#b2de9bf320ffa4c0a777d5c9e72d1803">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
<li>Create()
: <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#330a8667b94b230cb003f22cbf5ec2c4">VHACD::VoxelSet</a>
-<li>create()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
<li>createActor()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#30b4f2c95a00aa2cd98a3ba4001b0cb8">Nv::Blast::TkFramework</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a>
<li>createAsset()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#d45cd110c344066b7bf50fd2743beb82">Nv::Blast::TkFrameworkImpl</a>
, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#f1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#e30026ed8aabfdba83d2180dabfae9eb">Nv::Blast::TkFrameworkImpl</a>
<li>createBondBetweenMeshes()
-: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#0d06aa62402161f1197fe1dad4801cb1">Nv::Blast::BlastBondGeneratorImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#210b3c6cd2d759cb4f724c120beaf4ff">Nv::Blast::BlastBondGenerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#f3001b8eef097d8d250c844d23870f92">Nv::Blast::BlastBondGeneratorImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#e2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a>
<li>createChunkMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a>
, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#7ffacc77ed102a8cd52c080055a08c3f">Nv::Blast::FractureToolImpl</a>
<li>createCollisionBuilder()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#12296d50356db4664959dc3ea414dd9c">Nv::Blast::ExtPxManager</a>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
<li>createFamily()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a>
-, <a class="el" href="class_nv_1_1_blast_1_1final.html#55bc408e0ebd0ca9f6adf523ace899a0">Nv::Blast::final</a>
+: <a class="el" href="class_nv_1_1_blast_1_1final.html#55bc408e0ebd0ca9f6adf523ace899a0">Nv::Blast::final</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a>
<li>createGroup()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#62cf99de17faea824364a987b165a1eb">Nv::Blast::TkFrameworkImpl</a>
, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#fbb1cce46ef38bf0a3fb2a5e1b4e2499">Nv::Blast::TkFramework</a>
<li>createJoint()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a2c0a8e8db4ba338bc7c35db417ce122">Nv::Blast::TkFrameworkImpl</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a2c0a8e8db4ba338bc7c35db417ce122">Nv::Blast::TkFrameworkImpl</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#93817a287d8c0eb2c658ad0e379b807c">Nv::Blast::ExtPxManager</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#40b557778256cd6589a3b174015c3029">Nv::Blast::TkFramework</a>
, <a class="el" href="class_nv_1_1_blast_1_1final.html#b14cdb62b9300cc88535adfce7d6945f">Nv::Blast::final</a>
<li>createNewMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_boolean_evaluator.html#dcfc051a4533b68196b5a897c5f1befb">Nv::Blast::BooleanEvaluator</a>
<li>createRaycastMesh()
-: <a class="el" href="class_v_h_a_c_d_1_1_raycast_mesh.html#31b2f20b771a8596f3feddd462276e59">VHACD::RaycastMesh</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_raycast_mesh.html#6a1024989eba5ce6650d87780a1b7a3a">VHACD::RaycastMesh</a>
<li>createRequiredScratch()
-: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_asset.html#b7a7be3a23d3cebbf4be3ef8f1b442c6">Nv::Blast::Asset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_actor.html#3082322754cba457f678e567b288fe02">Nv::Blast::Actor</a>
<li>Current
: <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df26b64a066d09c0f4cdb95977f0f44ad4">Nv::Blast::ActorSerializationFormat</a>
<li>cut()
diff --git a/docs/source_docs/files/functions_0x69.html b/docs/source_docs/files/functions_0x69.html
index d75f6f7..85e4bcd 100755
--- a/docs/source_docs/files/functions_0x69.html
+++ b/docs/source_docs/files/functions_0x69.html
@@ -229,10 +229,10 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="class_nv_1_1_blast_1_1_ext_task_sync.html#b0062a114856ba591a00c2c959ef6e54">Nv::Blast::ExtTaskSync</a>
<li>isDouble()
: <a class="el" href="class_f_l_o_a_t___m_a_t_h_1_1fm___vertex_index.html#7d546cd3a301fd47bfde8cdd8f9ff950">FLOAT_MATH::fm_VertexIndex</a>
-<li>IsEmpty()
-: <a class="el" href="class_v_h_a_c_d_1_1_circular_list.html#0e52f1bc53f97d1a32f01e693256c65c">VHACD::CircularList&lt; T &gt;</a>
<li>isEmpty()
: <a class="el" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">Nv::Blast::DList</a>
+<li>IsEmpty()
+: <a class="el" href="class_v_h_a_c_d_1_1_circular_list.html#0e52f1bc53f97d1a32f01e693256c65c">VHACD::CircularList&lt; T &gt;</a>
<li>IsFlat()
: <a class="el" href="class_v_h_a_c_d_1_1_i_c_hull.html#bf5e9b35967d92f67bbf8fa685198c89">VHACD::ICHull</a>
<li>IsInside()
diff --git a/docs/source_docs/files/functions_0x70.html b/docs/source_docs/files/functions_0x70.html
index eff21f9..8fda96a 100755
--- a/docs/source_docs/files/functions_0x70.html
+++ b/docs/source_docs/files/functions_0x70.html
@@ -91,11 +91,11 @@ Here is a list of all class members with links to the classes they belong to:
, <a class="el" href="struct_nvc_transform.html#edef4947fa3ee9703840bc44209c9280">NvcTransform</a>
<li>Parameters()
: <a class="el" href="class_v_h_a_c_d_1_1_i_v_h_a_c_d_1_1_parameters.html#1e68a26c8218b34f66023f30024ae92a">VHACD::IVHACD::IVHACD::Parameters</a>
+<li>Parent
+: <a class="el" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#fdc7db1ba5c96b0e9fc3d8a0c57c29e1e227d4666a49fcc6940cc7b090814186">Nv::Blast::Asset::Asset::ChunkAnnotation</a>
<li>parent
: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#7e5b05c30d6a4deceb2da1e840fa442c">Nv::Blast::ChunkInfo</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_edge_with_parent.html#c2356627cc0f43aaa5f417a36e1c5690">Nv::Blast::EdgeWithParent</a>
-<li>Parent
-: <a class="el" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#fdc7db1ba5c96b0e9fc3d8a0c57c29e1e227d4666a49fcc6940cc7b090814186">Nv::Blast::Asset::Asset::ChunkAnnotation</a>
<li>parentChunkIndex
: <a class="el" href="struct_nv_blast_chunk_desc.html#4f683857da450660edaf189b93a626d9">NvBlastChunkDesc</a>
, <a class="el" href="struct_nv_blast_chunk.html#f98dff11de0de7118f98489b76d0104f">NvBlastChunk</a>
@@ -174,10 +174,10 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_separation.html#8dd4bdb9ec23e9faf6b1e429fbb93cb1">Nv::Blast::Separation</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#d7fc6cfbd651eef3d621e14df664fc4c">Nv::Blast::PlaneChunkIndexer</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_hull_polygon.html#b97c5352a6a9264703ae02c59dd3bb0f">Nv::Blast::HullPolygon</a>
-<li>Point
-: <a class="el" href="struct_nv_1_1_blast_1_1_damage_pattern.html#ac014f5d85ffaecb95328a2b10a2154bfa9e687314a5a446df72c678e5bb63ba">Nv::Blast::DamagePattern</a>
<li>point
: <a class="el" href="struct_nv_1_1_blast_1_1_triangulator_v2_1_1_linked_list_element.html#11cceb11b50cd07f830480a30f5c6930">Nv::Blast::TriangulatorV2::TriangulatorV2::LinkedListElement</a>
+<li>Point
+: <a class="el" href="struct_nv_1_1_blast_1_1_damage_pattern.html#ac014f5d85ffaecb95328a2b10a2154bfa9e687314a5a446df72c678e5bb63ba">Nv::Blast::DamagePattern</a>
<li>POINT2D()
: <a class="el" href="struct_nv_1_1_blast_1_1_p_o_i_n_t2_d.html#004cc3d32633bf671fa7fc09e7445d01">Nv::Blast::POINT2D</a>
<li>pointer
@@ -267,10 +267,11 @@ Here is a list of all class members with links to the classes they belong to:
<li>push_back()
: <a class="el" href="classbt_aligned_object_array.html#d61e10166e2c00f487095d3482b9edd1">btAlignedObjectArray&lt; T &gt;</a>
<li>pushBack()
-: <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">Nv::Blast::FixedArray&lt; T &gt;</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#7b0cb35624994968155185acd732e643">Nv::Blast::FixedQueue&lt; T &gt;</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#7b0cb35624994968155185acd732e643">Nv::Blast::FixedQueue&lt; T &gt;</a>
<li>PushBack()
: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#5dee93011225ab51bc07149d77791e8a">VHACD::SArray&lt; T, N &gt;</a>
+<li>pushBack()
+: <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">Nv::Blast::FixedArray&lt; T &gt;</a>
<li>pxAsset
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_family_desc.html#a91df24e1d2e95e1cc46b44b73003205">Nv::Blast::ExtPxFamilyDesc</a>
<li>pxChunks
diff --git a/docs/source_docs/files/functions_0x72.html b/docs/source_docs/files/functions_0x72.html
index 60db7b8..864782a 100755
--- a/docs/source_docs/files/functions_0x72.html
+++ b/docs/source_docs/files/functions_0x72.html
@@ -324,10 +324,10 @@ Here is a list of all class members with links to the classes they belong to:
<li>resetEdges()
: <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data_impl.html#e0ffc77bd31589311be905b694afecda">Nv::Blast::BooleanToolOutputDataImpl</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html#4d8004d7db89ec915ceefa7625988313">Nv::Blast::BooleanToolOutputData</a>
-<li>resize()
-: <a class="el" href="classbt_aligned_object_array.html#cb69833ed110d6db213a71533a8c804a">btAlignedObjectArray&lt; T &gt;</a>
<li>Resize()
: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#da45d2e351a21b54becd729c1df416cf">VHACD::SArray&lt; T, N &gt;</a>
+<li>resize()
+: <a class="el" href="classbt_aligned_object_array.html#cb69833ed110d6db213a71533a8c804a">btAlignedObjectArray&lt; T &gt;</a>
<li>ResizePoints()
: <a class="el" href="class_v_h_a_c_d_1_1_mesh.html#3fe07b138fc07648dfb707ec1a877ff6">VHACD::Mesh</a>
<li>ResizeTriangles()
diff --git a/docs/source_docs/files/functions_0x73.html b/docs/source_docs/files/functions_0x73.html
index 89fac2d..515b832 100755
--- a/docs/source_docs/files/functions_0x73.html
+++ b/docs/source_docs/files/functions_0x73.html
@@ -154,6 +154,9 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="class_nv_1_1_blast_1_1_tk_joint_impl.html#02dbf85b42ee9695f5d928fd55f5d10d">Nv::Blast::TkJointImpl</a>
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">Nv::Blast::FractureToolImpl</a>
<li>setAsset()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#d0d30a20d382871f64698aaa1006305d">Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder</a>
<li>setAssetLL()
@@ -175,8 +178,8 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#ecd9be996bba9329418fd91db8235ebe">Nv::Blast::FractureTool</a>
, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c466495627ca99252433c7e1c702c7f9">Nv::Blast::FractureToolImpl</a>
<li>setChunks()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#74bf2360b01feec471ab66244c54089b">Nv::Blast::Serialization::Asset::Asset::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#3b110980a66e40a9144625f4f779220e">Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#3b110980a66e40a9144625f4f779220e">Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#74bf2360b01feec471ab66244c54089b">Nv::Blast::Serialization::Asset::Asset::Builder</a>
<li>setConvexMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#280f0bdc5fadafff49723de4395294b2">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
<li>setCount()
@@ -264,8 +267,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>setRotation()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_mesh_scale_1_1_builder.html#f63bbfa94b0e2b30f05b801835d0e71d">Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder</a>
<li>setScale()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_mesh_scale_1_1_builder.html#fa35be2c9475ba63b1100b8b283117e5">Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#5120d7f58edd167294f8186e2d25a39f">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#5120d7f58edd167294f8186e2d25a39f">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_mesh_scale_1_1_builder.html#fa35be2c9475ba63b1100b8b283117e5">Nv::Blast::Serialization::PxMeshScale::PxMeshScale::Builder</a>
<li>setSerializationEncoding()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_serialization.html#9d922a89c41ba9b1997d7e60d6d7b35b">Nv::Blast::ExtSerialization</a>
<li>setSettings()
@@ -274,19 +277,19 @@ Here is a list of all class members with links to the classes they belong to:
<li>setSize()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block_1_1_builder.html#720e2e9660124da200c11aa97378c472">Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder</a>
<li>setSmoothingGroup()
-: <a class="el" href="class_nv_1_1_blast_1_1_mesh.html#ed83e124b04216f54989ea9f8ade52d7">Nv::Blast::Mesh</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_mesh_impl.html#9d7a7efb5015fc64d764b2eff8a9fb53">Nv::Blast::MeshImpl</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_mesh_impl.html#9d7a7efb5015fc64d764b2eff8a9fb53">Nv::Blast::MeshImpl</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_mesh.html#ed83e124b04216f54989ea9f8ade52d7">Nv::Blast::Mesh</a>
<li>setSourceMesh()
-: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#04d3620e1e76d15accb8a08039398680">Nv::Blast::FractureToolImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#04d3620e1e76d15accb8a08039398680">Nv::Blast::FractureToolImpl</a>
<li>setState()
: <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#1f189f9e73e1342ec42f19e3fce5c944">Nv::Blast::SweepingAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#57e114094e51546afd728a82c8181935">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#bd89089c018fb1303951f75814fa3c80">Nv::Blast::DummyAccelerator</a>
<li>setStencil()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#bf0eeed0dc2a632c85572b4026b195c2">Nv::Blast::VoronoiSitesGenerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#81f5fbf6cdaaf3d2d45c2dff822ff9b9">Nv::Blast::VoronoiSitesGeneratorImpl</a>
@@ -299,8 +302,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>setType()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#bf0d5bc7aa6d035da72c6e1217352223">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
<li>setUniformHealth()
-: <a class="el" href="class_nv_1_1_blast_1_1final.html#e882f1d34f5e31be0fc457477e3d661c">Nv::Blast::final</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#0fff64440baf6cd557941d79a9f53d1a">Nv::Blast::ExtPxAsset</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#0fff64440baf6cd557941d79a9f53d1a">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1final.html#e882f1d34f5e31be0fc457477e3d661c">Nv::Blast::final</a>
<li>setup()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html#274c12508454bf2bbf3cb85a9e27861a">Nv::Blast::ExtGroupWorkerTask</a>
<li>setValue()
@@ -311,14 +314,14 @@ Here is a list of all class members with links to the classes they belong to:
<li>setWorkerCount()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#6a5d3d9dedc6025460c1102b288a1a85">Nv::Blast::TkGroup</a>
<li>setX()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#8bb9f1308ffa8a11cb7ace280f418732">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#fdfb69b83e4d86eb52ace88a01106509">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#fdfb69b83e4d86eb52ace88a01106509">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#8bb9f1308ffa8a11cb7ace280f418732">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
<li>setY()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#2096fe331370075b0e5cdfa8ab7ac37c">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#d6abc32bf18b47ce93f472fda478d6d9">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
<li>setZ()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#553e1b1ecac8f454045b565f7fb7972d">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#6879cd6acd46953fdc75d85ccae3f0f4">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#6879cd6acd46953fdc75d85ccae3f0f4">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_builder.html#553e1b1ecac8f454045b565f7fb7972d">Nv::Blast::Serialization::PxVec3::PxVec3::Builder</a>
<li>SharedBlock()
: <a class="el" href="class_nv_1_1_blast_1_1_shared_block.html#f891a9a802158ef8119000edd6ab7e61">Nv::Blast::SharedBlock&lt; T &gt;</a>
<li>SharedBuffer()
@@ -335,34 +338,34 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_shape_desc_template.html#819fad82341ac1d6f9dc5f1172b7d8b9">Nv::Blast::ExtPxShapeDescTemplate</a>
<li>size
: <a class="el" href="struct_nv_blast_data_block.html#8e67affa199c543e727b3b15cbace86d">NvBlastDataBlock</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">Nv::Blast::FixedPriorityQueue&lt; Element, Comparator &gt;</a>
<li>Size()
: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#d72193179c4d43b70d14fb2ea6a11f0a">VHACD::SArray&lt; T, N &gt;</a>
<li>size()
-: <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#196136e567823b3b1075e8e5c5044f0f">Nv::Blast::FixedQueue&lt; T &gt;</a>
+: <a class="el" href="classbt_aligned_object_array.html#c9fb7ab72fa1b2284ec10fa79f77e620">btAlignedObjectArray&lt; T &gt;</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#196136e567823b3b1075e8e5c5044f0f">Nv::Blast::FixedQueue&lt; T &gt;</a>
, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">Nv::Blast::FixedArray&lt; T &gt;</a>
-, <a class="el" href="classbt_aligned_object_array.html#c9fb7ab72fa1b2284ec10fa79f77e620">btAlignedObjectArray&lt; T &gt;</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">Nv::Blast::FixedPriorityQueue&lt; Element, Comparator &gt;</a>
<li>skipObject()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_serialization.html#52f3f5008a0047ee072fb5e1155c28e5">Nv::Blast::ExtSerialization</a>
<li>slicing()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2b3addf8c9d4e4c81511c8b0071f031">Nv::Blast::FractureToolImpl</a>
, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#45e8a5d3b6d98da1b44b6888a5054cce">Nv::Blast::FractureTool</a>
<li>smoothingGroup
-: <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#d3aebc12ff4423d9c7dcaaadf77e7104">Nv::Blast::TriangleIndexed</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_per_triangle_additional_data.html#42e142111ccadd99eccd755673e84ed8">Nv::Blast::PerTriangleAdditionalData</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">Nv::Blast::Triangle</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_per_triangle_additional_data.html#42e142111ccadd99eccd755673e84ed8">Nv::Blast::PerTriangleAdditionalData</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_facet.html#b41a791ee0ddb9c5cb823d43c4baa19c">Nv::Blast::Facet</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#d3aebc12ff4423d9c7dcaaadf77e7104">Nv::Blast::TriangleIndexed</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#b832c1b248d12e5d6d292a10be2fe199">Nv::Blast::Triangle</a>
<li>smoothingGroups
: <a class="el" href="struct_nv_1_1_blast_1_1_cutout.html#a6f468c14b3ddd7d1cfefab166e88e21">Nv::Blast::Cutout</a>
<li>sortToCCW()
: <a class="el" href="class_nv_1_1_blast_1_1_triangle_processor.html#c7bddb75fcd0b0f312a7a1065e571825">Nv::Blast::TriangleProcessor</a>
<li>spawn()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#fa0253bcd2d5f8c8694340323d51493b">Nv::Blast::ExtPxFamily</a>
-, <a class="el" href="class_nv_1_1_blast_1_1final.html#2c6ca11d6538e0d134dd135cd6cc374e">Nv::Blast::final</a>
-<li>split()
-: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#ecab306397e048f4f46440d4879ba879">Nv::Blast::Actor</a>
+: <a class="el" href="class_nv_1_1_blast_1_1final.html#2c6ca11d6538e0d134dd135cd6cc374e">Nv::Blast::final</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#fa0253bcd2d5f8c8694340323d51493b">Nv::Blast::ExtPxFamily</a>
<li>Split
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b02c12594603837feafbdb7f02aa5f7d8">Nv::Blast::TkEvent</a>
+<li>split()
+: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#ecab306397e048f4f46440d4879ba879">Nv::Blast::Actor</a>
<li>splitRequiredScratch()
: <a class="el" href="class_nv_1_1_blast_1_1_actor.html#6b9c6155e42a10f77ea5addc2ccbdcc4">Nv::Blast::Actor</a>
<li>start
@@ -382,8 +385,8 @@ Here is a list of all class members with links to the classes they belong to:
<li>stressLinearFactor
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_stress_solver_settings.html#ee4b24619f255f4e8bbb131fa552abe4">Nv::Blast::ExtStressSolverSettings</a>
<li>subchunkCount
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#b1393ee5bdc8736add5b46bb0e63c7b8">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_chunk.html#b72119e6ade5758ec1c8874894d53ab2">Nv::Blast::ExtPxChunk</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_chunk.html#b72119e6ade5758ec1c8874894d53ab2">Nv::Blast::ExtPxChunk</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#b1393ee5bdc8736add5b46bb0e63c7b8">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
<li>subchunks
: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_asset_desc_1_1_chunk_desc.html#3887825dc8fa6157aeb007585b2ed85d">Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc</a>
<li>subgraphShaderFunction
@@ -395,14 +398,13 @@ Here is a list of all class members with links to the classes they belong to:
<li>submeshOffsets
: <a class="el" href="struct_nv_1_1_blast_1_1_exporter_mesh_data.html#c5da07eb5e955933b2a66172086ca1e3">Nv::Blast::ExporterMeshData</a>
<li>subscribe()
-: <a class="el" href="class_nv_1_1_blast_1_1final.html#8d02f38c4dbe02470bada3f48d27e179">Nv::Blast::final</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#f2e0b2eaa5f46ba5af2fbf8be98a5e93">Nv::Blast::ExtPxFamily</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#e47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#f2e0b2eaa5f46ba5af2fbf8be98a5e93">Nv::Blast::ExtPxFamily</a>
, <a class="el" href="class_nv_1_1_blast_1_1final.html#8d02f38c4dbe02470bada3f48d27e179">Nv::Blast::final</a>
-<li>subtype
-: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#1d4d35a36d2fa508b40785ab17694883">Nv::Blast::TkJointUpdateEvent</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#e47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
<li>Subtype
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#b7f4bb03fd3e37d487b6baa02104db7d">Nv::Blast::TkJointUpdateEvent</a>
+<li>subtype
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#1d4d35a36d2fa508b40785ab17694883">Nv::Blast::TkJointUpdateEvent</a>
<li>SuperSupport
: <a class="el" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#fdc7db1ba5c96b0e9fc3d8a0c57c29e1d1acf45b5305ba01314110cfb5e7e9ef">Nv::Blast::Asset::Asset::ChunkAnnotation</a>
<li>Support
diff --git a/docs/source_docs/files/functions_0x74.html b/docs/source_docs/files/functions_0x74.html
index b3fc989..2abbf57 100755
--- a/docs/source_docs/files/functions_0x74.html
+++ b/docs/source_docs/files/functions_0x74.html
@@ -271,24 +271,24 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="class_v_h_a_c_d_1_1_mutex.html#b1d735138b90c892ae83c1858628a709">VHACD::Mutex</a>
<li>tryRead()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_input_stream.html#8fdb8bfaacf4f53355a180b1b9d1b234">Nv::Blast::ExtInputStream</a>
-<li>Type
-: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a>
-<li>type
-: <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap&lt; Key, Value, HashFn &gt;</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet&lt; Key, HashFn &gt;</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a>
-<li>Type
-: <a class="el" href="struct_nv_blast_message.html#a131d1cdff39661ffe961fa4c24742ce">NvBlastMessage</a>
<li>type
-: <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray&lt; T, N &gt;</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array&lt; T &gt;</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event.html#b2e0f4702427030af86b0f799660debb">Nv::Blast::ExtSyncEvent</a>
<li>Type
: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b9648">NvBlastDataBlock</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a>
<li>type
+: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array&lt; T &gt;</a>
+<li>Type
+: <a class="el" href="struct_nv_blast_message.html#a131d1cdff39661ffe961fa4c24742ce">NvBlastMessage</a>
+<li>type
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#000709f52a7d7e2629aaa0114260dec5">Nv::Blast::TkEvent</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray&lt; T, N &gt;</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet&lt; Key, HashFn &gt;</a>
<li>Type
-: <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b">Nv::Blast::TkEvent</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a>
+<li>type
+: <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap&lt; Key, Value, HashFn &gt;</a>
<li>TypeCount
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a36f1dbee3e8bc13b989992ae25cdf851">Nv::Blast::TkTypeIndex</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_event.html#13a95a0e6743fea0f0a374a3d943b07b8ddfbe9ceb31a245bd3c53bacd64353b">Nv::Blast::TkEvent</a>
diff --git a/docs/source_docs/files/functions_0x75.html b/docs/source_docs/files/functions_0x75.html
index 2fd99e2..c613e53 100755
--- a/docs/source_docs/files/functions_0x75.html
+++ b/docs/source_docs/files/functions_0x75.html
@@ -133,22 +133,21 @@ Here is a list of all class members with links to the classes they belong to:
<li>UpperSupport
: <a class="el" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#fdc7db1ba5c96b0e9fc3d8a0c57c29e1cf5eca8c2aba4cc6ab47143220ade97c">Nv::Blast::Asset::Asset::ChunkAnnotation</a>
<li>userData
-: <a class="el" href="struct_nv_blast_bond.html#4e131a735184d74e611b9b40a368edd7">NvBlastBond</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#aa4adc1a15857521aa9b61094c3b752b">Nv::Blast::ExtPxFamily</a>
-, <a class="el" href="struct_nv_blast_chunk.html#9d49d856390e7758d4ea26ae69ae6aa5">NvBlastChunk</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#aa4adc1a15857521aa9b61094c3b752b">Nv::Blast::ExtPxFamily</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_facet.html#b4e7150dc9148b85ee95282927f1e6ef">Nv::Blast::Facet</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#adbfad94aec1aaf6e431482cc4d659f9">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#e1a1d9f53d372a748f615fc47b730a42">Nv::Blast::TkObject</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">Nv::Blast::Triangle</a>
<li>userdata
: <a class="el" href="struct_nv_blast_bond_fracture_data.html#33fec8bda99647afa0a1fa7e03383f91">NvBlastBondFractureData</a>
<li>userData
-: <a class="el" href="struct_nv_1_1_blast_1_1_facet.html#b4e7150dc9148b85ee95282927f1e6ef">Nv::Blast::Facet</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#a6a1711ab535f45d870c194a8e346a69">Nv::Blast::TriangleIndexed</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_data.html#e648745137d1ba4ac78dbb8189e43f96">Nv::Blast::TkActorData</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#e1a1d9f53d372a748f615fc47b730a42">Nv::Blast::TkObject</a>
+: <a class="el" href="struct_nv_blast_bond.html#4e131a735184d74e611b9b40a368edd7">NvBlastBond</a>
, <a class="el" href="struct_nv_blast_chunk_desc.html#61728e37d062c4cc9a0e8fe40584959e">NvBlastChunkDesc</a>
+, <a class="el" href="struct_nv_blast_chunk.html#9d49d856390e7758d4ea26ae69ae6aa5">NvBlastChunk</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_data.html#e648745137d1ba4ac78dbb8189e43f96">Nv::Blast::TkActorData</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#a6a1711ab535f45d870c194a8e346a69">Nv::Blast::TriangleIndexed</a>
<li>userdata
: <a class="el" href="struct_nv_blast_chunk_fracture_data.html#6623c6f7d40381a862e058a868ec22a5">NvBlastChunkFractureData</a>
-<li>userData
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#adbfad94aec1aaf6e431482cc4d659f9">Nv::Blast::ExtPxAsset</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">Nv::Blast::Triangle</a>
<li>userIntData
: <a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#65dbac714ebfdc9f0a4d7a905bbbcdf4">Nv::Blast::TkIdentifiable</a>
<li>useSmoothing
diff --git a/docs/source_docs/files/functions_0x79.html b/docs/source_docs/files/functions_0x79.html
index 71e2468..5e86a8d 100755
--- a/docs/source_docs/files/functions_0x79.html
+++ b/docs/source_docs/files/functions_0x79.html
@@ -86,20 +86,23 @@
Here is a list of all class members with links to the classes they belong to:
<p>
<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
-<li>y
-: <a class="el" href="struct_nv_1_1_blast_1_1_p_o_i_n_t2_d.html#2e1dfe475a2a14dea61686b82a168fd1">Nv::Blast::POINT2D</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html#a1a733303a2cf444b2feca0659e6baf0">Nv::Blast::VSA::Vec3</a>
<li>Y()
-: <a class="el" href="class_v_h_a_c_d_1_1_vec2.html#3f06b00e79b81a7948e8e1392ae4dd59">VHACD::Vec2&lt; T &gt;</a>
-, <a class="el" href="class_v_h_a_c_d_1_1_vec3.html#80a6f6740aeb3ef9befad7c471c83c13">VHACD::Vec3&lt; T &gt;</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_vec3.html#ce84816bc7d1ced8aa848b72d4c0dfc7">VHACD::Vec3&lt; T &gt;</a>
<li>y
: <a class="el" href="struct_nvc_vec4i.html#dea21024fc0cc91f09c208a8b082a30d">NvcVec4i</a>
-, <a class="el" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">NvcVec3</a>
+, <a class="el" href="struct_nvc_vec3i.html#afb1c175b2ddd740ab1866691deb4474">NvcVec3i</a>
, <a class="el" href="struct_nvc_vec2i.html#2080925f84a15c89d75d8040d13a1d5c">NvcVec2i</a>
, <a class="el" href="struct_nvc_quat.html#e30a369d4fdfd529a02c6bc24e186d4f">NvcQuat</a>
, <a class="el" href="struct_nvc_vec4.html#3b73377e918214b0fbd3927ee416cc0e">NvcVec4</a>
-, <a class="el" href="struct_nvc_vec3i.html#afb1c175b2ddd740ab1866691deb4474">NvcVec3i</a>
-, <a class="el" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">NvcVec2</a>
+<li>Y()
+: <a class="el" href="class_v_h_a_c_d_1_1_vec2.html#3f06b00e79b81a7948e8e1392ae4dd59">VHACD::Vec2&lt; T &gt;</a>
+<li>y
+: <a class="el" href="struct_nvc_vec2.html#6f6295fc8669ad95cb006a2189c0ed63">NvcVec2</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_v_s_a_1_1_vec3.html#a1a733303a2cf444b2feca0659e6baf0">Nv::Blast::VSA::Vec3</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_p_o_i_n_t2_d.html#2e1dfe475a2a14dea61686b82a168fd1">Nv::Blast::POINT2D</a>
+, <a class="el" href="struct_nvc_vec3.html#b94f8fe1d24d91b942bc6e87e76c0fc0">NvcVec3</a>
+<li>Y()
+: <a class="el" href="class_v_h_a_c_d_1_1_vec2.html#483e45a6420e0a86617c0f0c220a69a3">VHACD::Vec2&lt; T &gt;</a>
<li>y_slices
: <a class="el" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#7d8debe2d2ad2e97208c0cdb57022640">Nv::Blast::SlicingConfiguration</a>
</ul>
diff --git a/docs/source_docs/files/functions_a.html b/docs/source_docs/files/functions_a.html
index 5f54e30..56891e9 100755
--- a/docs/source_docs/files/functions_a.html
+++ b/docs/source_docs/files/functions_a.html
@@ -314,8 +314,8 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_apex_importer_1_1_apex_import_tool.html#a9d630b32d1a0ae5fe3a044417cc64736">Nv::Blast::ApexImporter::ApexImportTool</a>
</li>
<li>appendMesh()
-: <a class="el" href="class_nv_1_1_blast_1_1_fbx_file_writer.html#a9013dae8926bf0c0f332cec0fd2dfff2">Nv::Blast::FbxFileWriter</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_i_mesh_file_writer.html#a605c88816a8d81f4084c1bbf53b32dae">Nv::Blast::IMeshFileWriter</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_fbx_file_writer.html#aa2b7a1dea165bc42ba91029911b669e1">Nv::Blast::FbxFileWriter</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_i_mesh_file_writer.html#ac14e455289f1642fa7515873e89e8ea6">Nv::Blast::IMeshFileWriter</a>
, <a class="el" href="class_nv_1_1_blast_1_1_obj_file_writer.html#a5098f7f493b3ca1398eacc3fc1a5840d">Nv::Blast::ObjFileWriter</a>
</li>
<li>applyDamage()
@@ -334,6 +334,9 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
<li>applySyncBuffer()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#a80c6e0fdc23b94a9d3adb6c1f7390a9f">Nv::Blast::ExtSync</a>
</li>
+<li>APPROXIMATE_BONDING
+: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo</a>
+</li>
<li>area
: <a class="el" href="struct_nv_blast_bond.html#a5dc5d104d61919d19968ce77b7db9bba">NvBlastBond</a>
</li>
diff --git a/docs/source_docs/files/functions_c.html b/docs/source_docs/files/functions_c.html
index 4b4b425..adeecad 100755
--- a/docs/source_docs/files/functions_c.html
+++ b/docs/source_docs/files/functions_c.html
@@ -361,7 +361,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
, <a class="el" href="class_nv_1_1_blast_1_1_ext_damage_accelerator_a_a_b_b_tree.html#a007fa7ce495c8ee886dcef928eaf93dd">Nv::Blast::ExtDamageAcceleratorAABBTree</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_group_task_manager.html#a7fbbb098b47ed4e68bca0f610a8c3d1b">Nv::Blast::ExtGroupTaskManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_impact_damage_manager.html#a5687ec8821dd47069214a893d0c2a379">Nv::Blast::ExtImpactDamageManager</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#a6514c543e6df14d77ef660bafa8c4fb3">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#ab899763ad22b77d5d99cdd60bf008cd3">Nv::Blast::ExtPxAsset</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a887cfcc5831c53fe1e1f81e84be41a55">Nv::Blast::ExtPxManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_stress_solver.html#a2c98eb8bb98fd0c9823164df05c5f76c">Nv::Blast::ExtPxStressSolver</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#aa69418650f816f3182ea363713111180">Nv::Blast::ExtStressSolver</a>
@@ -378,12 +378,12 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#a8abe98c41d659ecdeb70b722450b56be">Nv::Blast::TkFrameworkImpl</a>
</li>
<li>createAsset()
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#af1279d3414ad43036ff3e9e4b37e0a43">Nv::Blast::TkFramework</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_tk_framework.html#a9f9ae6a30e80b39d3fcbb14483c20646">Nv::Blast::TkFramework</a>
, <a class="el" href="class_nv_1_1_blast_1_1_tk_framework_impl.html#ad45cd110c344066b7bf50fd2743beb82">Nv::Blast::TkFrameworkImpl</a>
</li>
<li>createBondBetweenMeshes()
-: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#ae2f6a1a14917cac480eef0110ecc5af5">Nv::Blast::BlastBondGenerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a0d06aa62402161f1197fe1dad4801cb1">Nv::Blast::BlastBondGeneratorImpl</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#a210b3c6cd2d759cb4f724c120beaf4ff">Nv::Blast::BlastBondGenerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#af3001b8eef097d8d250c844d23870f92">Nv::Blast::BlastBondGeneratorImpl</a>
</li>
<li>createChunkMesh()
: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#a04bb5dd940274a9c8b097cc9f06d0708">Nv::Blast::FractureTool</a>
@@ -392,9 +392,6 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>createCollisionBuilder()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a12296d50356db4664959dc3ea414dd9c">Nv::Blast::ExtPxManager</a>
</li>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
-</li>
<li>createFamily()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#a4f76548a36265c068f6080cde0ef674a">Nv::Blast::ExtPxManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager_impl.html#ae21aa2e3e7f3b3861f8aa946c3879605">Nv::Blast::ExtPxManagerImpl</a>
diff --git a/docs/source_docs/files/functions_eval.html b/docs/source_docs/files/functions_eval.html
index 746b31e..8c059dc 100755
--- a/docs/source_docs/files/functions_eval.html
+++ b/docs/source_docs/files/functions_eval.html
@@ -80,11 +80,13 @@
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>ALL
: <a class="el" href="struct_nv_1_1_blast_1_1_fracture_r_t_1_1_stage.html#d0734403d39e52d55ed4492d63090ed497fe612f8c684f3c191da1285b616457">Nv::Blast::FractureRT::FractureRT::Stage</a>
+<li>APPROXIMATE_BONDING
+: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">Nv::Blast::ChunkInfo</a>
<li>Asset
-: <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_tk_type_index.html#57681ffd26c84b5272b7e0c23103493a0785a75fbc075612bffb021a49526ba2">Nv::Blast::TkTypeIndex</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_ext_px_object_type_i_d.html#416ed61e2f3847ceaab50ddd9512417b3aa2dc54683584ca4747dbbe64eedfb1">Nv::Blast::ExtPxObjectTypeID</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_object_type_i_d.html#74dfb65256e079e10e40afa11bd7937391e23bb0f555f807a27f1f1b37cf1a3d">Nv::Blast::TkObjectTypeID</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ll_object_type_i_d.html#e8bf597dc1e1e242817ae55ba0d632c4982a9d27b7909cf9d7e3ce490cbb5d4a">Nv::Blast::LlObjectTypeID</a>
<li>AssetDataBlock
: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96480db40958d7f33c4644e4b52cb2213463">NvBlastDataBlock</a>
<li>AVERAGE
@@ -102,11 +104,9 @@
<li>Cone
: <a class="el" href="struct_nv_1_1_blast_1_1_damage_pattern.html#ac014f5d85ffaecb95328a2b10a2154b2274b06a8d29f17584653284b7fd86c5">Nv::Blast::DamagePattern</a>
<li>Count
-: <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a>
-, <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
+: <a class="el" href="struct_nv_blast_data_block.html#78797137dcdd9524f082fc784f7b96484463e88093733032ed9751bcb753ec50">NvBlastDataBlock</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_ext_sync_event_type.html#9a61dab2f51aecaea8bd63c62097a8458e821efbfc58abb1f947af0b5922f3b5">Nv::Blast::ExtSyncEventType</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df249675818d4ea3712ad725465a1e323a">Nv::Blast::ActorSerializationFormat</a>
-<li>CREATED_BY_ISLAND_DETECTOR
-: <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">Nv::Blast::ChunkInfo</a>
<li>Current
: <a class="el" href="struct_nv_1_1_blast_1_1_actor_serialization_format.html#b8d9afeccbfc1d237bd9903207d095df26b64a066d09c0f4cdb95977f0f44ad4">Nv::Blast::ActorSerializationFormat</a>
</ul>
diff --git a/docs/source_docs/files/functions_func_0x69.html b/docs/source_docs/files/functions_func_0x69.html
index c84e22a..cf1e0c4 100755
--- a/docs/source_docs/files/functions_func_0x69.html
+++ b/docs/source_docs/files/functions_func_0x69.html
@@ -185,10 +185,10 @@
: <a class="el" href="class_nv_1_1_blast_1_1_ext_task_sync.html#b0062a114856ba591a00c2c959ef6e54">Nv::Blast::ExtTaskSync</a>
<li>isDouble()
: <a class="el" href="class_f_l_o_a_t___m_a_t_h_1_1fm___vertex_index.html#7d546cd3a301fd47bfde8cdd8f9ff950">FLOAT_MATH::fm_VertexIndex</a>
-<li>isEmpty()
-: <a class="el" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">Nv::Blast::DList</a>
<li>IsEmpty()
: <a class="el" href="class_v_h_a_c_d_1_1_circular_list.html#0e52f1bc53f97d1a32f01e693256c65c">VHACD::CircularList&lt; T &gt;</a>
+<li>isEmpty()
+: <a class="el" href="class_nv_1_1_blast_1_1_d_list.html#2242875a371ef6baf92c8a9bafbbf23b">Nv::Blast::DList</a>
<li>IsFlat()
: <a class="el" href="class_v_h_a_c_d_1_1_i_c_hull.html#bf5e9b35967d92f67bbf8fa685198c89">VHACD::ICHull</a>
<li>IsInside()
diff --git a/docs/source_docs/files/functions_func_0x70.html b/docs/source_docs/files/functions_func_0x70.html
index 2a449f7..b53fb27 100755
--- a/docs/source_docs/files/functions_func_0x70.html
+++ b/docs/source_docs/files/functions_func_0x70.html
@@ -166,11 +166,12 @@
, <a class="el" href="class_nv_1_1_blast_1_1_ext_damage_accelerator_internal_1_1_result_callback.html#e96341bcb9e23d77de42bd56e1c59d3e">Nv::Blast::ExtDamageAcceleratorInternal::ExtDamageAcceleratorInternal::ResultCallback</a>
<li>push_back()
: <a class="el" href="classbt_aligned_object_array.html#d61e10166e2c00f487095d3482b9edd1">btAlignedObjectArray&lt; T &gt;</a>
+<li>pushBack()
+: <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">Nv::Blast::FixedArray&lt; T &gt;</a>
<li>PushBack()
: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#5dee93011225ab51bc07149d77791e8a">VHACD::SArray&lt; T, N &gt;</a>
<li>pushBack()
: <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#7b0cb35624994968155185acd732e643">Nv::Blast::FixedQueue&lt; T &gt;</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#34a4a29c8d47adec39ae2df663470643">Nv::Blast::FixedArray&lt; T &gt;</a>
<li>PxConvexMeshGeometry()
: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#5f50af829b994a8391e779e20ca336a8">Nv::Blast::Serialization::PxConvexMeshGeometry</a>
<li>PxMeshScale()
diff --git a/docs/source_docs/files/functions_func_0x72.html b/docs/source_docs/files/functions_func_0x72.html
index 7364f98..3300bee 100755
--- a/docs/source_docs/files/functions_func_0x72.html
+++ b/docs/source_docs/files/functions_func_0x72.html
@@ -276,10 +276,10 @@
<li>resetEdges()
: <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data.html#4d8004d7db89ec915ceefa7625988313">Nv::Blast::BooleanToolOutputData</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_boolean_tool_output_data_impl.html#e0ffc77bd31589311be905b694afecda">Nv::Blast::BooleanToolOutputDataImpl</a>
-<li>Resize()
-: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#da45d2e351a21b54becd729c1df416cf">VHACD::SArray&lt; T, N &gt;</a>
<li>resize()
: <a class="el" href="classbt_aligned_object_array.html#cb69833ed110d6db213a71533a8c804a">btAlignedObjectArray&lt; T &gt;</a>
+<li>Resize()
+: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#da45d2e351a21b54becd729c1df416cf">VHACD::SArray&lt; T, N &gt;</a>
<li>ResizePoints()
: <a class="el" href="class_v_h_a_c_d_1_1_mesh.html#3fe07b138fc07648dfb707ec1a877ff6">VHACD::Mesh</a>
<li>ResizeTriangles()
diff --git a/docs/source_docs/files/functions_func_0x73.html b/docs/source_docs/files/functions_func_0x73.html
index bcc712f..30a8192 100755
--- a/docs/source_docs/files/functions_func_0x73.html
+++ b/docs/source_docs/files/functions_func_0x73.html
@@ -141,6 +141,9 @@
: <a class="el" href="class_nv_1_1_blast_1_1_tk_joint_impl.html#02dbf85b42ee9695f5d928fd55f5d10d">Nv::Blast::TkJointImpl</a>
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#3fdd1a0df69a82898a6ec8c0f51094fc">Nv::Blast::FractureToolImpl</a>
<li>setAsset()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#d0d30a20d382871f64698aaa1006305d">Nv::Blast::Serialization::ExtPxAsset::ExtPxAsset::Builder</a>
<li>setAssetLL()
@@ -224,7 +227,7 @@
<li>setNodeInfo()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#61c7764ec17fac216dc052d6b74b3237">Nv::Blast::ExtStressSolver</a>
<li>setNormal()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#b0ddc934f35dba5a292efce60d621fb3">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#c391b8c6e49983a689ec6667adcd24ec">Nv::Blast::Serialization::NvBlastBond::NvBlastBond::Builder</a>
<li>setP()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_transform_1_1_builder.html#5487767a773f5ed77b9ea85a75ca04be">Nv::Blast::Serialization::PxTransform::PxTransform::Builder</a>
<li>setPlatformEnabled()
@@ -232,17 +235,17 @@
<li>SetPoint()
: <a class="el" href="class_v_h_a_c_d_1_1_mesh.html#516bac568eb5138ad6b68277f12e68aa">VHACD::Mesh</a>
<li>setPointCmpDirection()
-: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#e843779ca0d8635836fbbc9a2060dfa3">Nv::Blast::BBoxBasedAccelerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#addc0455047474051b8cf67177594d9b">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#99d3cf42fe6c71caa4c827d94ca3fd4d">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#50b1fd58ed24a0f70cf4b6dfeefcaca1">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#addc0455047474051b8cf67177594d9b">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#10d706850f97144678975742b586b500">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#e843779ca0d8635836fbbc9a2060dfa3">Nv::Blast::BBoxBasedAccelerator</a>
<li>setPxActorDesc()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#3335adf4c2c6367d98ba41f7a5f5488b">Nv::Blast::ExtPxFamily</a>
-, <a class="el" href="class_nv_1_1_blast_1_1final.html#ee3637f608628f89c07e5bdd6d7b9fe7">Nv::Blast::final</a>
+: <a class="el" href="class_nv_1_1_blast_1_1final.html#ee3637f608628f89c07e5bdd6d7b9fe7">Nv::Blast::final</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#3335adf4c2c6367d98ba41f7a5f5488b">Nv::Blast::ExtPxFamily</a>
<li>setPxShapeDescTemplate()
-: <a class="el" href="class_nv_1_1_blast_1_1final.html#905ae2985ac677bb4bf15be46eb7bf13">Nv::Blast::final</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#88523d45695e7d5b10637e04aef06e02">Nv::Blast::ExtPxFamily</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#88523d45695e7d5b10637e04aef06e02">Nv::Blast::ExtPxFamily</a>
+, <a class="el" href="class_nv_1_1_blast_1_1final.html#905ae2985ac677bb4bf15be46eb7bf13">Nv::Blast::final</a>
<li>setQ()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_transform_1_1_builder.html#e1c1c42c0d0fb1727e598f8366256526">Nv::Blast::Serialization::PxTransform::PxTransform::Builder</a>
<li>setRemoveIslands()
@@ -261,24 +264,21 @@
<li>setSize()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block_1_1_builder.html#720e2e9660124da200c11aa97378c472">Nv::Blast::Serialization::NvBlastDataBlock::NvBlastDataBlock::Builder</a>
<li>setSmoothingGroup()
-: <a class="el" href="class_nv_1_1_blast_1_1_mesh_impl.html#9d7a7efb5015fc64d764b2eff8a9fb53">Nv::Blast::MeshImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_mesh.html#ed83e124b04216f54989ea9f8ade52d7">Nv::Blast::Mesh</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_mesh.html#ed83e124b04216f54989ea9f8ade52d7">Nv::Blast::Mesh</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_mesh_impl.html#9d7a7efb5015fc64d764b2eff8a9fb53">Nv::Blast::MeshImpl</a>
<li>setSourceMesh()
-: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#04d3620e1e76d15accb8a08039398680">Nv::Blast::FractureToolImpl</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#04d3620e1e76d15accb8a08039398680">Nv::Blast::FractureToolImpl</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#c14c1ff1d50756694be24c34476af965">Nv::Blast::FractureTool</a>
<li>setState()
-: <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#07d0e165095fb2561042e2b8054c5b0f">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#fb11c09557dfc60e0e5dcf0bce33dec5">Nv::Blast::SpatialAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#fb11c09557dfc60e0e5dcf0bce33dec5">Nv::Blast::SpatialAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#07d0e165095fb2561042e2b8054c5b0f">Nv::Blast::DummyAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#1f189f9e73e1342ec42f19e3fce5c944">Nv::Blast::SweepingAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f9d479e51cdeef5e9b53489ba81f335c">Nv::Blast::BBoxBasedAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#f0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#57e114094e51546afd728a82c8181935">Nv::Blast::SweepingAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#406b30c6eecd98771493fb182275d831">Nv::Blast::SpatialAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#aeb4d54e24fdbfb0a9fd2083414d645b">Nv::Blast::BBoxBasedAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#57e114094e51546afd728a82c8181935">Nv::Blast::SweepingAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#bd89089c018fb1303951f75814fa3c80">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
<li>setStencil()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#81f5fbf6cdaaf3d2d45c2dff822ff9b9">Nv::Blast::VoronoiSitesGeneratorImpl</a>
@@ -292,13 +292,13 @@
<li>setType()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry_1_1_builder.html#bf0d5bc7aa6d035da72c6e1217352223">Nv::Blast::Serialization::PxConvexMeshGeometry::PxConvexMeshGeometry::Builder</a>
<li>setUniformHealth()
-: <a class="el" href="class_nv_1_1_blast_1_1final.html#e882f1d34f5e31be0fc457477e3d661c">Nv::Blast::final</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#0fff64440baf6cd557941d79a9f53d1a">Nv::Blast::ExtPxAsset</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#0fff64440baf6cd557941d79a9f53d1a">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1final.html#e882f1d34f5e31be0fc457477e3d661c">Nv::Blast::final</a>
<li>setup()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_group_worker_task.html#274c12508454bf2bbf3cb85a9e27861a">Nv::Blast::ExtGroupWorkerTask</a>
<li>setValue()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_u_u_i_d_1_1_builder.html#84c6cbd06b8c450bf8e813cd2efaff4d">Nv::Blast::Serialization::UUID::UUID::Builder</a>
-, <a class="el" href="classbt_vector4.html#08b401e9e501467c7c8c4f2edbcf3db2">btVector4</a>
+: <a class="el" href="classbt_vector4.html#08b401e9e501467c7c8c4f2edbcf3db2">btVector4</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_u_u_i_d_1_1_builder.html#84c6cbd06b8c450bf8e813cd2efaff4d">Nv::Blast::Serialization::UUID::UUID::Builder</a>
<li>setW()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_px_quat_1_1_builder.html#c256559accce6de854121ff6af7967c8">Nv::Blast::Serialization::PxQuat::PxQuat::Builder</a>
<li>setWorkerCount()
@@ -322,18 +322,19 @@
: <a class="el" href="class_nv_1_1_blast_1_1_shared_memory.html#399aac38cf540e274ba36ca20358d182">Nv::Blast::SharedMemory</a>
<li>SimplexNoise()
: <a class="el" href="class_nv_1_1_blast_1_1_simplex_noise.html#99d15601661901924a2470a0a002884f">Nv::Blast::SimplexNoise</a>
+<li>size()
+: <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">Nv::Blast::FixedPriorityQueue&lt; Element, Comparator &gt;</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">Nv::Blast::FixedArray&lt; T &gt;</a>
+, <a class="el" href="classbt_aligned_object_array.html#c9fb7ab72fa1b2284ec10fa79f77e620">btAlignedObjectArray&lt; T &gt;</a>
<li>Size()
: <a class="el" href="class_v_h_a_c_d_1_1_s_array.html#d72193179c4d43b70d14fb2ea6a11f0a">VHACD::SArray&lt; T, N &gt;</a>
<li>size()
: <a class="el" href="class_nv_1_1_blast_1_1_fixed_queue.html#196136e567823b3b1075e8e5c5044f0f">Nv::Blast::FixedQueue&lt; T &gt;</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fixed_array.html#7f8ec3992efac9574ec0ef1f930fd9e2">Nv::Blast::FixedArray&lt; T &gt;</a>
-, <a class="el" href="classbt_aligned_object_array.html#c9fb7ab72fa1b2284ec10fa79f77e620">btAlignedObjectArray&lt; T &gt;</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fixed_priority_queue.html#d13461038e5995b58057a5c13dfbe8ce">Nv::Blast::FixedPriorityQueue&lt; Element, Comparator &gt;</a>
<li>skipObject()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_serialization.html#52f3f5008a0047ee072fb5e1155c28e5">Nv::Blast::ExtSerialization</a>
<li>slicing()
-: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2b3addf8c9d4e4c81511c8b0071f031">Nv::Blast::FractureToolImpl</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#45e8a5d3b6d98da1b44b6888a5054cce">Nv::Blast::FractureTool</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#45e8a5d3b6d98da1b44b6888a5054cce">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#c2b3addf8c9d4e4c81511c8b0071f031">Nv::Blast::FractureToolImpl</a>
<li>sortToCCW()
: <a class="el" href="class_nv_1_1_blast_1_1_triangle_processor.html#c7bddb75fcd0b0f312a7a1065e571825">Nv::Blast::TriangleProcessor</a>
<li>spawn()
@@ -346,7 +347,8 @@
<li>startProcess()
: <a class="el" href="class_nv_1_1_blast_1_1_tk_group.html#e98b1523b3f1323c42129fe88842f306">Nv::Blast::TkGroup</a>
<li>subscribe()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#e47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
+: <a class="el" href="class_nv_1_1_blast_1_1final.html#8d02f38c4dbe02470bada3f48d27e179">Nv::Blast::final</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#e47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#f2e0b2eaa5f46ba5af2fbf8be98a5e93">Nv::Blast::ExtPxFamily</a>
, <a class="el" href="class_nv_1_1_blast_1_1final.html#8d02f38c4dbe02470bada3f48d27e179">Nv::Blast::final</a>
<li>swap()
@@ -354,7 +356,7 @@
<li>SweepingAccelerator()
: <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#edd11ecc891c00c187803dbb6edea59f">Nv::Blast::SweepingAccelerator</a>
<li>syncFamily()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#116f3536defc2e352849792b25abc91f">Nv::Blast::ExtSync</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#11c708920d867cc1ead156773f49abeb">Nv::Blast::ExtSync</a>
</ul>
</div>
<!-- start footer part -->
diff --git a/docs/source_docs/files/functions_func_g.html b/docs/source_docs/files/functions_func_g.html
index 777c68b..d4f83a8 100755
--- a/docs/source_docs/files/functions_func_g.html
+++ b/docs/source_docs/files/functions_func_g.html
@@ -1175,7 +1175,7 @@ $(document).ready(function(){initNavTree('functions_func_g.html','');});
, <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator_impl.html#ad4a5521b93a40601ad53c36882f63a04">Nv::Blast::VoronoiSitesGeneratorImpl</a>
</li>
<li>GetVoxel()
-: <a class="el" href="class_v_h_a_c_d_1_1_volume.html#a93701cfe8e5d61f1a13541abc632cbc1">VHACD::Volume</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_volume.html#a28d7ee3083467b5a03cb4e5447153dc9">VHACD::Volume</a>
</li>
<li>GetVoxels()
: <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#ae2f6a98668068b91161da14f8d375ed4">VHACD::VoxelSet</a>
diff --git a/docs/source_docs/files/functions_func_s.html b/docs/source_docs/files/functions_func_s.html
index 70be8ae..bbb36b4 100755
--- a/docs/source_docs/files/functions_func_s.html
+++ b/docs/source_docs/files/functions_func_s.html
@@ -128,6 +128,10 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
</li>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3fdd1a0df69a82898a6ec8c0f51094fc">Nv::Blast::FractureToolImpl</a>
+</li>
<li>setArea()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#a876db0acb16e2a2d07c4c7b80c8d3178">Nv::Blast::Serialization::NvBlastBond::Builder</a>
</li>
@@ -331,9 +335,9 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
</li>
<li>setState()
: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#af0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#abd89089c018fb1303951f75814fa3c80">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#a4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#a3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#a696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#a4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#afb11c09557dfc60e0e5dcf0bce33dec5">Nv::Blast::SpatialAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#a51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
</li>
<li>setStencil()
@@ -350,7 +354,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#a283aff6c72ae75068be922c07de54aa0">Nv::Blast::Serialization::Asset::Builder</a>
</li>
<li>setSupportChunkHealths()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#a9d016fcee33d6362598082421de55e2b">Nv::Blast::Serialization::ExtPxAsset::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#a780cbf78112d7d533816765502934b38">Nv::Blast::Serialization::ExtPxAsset::Builder</a>
</li>
<li>setTransform()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_subchunk_1_1_builder.html#a924dfef867c36a51c92cf7bb545b78d5">Nv::Blast::Serialization::ExtPxSubchunk::Builder</a>
@@ -410,7 +414,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_shared_buffer.html#a195ce955812bc778caf44c6211f004ca">Nv::Blast::SharedBuffer&lt; T &gt;</a>
</li>
<li>SharedFace()
-: <a class="el" href="struct_nv_1_1_blast_1_1_shared_face.html#a4f4a5a9045d3e06d9a29b956d6192c0f">Nv::Blast::SharedFace</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_shared_face.html#af6b9ee40d745ea78244a355c0d65f5cb">Nv::Blast::SharedFace</a>
</li>
<li>SharedMemory()
: <a class="el" href="class_nv_1_1_blast_1_1_shared_memory.html#a399aac38cf540e274ba36ca20358d182">Nv::Blast::SharedMemory</a>
diff --git a/docs/source_docs/files/functions_g.html b/docs/source_docs/files/functions_g.html
index 52c92be..fc4f952 100755
--- a/docs/source_docs/files/functions_g.html
+++ b/docs/source_docs/files/functions_g.html
@@ -1186,7 +1186,7 @@ $(document).ready(function(){initNavTree('functions_g.html','');});
: <a class="el" href="class_v_h_a_c_d_1_1_volume.html#a93701cfe8e5d61f1a13541abc632cbc1">VHACD::Volume</a>
</li>
<li>GetVoxels()
-: <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#ae2f6a98668068b91161da14f8d375ed4">VHACD::VoxelSet</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_voxel_set.html#aea51d845775371eb79f4bf676305632a">VHACD::VoxelSet</a>
</li>
<li>getW()
: <a class="el" href="classbt_vector4.html#aa5e27c8aa32b7f8ad8cdd96498fff837">btVector4</a>
diff --git a/docs/source_docs/files/functions_s.html b/docs/source_docs/files/functions_s.html
index cf02866..34ae01d 100755
--- a/docs/source_docs/files/functions_s.html
+++ b/docs/source_docs/files/functions_s.html
@@ -144,6 +144,10 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>setAllNodesInfoFromLL()
: <a class="el" href="class_nv_1_1_blast_1_1_ext_stress_solver.html#a419c77935487b2e689e377c986bf6eb5">Nv::Blast::ExtStressSolver</a>
</li>
+<li>setApproximateBonding()
+: <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c">Nv::Blast::FractureTool</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3fdd1a0df69a82898a6ec8c0f51094fc">Nv::Blast::FractureToolImpl</a>
+</li>
<li>setArea()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#a876db0acb16e2a2d07c4c7b80c8d3178">Nv::Blast::Serialization::NvBlastBond::Builder</a>
</li>
@@ -173,7 +177,7 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_ext_serialization.html#a5790c794d5c395736c223d8ab6f036ca">Nv::Blast::ExtSerialization</a>
</li>
<li>setCentroid()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#adf9fb4841085c6e8e4285d486a97cb70">Nv::Blast::Serialization::NvBlastBond::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_bond_1_1_builder.html#a40fc6e8b9805ceeabe5fc8f273d582d7">Nv::Blast::Serialization::NvBlastBond::Builder</a>
, <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_chunk_1_1_builder.html#aa7aa76072be448c805b18ae19f6984f8">Nv::Blast::Serialization::NvBlastChunk::Builder</a>
</li>
<li>setChildIndexStop()
@@ -348,9 +352,9 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>setState()
: <a class="el" href="class_nv_1_1_blast_1_1_b_box_based_accelerator.html#af0e4b076b592791356c693cc1f3e7188">Nv::Blast::BBoxBasedAccelerator</a>
, <a class="el" href="class_nv_1_1_blast_1_1_dummy_accelerator.html#a696d02451cdb1e4c3e596fe4254c55d7">Nv::Blast::DummyAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#a4d6813e9df7f09992daaefe431b5407b">Nv::Blast::GridWalker</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_grid_walker.html#a4215912435a6b50f7300c9f0a1f49e16">Nv::Blast::GridWalker</a>
, <a class="el" href="class_nv_1_1_blast_1_1_spatial_accelerator.html#a3b2d7511d86e393aa09335123bd52afe">Nv::Blast::SpatialAccelerator</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#a51aac4b03c7cf484967110f5f2069d47">Nv::Blast::SweepingAccelerator</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#a1f189f9e73e1342ec42f19e3fce5c944">Nv::Blast::SweepingAccelerator</a>
</li>
<li>setStencil()
: <a class="el" href="class_nv_1_1_blast_1_1_voronoi_sites_generator.html#abf0eeed0dc2a632c85572b4026b195c2">Nv::Blast::VoronoiSitesGenerator</a>
@@ -363,10 +367,10 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#aa22507854f5ff2788efaaff13723d604">Nv::Blast::Serialization::ExtPxAsset::Builder</a>
</li>
<li>setSubtreeLeafChunkCounts()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#a283aff6c72ae75068be922c07de54aa0">Nv::Blast::Serialization::Asset::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_asset_1_1_builder.html#af3ef5491ff9c539dd826217bd52c60b0">Nv::Blast::Serialization::Asset::Builder</a>
</li>
<li>setSupportChunkHealths()
-: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#a780cbf78112d7d533816765502934b38">Nv::Blast::Serialization::ExtPxAsset::Builder</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_asset_1_1_builder.html#a9d016fcee33d6362598082421de55e2b">Nv::Blast::Serialization::ExtPxAsset::Builder</a>
</li>
<li>setTransform()
: <a class="el" href="class_nv_1_1_blast_1_1_serialization_1_1_ext_px_subchunk_1_1_builder.html#a924dfef867c36a51c92cf7bb545b78d5">Nv::Blast::Serialization::ExtPxSubchunk::Builder</a>
@@ -531,12 +535,12 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager.html#ae47dd2fedc6bbfb5512f83a06b8782ed">Nv::Blast::ExtPxManager</a>
, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_manager_impl.html#ad6f0ddd3e0f247cf47e9737a1752cdba">Nv::Blast::ExtPxManagerImpl</a>
</li>
-<li>Subtype
-: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#ab7f4bb03fd3e37d487b6baa02104db7d">Nv::Blast::TkJointUpdateEvent</a>
-</li>
<li>subtype
: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#a1d4d35a36d2fa508b40785ab17694883">Nv::Blast::TkJointUpdateEvent</a>
</li>
+<li>Subtype
+: <a class="el" href="struct_nv_1_1_blast_1_1_tk_joint_update_event.html#ab7f4bb03fd3e37d487b6baa02104db7d">Nv::Blast::TkJointUpdateEvent</a>
+</li>
<li>SuperSupport
: <a class="el" href="struct_nv_1_1_blast_1_1_asset_1_1_chunk_annotation.html#afdc7db1ba5c96b0e9fc3d8a0c57c29e1a1305d2d1024f986f194a73bbeb790e3c">Nv::Blast::Asset::ChunkAnnotation</a>
</li>
@@ -556,7 +560,7 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="class_nv_1_1_blast_1_1_sweeping_accelerator.html#aedd11ecc891c00c187803dbb6edea59f">Nv::Blast::SweepingAccelerator</a>
</li>
<li>syncFamily()
-: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#a116f3536defc2e352849792b25abc91f">Nv::Blast::ExtSync</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_sync.html#a11c708920d867cc1ead156773f49abeb">Nv::Blast::ExtSync</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/docs/source_docs/files/functions_type.html b/docs/source_docs/files/functions_type.html
index 7559434..49393de 100755
--- a/docs/source_docs/files/functions_type.html
+++ b/docs/source_docs/files/functions_type.html
@@ -141,15 +141,15 @@
: <a class="el" href="classbt_aligned_allocator.html#e700086710c0e3968d6291a58afb5179">btAlignedAllocator&lt; T, Alignment &gt;</a>
</ul>
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>type
+: <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array&lt; T &gt;</a>
<li>Type
-: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_nv_blast_data_block.html#255df2928f723c0d99d7a98f31a7c19f">Nv::Blast::Serialization::NvBlastDataBlock</a>
<li>type
: <a class="el" href="struct_nv_1_1_blast_1_1_hash_set.html#bb3e1de36be2fb129233251f720c0d93">Nv::Blast::HashSet&lt; Key, HashFn &gt;</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_hash_map.html#959b6d3c31a9f21ed69f0cfcade20d3f">Nv::Blast::HashMap&lt; Key, Value, HashFn &gt;</a>
, <a class="el" href="struct_nv_1_1_blast_1_1_inline_array.html#47c4d515e65129789d1b58bf02481057">Nv::Blast::InlineArray&lt; T, N &gt;</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_array.html#94fd490890f7c6e45784fd43eb14e260">Nv::Blast::Array&lt; T &gt;</a>
-<li>Type
-: <a class="el" href="struct_nv_1_1_blast_1_1_serialization_1_1_px_convex_mesh_geometry.html#8aa770569b91693313927c1ffdec4074">Nv::Blast::Serialization::PxConvexMeshGeometry</a>
</ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>value_type
diff --git a/docs/source_docs/files/functions_vars_0x75.html b/docs/source_docs/files/functions_vars_0x75.html
index f8a3a93..526dc95 100755
--- a/docs/source_docs/files/functions_vars_0x75.html
+++ b/docs/source_docs/files/functions_vars_0x75.html
@@ -88,21 +88,22 @@
: <a class="el" href="struct_nv_blast_actor_desc.html#b9ce8fff059a17cfffd7e5965fa59ea1">NvBlastActorDesc</a>
<li>uniformInitialLowerSupportChunkHealth
: <a class="el" href="struct_nv_blast_actor_desc.html#d2a4f6be8fd6d1a3a819ad76a0cdba2b">NvBlastActorDesc</a>
+<li>userdata
+: <a class="el" href="struct_nv_blast_bond_fracture_data.html#33fec8bda99647afa0a1fa7e03383f91">NvBlastBondFractureData</a>
<li>userData
-: <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#a6a1711ab535f45d870c194a8e346a69">Nv::Blast::TriangleIndexed</a>
+: <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#adbfad94aec1aaf6e431482cc4d659f9">Nv::Blast::ExtPxAsset</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#aa4adc1a15857521aa9b61094c3b752b">Nv::Blast::ExtPxFamily</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">Nv::Blast::Triangle</a>
+, <a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#e1a1d9f53d372a748f615fc47b730a42">Nv::Blast::TkObject</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_data.html#e648745137d1ba4ac78dbb8189e43f96">Nv::Blast::TkActorData</a>
+, <a class="el" href="struct_nv_blast_chunk_desc.html#61728e37d062c4cc9a0e8fe40584959e">NvBlastChunkDesc</a>
, <a class="el" href="struct_nv_blast_chunk.html#9d49d856390e7758d4ea26ae69ae6aa5">NvBlastChunk</a>
, <a class="el" href="struct_nv_blast_bond.html#4e131a735184d74e611b9b40a368edd7">NvBlastBond</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_facet.html#b4e7150dc9148b85ee95282927f1e6ef">Nv::Blast::Facet</a>
<li>userdata
-: <a class="el" href="struct_nv_blast_bond_fracture_data.html#33fec8bda99647afa0a1fa7e03383f91">NvBlastBondFractureData</a>
-, <a class="el" href="struct_nv_blast_chunk_fracture_data.html#6623c6f7d40381a862e058a868ec22a5">NvBlastChunkFractureData</a>
+: <a class="el" href="struct_nv_blast_chunk_fracture_data.html#6623c6f7d40381a862e058a868ec22a5">NvBlastChunkFractureData</a>
<li>userData
-: <a class="el" href="class_nv_1_1_blast_1_1_tk_object.html#e1a1d9f53d372a748f615fc47b730a42">Nv::Blast::TkObject</a>
-, <a class="el" href="struct_nv_blast_chunk_desc.html#61728e37d062c4cc9a0e8fe40584959e">NvBlastChunkDesc</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_tk_actor_data.html#e648745137d1ba4ac78dbb8189e43f96">Nv::Blast::TkActorData</a>
-, <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html#7161aa4637570593093cac005c843175">Nv::Blast::Triangle</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_asset.html#adbfad94aec1aaf6e431482cc4d659f9">Nv::Blast::ExtPxAsset</a>
-, <a class="el" href="class_nv_1_1_blast_1_1_ext_px_family.html#aa4adc1a15857521aa9b61094c3b752b">Nv::Blast::ExtPxFamily</a>
+: <a class="el" href="struct_nv_1_1_blast_1_1_triangle_indexed.html#a6a1711ab535f45d870c194a8e346a69">Nv::Blast::TriangleIndexed</a>
+, <a class="el" href="struct_nv_1_1_blast_1_1_facet.html#b4e7150dc9148b85ee95282927f1e6ef">Nv::Blast::Facet</a>
<li>userIntData
: <a class="el" href="class_nv_1_1_blast_1_1_tk_identifiable.html#65dbac714ebfdc9f0a4d7a905bbbcdf4">Nv::Blast::TkIdentifiable</a>
<li>useSmoothing
diff --git a/docs/source_docs/files/functions_y.html b/docs/source_docs/files/functions_y.html
index 43c97ae..648150e 100755
--- a/docs/source_docs/files/functions_y.html
+++ b/docs/source_docs/files/functions_y.html
@@ -57,8 +57,8 @@ $(document).ready(function(){initNavTree('functions_y.html','');});
, <a class="el" href="struct_nvc_vec4i.html#adea21024fc0cc91f09c208a8b082a30d">NvcVec4i</a>
</li>
<li>Y()
-: <a class="el" href="class_v_h_a_c_d_1_1_vec2.html#a4069a582e69cb9ebb13ac722f8c83ebe">VHACD::Vec2&lt; T &gt;</a>
-, <a class="el" href="class_v_h_a_c_d_1_1_vec3.html#ace84816bc7d1ced8aa848b72d4c0dfc7">VHACD::Vec3&lt; T &gt;</a>
+: <a class="el" href="class_v_h_a_c_d_1_1_vec2.html#a483e45a6420e0a86617c0f0c220a69a3">VHACD::Vec2&lt; T &gt;</a>
+, <a class="el" href="class_v_h_a_c_d_1_1_vec3.html#ac8b01065d967ed679491a6eb7aef6314">VHACD::Vec3&lt; T &gt;</a>
</li>
<li>y_slices
: <a class="el" href="struct_nv_1_1_blast_1_1_slicing_configuration.html#a7d8debe2d2ad2e97208c0cdb57022640">Nv::Blast::SlicingConfiguration</a>
diff --git a/docs/source_docs/files/namespace_nv_1_1_blast.html b/docs/source_docs/files/namespace_nv_1_1_blast.html
index 5a9b37a..87f38a7 100755
--- a/docs/source_docs/files/namespace_nv_1_1_blast.html
+++ b/docs/source_docs/files/namespace_nv_1_1_blast.html
@@ -525,6 +525,8 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#8ebc2507c0fdfa452f1000b86b590af5">buildMeshConvexDecomposition</a> (<a class="el" href="class_nv_1_1_blast_1_1_convex_mesh_builder.html">ConvexMeshBuilder</a> &amp;cmb, const <a class="el" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a> *mesh, uint32_t triangleCount, const <a class="el" href="struct_nv_1_1_blast_1_1_convex_decomposition_params.html">ConvexDecompositionParams</a> &amp;params, <a class="el" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a> **&amp;convexes)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">NV_INLINE float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">calculateCollisionHullVolume</a> (const <a class="el" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a> &amp;hull)</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_nv_1_1_blast.html#3c3bd8c624a44bbffc27f6ab8e8f2012">createCutoutSet</a> (<a class="el" href="struct_nv_1_1_blast_1_1_cutout_set_impl.html">Nv::Blast::CutoutSetImpl</a> &amp;cutoutSet, const uint8_t *pixelBuffer, uint32_t bufferWidth, uint32_t bufferHeight, float segmentationErrorThreshold, float snapThreshold, bool periodic, bool expandGaps)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
@@ -1047,6 +1049,26 @@ Returns the aligned value.
</div>
</div><p>
+<a class="anchor" name="d7f758469903c6a753a827ee1525a1e8"></a><!-- doxytag: member="Nv::Blast::calculateCollisionHullVolume" ref="d7f758469903c6a753a827ee1525a1e8" args="(const CollisionHull &amp;hull)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_INLINE float Nv::Blast::calculateCollisionHullVolume </td>
+ <td>(</td>
+ <td class="paramtype">const CollisionHull &amp;&nbsp;</td>
+ <td class="paramname"> <em>hull</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
<a class="anchor" name="3c3bd8c624a44bbffc27f6ab8e8f2012"></a><!-- doxytag: member="Nv::Blast::createCutoutSet" ref="3c3bd8c624a44bbffc27f6ab8e8f2012" args="(Nv::Blast::CutoutSetImpl &amp;cutoutSet, const uint8_t *pixelBuffer, uint32_t bufferWidth, uint32_t bufferHeight, float segmentationErrorThreshold, float snapThreshold, bool periodic, bool expandGaps)" -->
<div class="memitem">
<div class="memproto">
diff --git a/docs/source_docs/files/namespacemembers_0x63.html b/docs/source_docs/files/namespacemembers_0x63.html
index 1ad5b39..63be79d 100755
--- a/docs/source_docs/files/namespacemembers_0x63.html
+++ b/docs/source_docs/files/namespacemembers_0x63.html
@@ -72,10 +72,12 @@
Here is a list of all namespace members with links to the namespace documentation for each member:
<p>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>calculateCollisionHullVolume()
+: <a class="el" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">Nv::Blast</a>
<li>CAPNP_DECLARE_ENUM()
: <a class="el" href="namespacecapnp_1_1schemas.html#1b82a57fb1ea529206147266bbe9ed36">capnp::schemas</a>
<li>CAPNP_DECLARE_SCHEMA()
-: <a class="el" href="namespacecapnp_1_1schemas.html#80ad7fad99630c3716c61375b98edac9">capnp::schemas</a>
+: <a class="el" href="namespacecapnp_1_1schemas.html#0364d65d7344f83ff2f1eccb783b15c2">capnp::schemas</a>
<li>Colinear()
: <a class="el" href="namespace_v_h_a_c_d.html#28b89ba2f3ed6ecfac79950d85cb02cb">VHACD</a>
<li>ComputeAlignedPoint()
diff --git a/docs/source_docs/files/namespacemembers_c.html b/docs/source_docs/files/namespacemembers_c.html
index 97d3523..ee6f596 100755
--- a/docs/source_docs/files/namespacemembers_c.html
+++ b/docs/source_docs/files/namespacemembers_c.html
@@ -45,11 +45,14 @@ $(document).ready(function(){initNavTree('namespacemembers_c.html','');});
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
<h3><a id="index_c"></a>- c -</h3><ul>
+<li>calculateCollisionHullVolume()
+: <a class="el" href="namespace_nv_1_1_blast.html#ad7f758469903c6a753a827ee1525a1e8">Nv::Blast</a>
+</li>
<li>CAPNP_DECLARE_ENUM()
: <a class="el" href="namespacecapnp_1_1schemas.html#a1b82a57fb1ea529206147266bbe9ed36">capnp::schemas</a>
</li>
<li>CAPNP_DECLARE_SCHEMA()
-: <a class="el" href="namespacecapnp_1_1schemas.html#a80ad7fad99630c3716c61375b98edac9">capnp::schemas</a>
+: <a class="el" href="namespacecapnp_1_1schemas.html#a0364d65d7344f83ff2f1eccb783b15c2">capnp::schemas</a>
</li>
<li>Colinear()
: <a class="el" href="namespace_v_h_a_c_d.html#a1fe28aec9955a96a496c18e12aa308e1">VHACD</a>
diff --git a/docs/source_docs/files/namespacemembers_func_0x63.html b/docs/source_docs/files/namespacemembers_func_0x63.html
index bac91e8..fd80ef7 100755
--- a/docs/source_docs/files/namespacemembers_func_0x63.html
+++ b/docs/source_docs/files/namespacemembers_func_0x63.html
@@ -67,10 +67,12 @@
&nbsp;
<p>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>calculateCollisionHullVolume()
+: <a class="el" href="namespace_nv_1_1_blast.html#d7f758469903c6a753a827ee1525a1e8">Nv::Blast</a>
<li>CAPNP_DECLARE_ENUM()
: <a class="el" href="namespacecapnp_1_1schemas.html#1b82a57fb1ea529206147266bbe9ed36">capnp::schemas</a>
<li>CAPNP_DECLARE_SCHEMA()
-: <a class="el" href="namespacecapnp_1_1schemas.html#80ad7fad99630c3716c61375b98edac9">capnp::schemas</a>
+: <a class="el" href="namespacecapnp_1_1schemas.html#0364d65d7344f83ff2f1eccb783b15c2">capnp::schemas</a>
<li>Colinear()
: <a class="el" href="namespace_v_h_a_c_d.html#28b89ba2f3ed6ecfac79950d85cb02cb">VHACD</a>
<li>ComputeAlignedPoint()
diff --git a/docs/source_docs/files/namespacemembers_func_c.html b/docs/source_docs/files/namespacemembers_func_c.html
index 5c35e60..0f6dc6a 100755
--- a/docs/source_docs/files/namespacemembers_func_c.html
+++ b/docs/source_docs/files/namespacemembers_func_c.html
@@ -45,11 +45,14 @@ $(document).ready(function(){initNavTree('namespacemembers_func_c.html','');});
&#160;
<h3><a id="index_c"></a>- c -</h3><ul>
+<li>calculateCollisionHullVolume()
+: <a class="el" href="namespace_nv_1_1_blast.html#ad7f758469903c6a753a827ee1525a1e8">Nv::Blast</a>
+</li>
<li>CAPNP_DECLARE_ENUM()
: <a class="el" href="namespacecapnp_1_1schemas.html#a1b82a57fb1ea529206147266bbe9ed36">capnp::schemas</a>
</li>
<li>CAPNP_DECLARE_SCHEMA()
-: <a class="el" href="namespacecapnp_1_1schemas.html#a80ad7fad99630c3716c61375b98edac9">capnp::schemas</a>
+: <a class="el" href="namespacecapnp_1_1schemas.html#a0364d65d7344f83ff2f1eccb783b15c2">capnp::schemas</a>
</li>
<li>Colinear()
: <a class="el" href="namespace_v_h_a_c_d.html#a1fe28aec9955a96a496c18e12aa308e1">VHACD</a>
diff --git a/docs/source_docs/files/navtreedata.js b/docs/source_docs/files/navtreedata.js
index ed0c9fa..81cbb62 100755
--- a/docs/source_docs/files/navtreedata.js
+++ b/docs/source_docs/files/navtreedata.js
@@ -35,25 +35,25 @@ var NAVTREEINDEX =
[
"_asset_d_t_o_8h.html",
"_float_math_8h.html#af91f007d37b043bd7e70b4d2de1fbd25",
-"_nv_blast_ext_damage_accelerator_a_a_b_b_tree_8h.html",
-"_nv_blast_include_windows_8h.html#a2e4c78354db40d44bea894e472550c11",
-"bt_aligned_object_array_8h.html#af679f7a130fd285561d684b76238ecd4",
-"class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2",
-"class_nv_1_1_blast_1_1_ext_px_family.html#a88523d45695e7d5b10637e04aef06e02",
-"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a844a4e0b003af40f2af784796639a455",
-"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33ca1eb6e0f13a84ebd34e2056d50a0fe24e",
-"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a8003c3febbd13fe2ce9def8ef04fa56b",
-"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aaf0f530c1e8dc21afce97841899072a0",
-"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a18078e4598afd1157fc4c96f9b639d7b",
-"class_nv_1_1_blast_1_1_tk_asset.html#a0de445e50e18aa5df7a7374c13793005",
-"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#ab44d0e809b5e313b4e721aab6d1aa2f2",
-"class_v_h_a_c_d_1_1_vec2.html#ad706725b6922de681abee809f15b7e7a",
-"functions_i.html",
-"group__foundation.html#gaf3a2e42fdfaeb8ba7832216b3fd8f8bd",
-"struct_nv_1_1_blast_1_1_edge_to_triangles.html#ac789134fae1cf431cf298dc71a7dc4c3",
-"struct_nv_1_1_blast_1_1_poly_vert.html#aeedaedbf387cbd04889f4dd54152e252",
-"struct_nv_blast_actor.html",
-"vhacd_mesh_8h.html#a09d737ec45c0c0ae479ac780ed2c6beb"
+"_nv_blast_ext_custom_profiler_8h_source.html",
+"_nv_blast_include_windows_8h.html#a2d7186e4a6dfcc0011461ce1e8b70a05",
+"bt_aligned_object_array_8h.html#abbaa34c72a791d366573e6e25e0bf702",
+"class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a",
+"class_nv_1_1_blast_1_1_ext_px_family.html#a680c32f05f9b7066e22ef7d196f593bb",
+"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a7127664503056837ccaf338909e59652",
+"class_nv_1_1_blast_1_1_mesh_impl.html#afd0a2a856078f362d0c0f5f2da1ba03e",
+"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a58532ea248ebfb3d3d673a571da8f8d5",
+"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aabf5a08198127450ed2a2c7fb2fb8b8c",
+"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#af7c9a70a55486aea7db8ab70a2cc911b",
+"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html#a65b02bd59ca313d134c95747fba56ea2",
+"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a88311964256d4f890c1c4bc1cfe1e34b",
+"class_v_h_a_c_d_1_1_vec2.html#abe0522604a99ece19867d601ca21f1e5",
+"functions_func_z.html",
+"group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e",
+"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a70cb4d757a5e60e392ed88043c08664b",
+"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#ad7fc6cfbd651eef3d621e14df664fc4c",
+"struct_nv_1_1_blast_1_1_vrt_position_comparator.html",
+"vhacd_manifold_mesh_8h.html#a922080a88d085134e2874f362840edb6"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/docs/source_docs/files/navtreeindex1.js b/docs/source_docs/files/navtreeindex1.js
index 9c82ee1..2ef0c2a 100755
--- a/docs/source_docs/files/navtreeindex1.js
+++ b/docs/source_docs/files/navtreeindex1.js
@@ -166,7 +166,7 @@ var NAVTREEINDEX1 =
"_nv_blast_ext_authoring_fracture_tool_impl_8h.html#a83271d24d04e44d4b938de44bce332e8":[4,0,0,1,1,1,6,2],
"_nv_blast_ext_authoring_fracture_tool_impl_8h_source.html":[4,0,0,1,1,1,6],
"_nv_blast_ext_authoring_internal_common_8h.html":[4,0,0,1,2,1,0],
-"_nv_blast_ext_authoring_internal_common_8h.html#a07798b57f728802d367a7efbea3ce3a7":[4,0,0,1,2,1,0,11],
+"_nv_blast_ext_authoring_internal_common_8h.html#a07798b57f728802d367a7efbea3ce3a7":[4,0,0,1,2,1,0,12],
"_nv_blast_ext_authoring_internal_common_8h.html#a1278adb36f840dc5e957ce2b34b46322":[4,0,0,1,2,1,0,4],
"_nv_blast_ext_authoring_internal_common_8h.html#a2dbf0cc037620db35223513e817444f7":[4,0,0,1,2,1,0,8],
"_nv_blast_ext_authoring_internal_common_8h.html#a2dbf0cc037620db35223513e817444f7a34e384d7641d38d0e6f9e601f5d868ac":[4,0,0,1,2,1,0,8,2],
@@ -175,13 +175,14 @@ var NAVTREEINDEX1 =
"_nv_blast_ext_authoring_internal_common_8h.html#a2dbf0cc037620db35223513e817444f7af9063b45980bcdd587cd7b7be4444152":[4,0,0,1,2,1,0,8,3],
"_nv_blast_ext_authoring_internal_common_8h.html#a32c55d4d4c220508c3b7b73a88015c22":[4,0,0,1,2,1,0,6],
"_nv_blast_ext_authoring_internal_common_8h.html#a33b5ebc62b7fb0364e3ae3575380142b":[4,0,0,1,2,1,0,7],
-"_nv_blast_ext_authoring_internal_common_8h.html#a44d0b01b83d001724a34646ec96d17f0":[4,0,0,1,2,1,0,10],
-"_nv_blast_ext_authoring_internal_common_8h.html#a5f4aa5b6b2451711fccf09757bdd2e1e":[4,0,0,1,2,1,0,12],
-"_nv_blast_ext_authoring_internal_common_8h.html#a7bba8d1f555e341010029032391276a6":[4,0,0,1,2,1,0,9],
+"_nv_blast_ext_authoring_internal_common_8h.html#a44d0b01b83d001724a34646ec96d17f0":[4,0,0,1,2,1,0,11],
+"_nv_blast_ext_authoring_internal_common_8h.html#a5f4aa5b6b2451711fccf09757bdd2e1e":[4,0,0,1,2,1,0,13],
+"_nv_blast_ext_authoring_internal_common_8h.html#a7bba8d1f555e341010029032391276a6":[4,0,0,1,2,1,0,10],
"_nv_blast_ext_authoring_internal_common_8h.html#aa8f38c265574616c9326504a5d9919f7":[4,0,0,1,2,1,0,5],
-"_nv_blast_ext_authoring_internal_common_8h.html#ab18c3161481f8a05cd11866ef1afbd9e":[4,0,0,1,2,1,0,15],
-"_nv_blast_ext_authoring_internal_common_8h.html#ab77f76686c61a4a62d1aabb5e7b9c20a":[4,0,0,1,2,1,0,13],
-"_nv_blast_ext_authoring_internal_common_8h.html#acf1aa675b24e661db37949852a97b58f":[4,0,0,1,2,1,0,14],
+"_nv_blast_ext_authoring_internal_common_8h.html#ab18c3161481f8a05cd11866ef1afbd9e":[4,0,0,1,2,1,0,16],
+"_nv_blast_ext_authoring_internal_common_8h.html#ab77f76686c61a4a62d1aabb5e7b9c20a":[4,0,0,1,2,1,0,14],
+"_nv_blast_ext_authoring_internal_common_8h.html#acf1aa675b24e661db37949852a97b58f":[4,0,0,1,2,1,0,15],
+"_nv_blast_ext_authoring_internal_common_8h.html#ad7f758469903c6a753a827ee1525a1e8":[4,0,0,1,2,1,0,9],
"_nv_blast_ext_authoring_internal_common_8h_source.html":[4,0,0,1,2,1,0],
"_nv_blast_ext_authoring_mesh_8h.html":[4,0,0,1,2,0,2],
"_nv_blast_ext_authoring_mesh_8h_source.html":[4,0,0,1,2,0,2],
@@ -248,6 +249,5 @@ var NAVTREEINDEX1 =
"_nv_blast_ext_custom_profiler_8h.html":[4,0,0,1,5,0,0],
"_nv_blast_ext_custom_profiler_8h.html#aa1585207662452977fb8b6593e71f40c":[4,0,0,1,5,0,0,3],
"_nv_blast_ext_custom_profiler_8h.html#aa73cff190baa0fe10aa4b5d21dd5a7ef":[4,0,0,1,5,0,0,4],
-"_nv_blast_ext_custom_profiler_8h.html#ac2330888dc0d7693449501ca70ce0b18":[4,0,0,1,5,0,0,2],
-"_nv_blast_ext_custom_profiler_8h_source.html":[4,0,0,1,5,0,0]
+"_nv_blast_ext_custom_profiler_8h.html#ac2330888dc0d7693449501ca70ce0b18":[4,0,0,1,5,0,0,2]
};
diff --git a/docs/source_docs/files/navtreeindex10.js b/docs/source_docs/files/navtreeindex10.js
index 38672d9..3827de7 100755
--- a/docs/source_docs/files/navtreeindex10.js
+++ b/docs/source_docs/files/navtreeindex10.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX10 =
{
+"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aabf5a08198127450ed2a2c7fb2fb8b8c":[3,0,2,0,1,7,1,31],
+"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aac9c536fc46a4c641d2a49d105e8d025":[3,0,2,0,1,7,1,22],
+"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aacbc78e470fe540313fee3b295a52d4d":[3,0,2,0,1,7,1,32],
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aaf0f530c1e8dc21afce97841899072a0":[3,0,2,0,1,7,1,36],
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#ab42e2b660b5f7c3b991106f5ea9afe4e":[3,0,2,0,1,7,1,13],
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#ab9ce6a216012d0ce29a7fe3fb9d8fdf6":[3,0,2,0,1,7,1,33],
@@ -246,8 +249,5 @@ var NAVTREEINDEX10 =
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#a3a35f300ad23a4a9e0b6a7f45e0b69e1":[3,0,2,0,1,12,2,4],
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#a581325c0beb18b3ab07c6e11734a25dd":[3,0,2,0,1,12,2,0],
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#aae02c44f7a2184900f49133597053ec9":[3,0,2,0,1,12,2,3],
-"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#ad0eba362cd4a81740fd3edd7bb00f12f":[3,0,2,0,1,12,2,2],
-"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#af7c9a70a55486aea7db8ab70a2cc911b":[3,0,2,0,1,12,2,1],
-"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html":[3,0,2,0,1,12,3],
-"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a163688ac13e1018ab321f1058aa4be61":[3,0,2,0,1,12,3,5]
+"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#ad0eba362cd4a81740fd3edd7bb00f12f":[3,0,2,0,1,12,2,2]
};
diff --git a/docs/source_docs/files/navtreeindex11.js b/docs/source_docs/files/navtreeindex11.js
index 69e6061..10c2551 100755
--- a/docs/source_docs/files/navtreeindex11.js
+++ b/docs/source_docs/files/navtreeindex11.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX11 =
{
+"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_pipeline.html#af7c9a70a55486aea7db8ab70a2cc911b":[3,0,2,0,1,12,2,1],
+"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html":[3,0,2,0,1,12,3],
+"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a163688ac13e1018ab321f1058aa4be61":[3,0,2,0,1,12,3,5],
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a18078e4598afd1157fc4c96f9b639d7b":[3,0,2,0,1,12,3,1],
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a1df7acd67d5bee9881688bc1df6588fb":[3,0,2,0,1,12,3,4],
"class_nv_1_1_blast_1_1_serialization_1_1_px_vec3_1_1_reader.html#a3a35f300ad23a4a9e0b6a7f45e0b69e1":[3,0,2,0,1,12,3,12],
@@ -246,8 +249,5 @@ var NAVTREEINDEX11 =
"class_nv_1_1_blast_1_1_tk_actor_impl.html#af2403d51a28475e3c6c362f0fbdc8c53":[3,0,2,0,178,34],
"class_nv_1_1_blast_1_1_tk_actor_impl.html#af66fd11ec8170f46385e1b5445316962":[3,0,2,0,178,5],
"class_nv_1_1_blast_1_1_tk_actor_impl.html#af7207df8d0734ce6f84157d85b76fe64":[3,0,2,0,178,30],
-"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html":[3,0,2,0,178,0],
-"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html#a65b02bd59ca313d134c95747fba56ea2":[3,0,2,0,178,0,0],
-"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html#ae99927c2831e7d1730e1cfb89ba7a5f5":[3,0,2,0,178,0,1],
-"class_nv_1_1_blast_1_1_tk_asset.html":[3,0,2,0,179]
+"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html":[3,0,2,0,178,0]
};
diff --git a/docs/source_docs/files/navtreeindex12.js b/docs/source_docs/files/navtreeindex12.js
index bad2975..4837c16 100755
--- a/docs/source_docs/files/navtreeindex12.js
+++ b/docs/source_docs/files/navtreeindex12.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX12 =
{
+"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html#a65b02bd59ca313d134c95747fba56ea2":[3,0,2,0,178,0,0],
+"class_nv_1_1_blast_1_1_tk_actor_impl_1_1_joint_it.html#ae99927c2831e7d1730e1cfb89ba7a5f5":[3,0,2,0,178,0,1],
+"class_nv_1_1_blast_1_1_tk_asset.html":[3,0,2,0,179],
"class_nv_1_1_blast_1_1_tk_asset.html#a0de445e50e18aa5df7a7374c13793005":[3,0,2,0,179,1],
"class_nv_1_1_blast_1_1_tk_asset.html#a108f015330d03fb870bff1a5fd1d849f":[3,0,2,0,179,5],
"class_nv_1_1_blast_1_1_tk_asset.html#a42d4936919a993bb80476d9f7d678cf0":[3,0,2,0,179,4],
@@ -246,8 +249,5 @@ var NAVTREEINDEX12 =
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a509db70fbea45d307648b465e7c390f5":[3,0,5,3,5],
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a60209a4f26fe0102db4cbb955ee5d76f":[3,0,5,3,15],
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a6841416086ba66fb28973a1f3aee1579":[3,0,5,3,8],
-"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a852ffa5fb94a7a1716ffdf5cb868ec84":[3,0,5,3,18],
-"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a88311964256d4f890c1c4bc1cfe1e34b":[3,0,5,3,14],
-"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a99b24bad6d1ec1f6837da24540ba751b":[3,0,5,3,17],
-"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#aac57f34e2958b6c05e14b8555e950b28":[3,0,5,3,10]
+"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a852ffa5fb94a7a1716ffdf5cb868ec84":[3,0,5,3,18]
};
diff --git a/docs/source_docs/files/navtreeindex13.js b/docs/source_docs/files/navtreeindex13.js
index fcd4973..b39d597 100755
--- a/docs/source_docs/files/navtreeindex13.js
+++ b/docs/source_docs/files/navtreeindex13.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX13 =
{
+"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a88311964256d4f890c1c4bc1cfe1e34b":[3,0,5,3,14],
+"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#a99b24bad6d1ec1f6837da24540ba751b":[3,0,5,3,17],
+"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#aac57f34e2958b6c05e14b8555e950b28":[3,0,5,3,10],
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#ab44d0e809b5e313b4e721aab6d1aa2f2":[3,0,5,3,12],
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#aba4af1756316fce9d48261e1f8557d60":[3,0,5,3,6],
"class_v_h_a_c_d_1_1_i_v_h_a_c_d.html#ae09d26fa960701f3c3c9cd3f6e5d3ead":[3,0,5,3,7],
@@ -246,8 +249,5 @@ var NAVTREEINDEX13 =
"class_v_h_a_c_d_1_1_vec2.html#a83d6e63bc1be92e76bc9503880ce49f6":[3,0,5,18,9],
"class_v_h_a_c_d_1_1_vec2.html#a886b68dd293114400d2a6e8c110aed53":[3,0,5,18,16],
"class_v_h_a_c_d_1_1_vec2.html#ab86ac57937edb7f92db17d0fa6dca3db":[3,0,5,18,20],
-"class_v_h_a_c_d_1_1_vec2.html#abc8719b48aae7e1fe3f55d025da8dce7":[3,0,5,18,22],
-"class_v_h_a_c_d_1_1_vec2.html#abe0522604a99ece19867d601ca21f1e5":[3,0,5,18,11],
-"class_v_h_a_c_d_1_1_vec2.html#ac1b8bdcf1c27536dd74ac52e16d0f108":[3,0,5,18,17],
-"class_v_h_a_c_d_1_1_vec2.html#acc2884431b3c65267037d36b9b93c414":[3,0,5,18,23]
+"class_v_h_a_c_d_1_1_vec2.html#abc8719b48aae7e1fe3f55d025da8dce7":[3,0,5,18,22]
};
diff --git a/docs/source_docs/files/navtreeindex14.js b/docs/source_docs/files/navtreeindex14.js
index 015ba83..a156663 100755
--- a/docs/source_docs/files/navtreeindex14.js
+++ b/docs/source_docs/files/navtreeindex14.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX14 =
{
+"class_v_h_a_c_d_1_1_vec2.html#abe0522604a99ece19867d601ca21f1e5":[3,0,5,18,11],
+"class_v_h_a_c_d_1_1_vec2.html#ac1b8bdcf1c27536dd74ac52e16d0f108":[3,0,5,18,17],
+"class_v_h_a_c_d_1_1_vec2.html#acc2884431b3c65267037d36b9b93c414":[3,0,5,18,23],
"class_v_h_a_c_d_1_1_vec2.html#ad706725b6922de681abee809f15b7e7a":[3,0,5,18,14],
"class_v_h_a_c_d_1_1_vec2.html#adb5fda98bb2d4275091285594ec4b442":[3,0,5,18,3],
"class_v_h_a_c_d_1_1_vec2.html#ae4867eff034ff23c6600e07638cfac0b":[3,0,5,18,4],
@@ -246,8 +249,5 @@ var NAVTREEINDEX14 =
"functions_func_v.html":[3,3,1,20],
"functions_func_w.html":[3,3,1,21],
"functions_func_x.html":[3,3,1,22],
-"functions_func_y.html":[3,3,1,23],
-"functions_func_z.html":[3,3,1,24],
-"functions_g.html":[3,3,0,8],
-"functions_h.html":[3,3,0,9]
+"functions_func_y.html":[3,3,1,23]
};
diff --git a/docs/source_docs/files/navtreeindex15.js b/docs/source_docs/files/navtreeindex15.js
index 91b8048..e7455c4 100755
--- a/docs/source_docs/files/navtreeindex15.js
+++ b/docs/source_docs/files/navtreeindex15.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX15 =
{
+"functions_func_z.html":[3,3,1,24],
+"functions_g.html":[3,3,0,8],
+"functions_h.html":[3,3,0,9],
"functions_i.html":[3,3,0,10],
"functions_j.html":[3,3,0,11],
"functions_l.html":[3,3,0,12],
@@ -46,14 +49,14 @@ var NAVTREEINDEX15 =
"functions_x.html":[3,3,0,24],
"functions_y.html":[3,3,0,25],
"functions_z.html":[3,3,0,26],
-"globals.html":[4,1,0],
"globals.html":[4,1,0,0],
+"globals.html":[4,1,0],
"globals_a.html":[4,1,0,1],
"globals_b.html":[4,1,0,2],
"globals_c.html":[4,1,0,3],
"globals_d.html":[4,1,0,4],
-"globals_defs.html":[4,1,4],
"globals_defs.html":[4,1,4,0],
+"globals_defs.html":[4,1,4],
"globals_defs_a.html":[4,1,4,1],
"globals_defs_b.html":[4,1,4,2],
"globals_defs_c.html":[4,1,4,3],
@@ -71,8 +74,8 @@ var NAVTREEINDEX15 =
"globals_defs_w.html":[4,1,4,15],
"globals_e.html":[4,1,0,5],
"globals_f.html":[4,1,0,6],
-"globals_func.html":[4,1,1,0],
"globals_func.html":[4,1,1],
+"globals_func.html":[4,1,1,0],
"globals_func_b.html":[4,1,1,1],
"globals_func_c.html":[4,1,1,2],
"globals_func_d.html":[4,1,1,3],
@@ -118,40 +121,40 @@ var NAVTREEINDEX15 =
"group__foundation.html#ga19a2d2985857d5965342df4f355a6c0e":[1,0,9],
"group__foundation.html#ga1ac455e380b982cc3c4b696c9c0116e1":[1,0,59],
"group__foundation.html#ga1ac455e380b982cc3c4b696c9c0116e1":[4,0,0,3,0,4,58],
-"group__foundation.html#ga2800fec521cb345698308d35a2507ef8":[1,0,62],
"group__foundation.html#ga2800fec521cb345698308d35a2507ef8":[4,0,0,3,0,4,61],
+"group__foundation.html#ga2800fec521cb345698308d35a2507ef8":[1,0,62],
"group__foundation.html#ga28bcef106e19cb60cd318a30acd14f05":[1,0,58],
"group__foundation.html#ga28bcef106e19cb60cd318a30acd14f05":[4,0,0,3,0,4,57],
-"group__foundation.html#ga2f137f0791dcbf897e62583f14399f65":[1,0,18],
"group__foundation.html#ga2f137f0791dcbf897e62583f14399f65":[4,0,0,3,0,4,17],
+"group__foundation.html#ga2f137f0791dcbf897e62583f14399f65":[1,0,18],
"group__foundation.html#ga32dc60ff799b586ada4b484b0222dbd4":[1,0,10],
"group__foundation.html#ga32dc60ff799b586ada4b484b0222dbd4":[4,0,0,3,0,4,9],
"group__foundation.html#ga3399c6295a0a286d2753b466baec803a":[1,0,6],
"group__foundation.html#ga3399c6295a0a286d2753b466baec803a":[4,0,0,3,0,4,5],
-"group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0":[4,0,0,3,0,4,28],
"group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0":[1,0,29],
+"group__foundation.html#ga36a01a4a51968418a26b06da7e1ad5d0":[4,0,0,3,0,4,28],
"group__foundation.html#ga370315a9675c8a022aa13938c24795cd":[1,0,12],
"group__foundation.html#ga370315a9675c8a022aa13938c24795cd":[4,0,0,3,0,4,11],
"group__foundation.html#ga3cc94c20a8e2edb457fe19d591d130f6":[1,0,65],
"group__foundation.html#ga3cc94c20a8e2edb457fe19d591d130f6":[4,0,0,3,0,4,64],
"group__foundation.html#ga3eaed087256d1041f293b4ee82db4d46":[1,0,57],
"group__foundation.html#ga3eaed087256d1041f293b4ee82db4d46":[4,0,0,3,0,4,56],
-"group__foundation.html#ga3ebfc6594317671a0dee92ee3a442097":[1,0,47],
"group__foundation.html#ga3ebfc6594317671a0dee92ee3a442097":[4,0,0,3,0,4,46],
+"group__foundation.html#ga3ebfc6594317671a0dee92ee3a442097":[1,0,47],
"group__foundation.html#ga3f573c8d2c64b62808208d2821115a9b":[4,0,0,3,0,4,48],
"group__foundation.html#ga3f573c8d2c64b62808208d2821115a9b":[1,0,49],
"group__foundation.html#ga3fbf498d4752502d264017ea75e9a18d":[1,0,60],
"group__foundation.html#ga3fbf498d4752502d264017ea75e9a18d":[4,0,0,3,0,4,59],
"group__foundation.html#ga42f9ade4a1a0e3546f020cf24f41a2fe":[1,0,31],
"group__foundation.html#ga42f9ade4a1a0e3546f020cf24f41a2fe":[4,0,0,3,0,4,30],
-"group__foundation.html#ga436bd62778801fb05c2e3feb74469fc2":[1,0,23],
"group__foundation.html#ga436bd62778801fb05c2e3feb74469fc2":[4,0,0,3,0,4,22],
+"group__foundation.html#ga436bd62778801fb05c2e3feb74469fc2":[1,0,23],
"group__foundation.html#ga4986f9a9ce04c5584456e72fd08b954d":[1,0,71],
"group__foundation.html#ga4986f9a9ce04c5584456e72fd08b954d":[4,0,0,3,0,4,70],
-"group__foundation.html#ga4c0c4cd5144f3366fc6e6a2c30a68c37":[4,0,0,3,0,4,52],
"group__foundation.html#ga4c0c4cd5144f3366fc6e6a2c30a68c37":[1,0,53],
-"group__foundation.html#ga5186e106b0627ce43b3ed7c6bea75252":[4,0,0,3,0,4,19],
+"group__foundation.html#ga4c0c4cd5144f3366fc6e6a2c30a68c37":[4,0,0,3,0,4,52],
"group__foundation.html#ga5186e106b0627ce43b3ed7c6bea75252":[1,0,20],
+"group__foundation.html#ga5186e106b0627ce43b3ed7c6bea75252":[4,0,0,3,0,4,19],
"group__foundation.html#ga57eadff0b64e7b4886a481d0539d6096":[4,0,0,3,0,4,34],
"group__foundation.html#ga57eadff0b64e7b4886a481d0539d6096":[1,0,35],
"group__foundation.html#ga581f7937204f23d8f9603643bd847caa":[4,0,0,3,0,4,68],
@@ -164,10 +167,10 @@ var NAVTREEINDEX15 =
"group__foundation.html#ga5d408962e8f40688ed6e1822476f4df8":[1,0,54],
"group__foundation.html#ga5da4978ba2d6d5dba81650d4ba75ca33":[1,0,26],
"group__foundation.html#ga5da4978ba2d6d5dba81650d4ba75ca33":[4,0,0,3,0,4,25],
-"group__foundation.html#ga61b0b6f3fcd356e6803e02ba39d1748f":[1,0,72],
"group__foundation.html#ga61b0b6f3fcd356e6803e02ba39d1748f":[4,0,0,3,0,4,71],
-"group__foundation.html#ga6669bc19a93cd4e2ca5b7a91654e506d":[1,0,64],
+"group__foundation.html#ga61b0b6f3fcd356e6803e02ba39d1748f":[1,0,72],
"group__foundation.html#ga6669bc19a93cd4e2ca5b7a91654e506d":[4,0,0,3,0,4,63],
+"group__foundation.html#ga6669bc19a93cd4e2ca5b7a91654e506d":[1,0,64],
"group__foundation.html#ga6739a1df7c5ae91e0d759cb4481b84dd":[4,0,0,3,0,4,73],
"group__foundation.html#ga6739a1df7c5ae91e0d759cb4481b84dd":[1,0,74],
"group__foundation.html#ga67b78c1675d9669274bf61e170ad8d68":[4,0,0,3,0,4,44],
@@ -180,12 +183,12 @@ var NAVTREEINDEX15 =
"group__foundation.html#ga741b29f3573822e82729569f0d7d7425":[4,0,0,3,0,4,50],
"group__foundation.html#ga75e36581442a14a7187644fd92b799f5":[4,0,0,3,0,4,12],
"group__foundation.html#ga75e36581442a14a7187644fd92b799f5":[1,0,13],
-"group__foundation.html#ga760e0cc06a731a203709b1341adea8aa":[4,0,0,3,0,4,65],
"group__foundation.html#ga760e0cc06a731a203709b1341adea8aa":[1,0,66],
+"group__foundation.html#ga760e0cc06a731a203709b1341adea8aa":[4,0,0,3,0,4,65],
"group__foundation.html#ga7bad965576a26ea4543e6717f2a3367b":[1,0,4],
"group__foundation.html#ga7bad965576a26ea4543e6717f2a3367b":[4,0,0,3,0,4,3],
-"group__foundation.html#ga7c2d7c9e736e71bfdf8524c2155a13ed":[1,0,40],
"group__foundation.html#ga7c2d7c9e736e71bfdf8524c2155a13ed":[4,0,0,3,0,4,39],
+"group__foundation.html#ga7c2d7c9e736e71bfdf8524c2155a13ed":[1,0,40],
"group__foundation.html#ga8023fffe9c79bf224a19de4e608b7644":[4,0,0,3,0,4,24],
"group__foundation.html#ga8023fffe9c79bf224a19de4e608b7644":[1,0,25],
"group__foundation.html#ga82f2b8161bc1f7e726ac645c200769a3":[4,0,0,3,0,4,21],
@@ -196,28 +199,28 @@ var NAVTREEINDEX15 =
"group__foundation.html#ga8803531575c33ce69a53cc887908fc33":[4,0,0,3,0,4,60],
"group__foundation.html#ga883c8e56338740a881af1e1071fd19cc":[1,0,38],
"group__foundation.html#ga883c8e56338740a881af1e1071fd19cc":[4,0,0,3,0,4,37],
-"group__foundation.html#ga8b9c3f255c9417e6dea000798efe5e14":[4,0,0,3,0,4,45],
"group__foundation.html#ga8b9c3f255c9417e6dea000798efe5e14":[1,0,46],
+"group__foundation.html#ga8b9c3f255c9417e6dea000798efe5e14":[4,0,0,3,0,4,45],
"group__foundation.html#ga8d631fdab8fe45ea1e4dad3caa8f7a95":[1,0,36],
"group__foundation.html#ga8d631fdab8fe45ea1e4dad3caa8f7a95":[4,0,0,3,0,4,35],
-"group__foundation.html#ga9be1389e02a540f72e549e47ebd69ad3":[1,0,8],
"group__foundation.html#ga9be1389e02a540f72e549e47ebd69ad3":[4,0,0,3,0,4,7],
+"group__foundation.html#ga9be1389e02a540f72e549e47ebd69ad3":[1,0,8],
"group__foundation.html#ga9ca5b4b95cee3052f5a81085b93ea0b0":[4,0,0,3,0,4,20],
"group__foundation.html#ga9ca5b4b95cee3052f5a81085b93ea0b0":[1,0,21],
-"group__foundation.html#ga9cb70a50d55e516eca829ff6680804d6":[1,0,39],
"group__foundation.html#ga9cb70a50d55e516eca829ff6680804d6":[4,0,0,3,0,4,38],
+"group__foundation.html#ga9cb70a50d55e516eca829ff6680804d6":[1,0,39],
"group__foundation.html#ga9f8c142fe7fa19e70ab9ed0fb2f4bbf4":[1,0,48],
"group__foundation.html#ga9f8c142fe7fa19e70ab9ed0fb2f4bbf4":[4,0,0,3,0,4,47],
-"group__foundation.html#gaa58561a6bd8c7797488a51be7bb41f57":[1,0,5],
"group__foundation.html#gaa58561a6bd8c7797488a51be7bb41f57":[4,0,0,3,0,4,4],
+"group__foundation.html#gaa58561a6bd8c7797488a51be7bb41f57":[1,0,5],
"group__foundation.html#gaa8fa59562b3ff1f6e7d157357ef13341":[1,0,28],
"group__foundation.html#gaa8fa59562b3ff1f6e7d157357ef13341":[4,0,0,3,0,4,27],
"group__foundation.html#gaaba32693e5dd5095968e0b608ad91435":[4,0,0,3,0,4,6],
"group__foundation.html#gaaba32693e5dd5095968e0b608ad91435":[1,0,7],
"group__foundation.html#gab099143f4f29cc000cff7819bbf0f9e0":[4,0,0,3,0,4,18],
"group__foundation.html#gab099143f4f29cc000cff7819bbf0f9e0":[1,0,19],
-"group__foundation.html#gabaf152fefb2013909c162f535bc34fe0":[4,0,0,3,0,4,67],
"group__foundation.html#gabaf152fefb2013909c162f535bc34fe0":[1,0,68],
+"group__foundation.html#gabaf152fefb2013909c162f535bc34fe0":[4,0,0,3,0,4,67],
"group__foundation.html#gabe5430f2c9a3661ad09593408d2389b0":[1,0,3],
"group__foundation.html#gabe5430f2c9a3661ad09593408d2389b0":[4,0,0,3,0,4,2],
"group__foundation.html#gabeef70ca4881b4e7dab66c905b6077db":[1,0,52],
@@ -228,26 +231,23 @@ var NAVTREEINDEX15 =
"group__foundation.html#gac77dc6def0440a1b6eaafe31abeaea34":[4,0,0,3,0,4,62],
"group__foundation.html#gaca12a62d0167edbf87022fc19b442f3f":[1,0,17],
"group__foundation.html#gaca12a62d0167edbf87022fc19b442f3f":[4,0,0,3,0,4,16],
-"group__foundation.html#gacf9618bbfb96b6c415429e69a922d7cd":[4,0,0,3,0,4,36],
"group__foundation.html#gacf9618bbfb96b6c415429e69a922d7cd":[1,0,37],
-"group__foundation.html#gad273b402181cbec391a683c6ea90ac48":[1,0,73],
+"group__foundation.html#gacf9618bbfb96b6c415429e69a922d7cd":[4,0,0,3,0,4,36],
"group__foundation.html#gad273b402181cbec391a683c6ea90ac48":[4,0,0,3,0,4,72],
-"group__foundation.html#gadbb99bc24045921bec5225ba8f31e49b":[1,0,70],
+"group__foundation.html#gad273b402181cbec391a683c6ea90ac48":[1,0,73],
"group__foundation.html#gadbb99bc24045921bec5225ba8f31e49b":[4,0,0,3,0,4,69],
+"group__foundation.html#gadbb99bc24045921bec5225ba8f31e49b":[1,0,70],
"group__foundation.html#gadc7c92598000916bb7dc9870cbdf3673":[1,0,11],
"group__foundation.html#gadc7c92598000916bb7dc9870cbdf3673":[4,0,0,3,0,4,10],
-"group__foundation.html#gae077cc2ead6684130598df6505f35047":[4,0,0,3,0,4,49],
"group__foundation.html#gae077cc2ead6684130598df6505f35047":[1,0,50],
-"group__foundation.html#gae0d9bcbded673342d8eb643b3f6ab80f":[4,0,0,3,0,4,29],
+"group__foundation.html#gae077cc2ead6684130598df6505f35047":[4,0,0,3,0,4,49],
"group__foundation.html#gae0d9bcbded673342d8eb643b3f6ab80f":[1,0,30],
-"group__foundation.html#gae113833df736001a9b536ebd991a7a9f":[1,0,32],
+"group__foundation.html#gae0d9bcbded673342d8eb643b3f6ab80f":[4,0,0,3,0,4,29],
"group__foundation.html#gae113833df736001a9b536ebd991a7a9f":[4,0,0,3,0,4,31],
+"group__foundation.html#gae113833df736001a9b536ebd991a7a9f":[1,0,32],
"group__foundation.html#gae3a914c12073dca7995a96def860cbb9":[4,0,0,3,0,4,54],
"group__foundation.html#gae3a914c12073dca7995a96def860cbb9":[1,0,55],
"group__foundation.html#gae5369ee72783436b1679b593f06c038d":[1,0,14],
"group__foundation.html#gae5369ee72783436b1679b593f06c038d":[4,0,0,3,0,4,13],
-"group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e":[4,0,0,3,0,4,23],
-"group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e":[1,0,24],
-"group__foundation.html#gaf345e5634817936729c938b00cf10a25":[1,0,16],
-"group__foundation.html#gaf345e5634817936729c938b00cf10a25":[4,0,0,3,0,4,15]
+"group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e":[4,0,0,3,0,4,23]
};
diff --git a/docs/source_docs/files/navtreeindex16.js b/docs/source_docs/files/navtreeindex16.js
index 18985b0..2331976 100755
--- a/docs/source_docs/files/navtreeindex16.js
+++ b/docs/source_docs/files/navtreeindex16.js
@@ -1,13 +1,16 @@
var NAVTREEINDEX16 =
{
+"group__foundation.html#gae9e06fb68b9ca307fa4377186da9052e":[1,0,24],
+"group__foundation.html#gaf345e5634817936729c938b00cf10a25":[4,0,0,3,0,4,15],
+"group__foundation.html#gaf345e5634817936729c938b00cf10a25":[1,0,16],
"group__foundation.html#gaf3a2e42fdfaeb8ba7832216b3fd8f8bd":[4,0,0,3,0,4,40],
"group__foundation.html#gaf3a2e42fdfaeb8ba7832216b3fd8f8bd":[1,0,41],
"group__foundation.html#gaf8c6a384ad2d9150720d111c154ac570":[4,0,0,3,0,4,42],
"group__foundation.html#gaf8c6a384ad2d9150720d111c154ac570":[1,0,43],
"group__foundation.html#gafd60b0665f37480ed74e7ce61618bda7":[4,0,0,3,0,4,26],
"group__foundation.html#gafd60b0665f37480ed74e7ce61618bda7":[1,0,27],
-"group__foundation.html#gafff0169bf95189167358fd42525ea524":[1,0,44],
"group__foundation.html#gafff0169bf95189167358fd42525ea524":[4,0,0,3,0,4,43],
+"group__foundation.html#gafff0169bf95189167358fd42525ea524":[1,0,44],
"hierarchy.html":[3,2],
"index.html":[],
"modules.html":[1],
@@ -158,8 +161,8 @@ var NAVTREEINDEX16 =
"struct_nv_1_1_blast_1_1_chunk_info.html#a7e5b05c30d6a4deceb2da1e840fa442c":[3,0,2,0,25,6],
"struct_nv_1_1_blast_1_1_chunk_info.html#a864945bf41b9ab726c8df191e9acae35":[3,0,2,0,25,5],
"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c":[3,0,2,0,25,0],
-"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de":[3,0,2,0,25,0,1],
"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47":[3,0,2,0,25,0,0],
+"struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff":[3,0,2,0,25,0,1],
"struct_nv_1_1_blast_1_1_cmp_shared_face.html":[3,0,2,0,26],
"struct_nv_1_1_blast_1_1_cmp_shared_face.html#a17f411532ee2ed61076e110cdd3dca2f":[3,0,2,0,26,0],
"struct_nv_1_1_blast_1_1_cmp_vec.html":[3,0,2,0,27],
@@ -246,8 +249,5 @@ var NAVTREEINDEX16 =
"struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a6dd22cefbaad1235b8835c9ac2a56676":[3,0,2,0,46,1],
"struct_nv_1_1_blast_1_1_edge_facet_intersection_data.html#a9eaeac91e248bdd89a96303cdbed5640":[3,0,2,0,46,5],
"struct_nv_1_1_blast_1_1_edge_to_triangles.html":[3,0,2,0,47],
-"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a66a5922811f503f3259cb15f92f17bd5":[3,0,2,0,47,3],
-"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a70cb4d757a5e60e392ed88043c08664b":[3,0,2,0,47,1],
-"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a8352a92eb1d63043f23353a142dfeaf0":[3,0,2,0,47,5],
-"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a9089977b271562c9c59a8c164bea593b":[3,0,2,0,47,2]
+"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a66a5922811f503f3259cb15f92f17bd5":[3,0,2,0,47,3]
};
diff --git a/docs/source_docs/files/navtreeindex17.js b/docs/source_docs/files/navtreeindex17.js
index a10eef9..9d3b8b3 100755
--- a/docs/source_docs/files/navtreeindex17.js
+++ b/docs/source_docs/files/navtreeindex17.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX17 =
{
+"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a70cb4d757a5e60e392ed88043c08664b":[3,0,2,0,47,1],
+"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a8352a92eb1d63043f23353a142dfeaf0":[3,0,2,0,47,5],
+"struct_nv_1_1_blast_1_1_edge_to_triangles.html#a9089977b271562c9c59a8c164bea593b":[3,0,2,0,47,2],
"struct_nv_1_1_blast_1_1_edge_to_triangles.html#ac789134fae1cf431cf298dc71a7dc4c3":[3,0,2,0,47,4],
"struct_nv_1_1_blast_1_1_edge_to_triangles.html#af8461a7114523bdc114624d99e76daa7":[3,0,2,0,47,0],
"struct_nv_1_1_blast_1_1_edge_with_parent.html":[3,0,2,0,48],
@@ -246,8 +249,5 @@ var NAVTREEINDEX17 =
"struct_nv_1_1_blast_1_1_per_triangle_additional_data.html#aeb0bb7f2575a26dda3c81de46b2486d8":[3,0,2,0,153,0],
"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html":[3,0,2,0,154],
"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#a80203dd762ab3448bf15ebb38035b0c6":[3,0,2,0,154,2],
-"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#a8e162e0f4064a7371039968158c86d2f":[3,0,2,0,154,0],
-"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#ad7fc6cfbd651eef3d621e14df664fc4c":[3,0,2,0,154,1],
-"struct_nv_1_1_blast_1_1_poly_vert.html":[3,0,2,0,156],
-"struct_nv_1_1_blast_1_1_poly_vert.html#a8ea78901480aee9ff5b42cbfa4f53efa":[3,0,2,0,156,1]
+"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#a8e162e0f4064a7371039968158c86d2f":[3,0,2,0,154,0]
};
diff --git a/docs/source_docs/files/navtreeindex18.js b/docs/source_docs/files/navtreeindex18.js
index 8133a5e..605349c 100755
--- a/docs/source_docs/files/navtreeindex18.js
+++ b/docs/source_docs/files/navtreeindex18.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX18 =
{
+"struct_nv_1_1_blast_1_1_plane_chunk_indexer.html#ad7fc6cfbd651eef3d621e14df664fc4c":[3,0,2,0,154,1],
+"struct_nv_1_1_blast_1_1_poly_vert.html":[3,0,2,0,156],
+"struct_nv_1_1_blast_1_1_poly_vert.html#a8ea78901480aee9ff5b42cbfa4f53efa":[3,0,2,0,156,1],
"struct_nv_1_1_blast_1_1_poly_vert.html#aeedaedbf387cbd04889f4dd54152e252":[3,0,2,0,156,0],
"struct_nv_1_1_blast_1_1_profiler_detail.html":[3,0,2,0,158],
"struct_nv_1_1_blast_1_1_profiler_detail.html#a06be79d41391dfde43f6aa02866a3c1f":[3,0,2,0,158,0],
@@ -246,8 +249,5 @@ var NAVTREEINDEX18 =
"struct_nv_1_1_blast_1_1_vertex.html#aaac433633e99222e1d4d42442eba6b18":[3,0,2,0,217,3],
"struct_nv_1_1_blast_1_1_vertex.html#abf6db15e85ed0013429dd263d6dc0e09":[3,0,2,0,217,0],
"struct_nv_1_1_blast_1_1_vrt_comp.html":[3,0,2,0,221],
-"struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a":[3,0,2,0,221,0],
-"struct_nv_1_1_blast_1_1_vrt_position_comparator.html":[3,0,2,0,222],
-"struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9":[3,0,2,0,222,0],
-"struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c":[3,0,2,0,222,1]
+"struct_nv_1_1_blast_1_1_vrt_comp.html#a394c39b826fd05e37f7ea5403f13fb2a":[3,0,2,0,221,0]
};
diff --git a/docs/source_docs/files/navtreeindex19.js b/docs/source_docs/files/navtreeindex19.js
index c162d68..60e6b47 100644
--- a/docs/source_docs/files/navtreeindex19.js
+++ b/docs/source_docs/files/navtreeindex19.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX19 =
{
+"struct_nv_1_1_blast_1_1_vrt_position_comparator.html":[3,0,2,0,222],
+"struct_nv_1_1_blast_1_1_vrt_position_comparator.html#a03573f86530a247194da20c946c159b9":[3,0,2,0,222,0],
+"struct_nv_1_1_blast_1_1_vrt_position_comparator.html#aaf2b5a71ca93c9365d8ddf2df3dab86c":[3,0,2,0,222,1],
"struct_nv_blast_actor.html":[3,0,14],
"struct_nv_blast_actor_desc.html":[3,0,15],
"struct_nv_blast_actor_desc.html#a363b057cfbee1c7ea8edb23d6b04388d":[3,0,15,0],
@@ -246,8 +249,5 @@ var NAVTREEINDEX19 =
"vhacd_i_c_hull_8h.html#af80ac6741c5c7f99f1c7db89ae70a9f3ae4636f6d8dc64f99fd3389e0b8532032":[4,0,0,1,1,1,0,0,8,2,0],
"vhacd_i_c_hull_8h.html#afe0e7ce57f81f4e0288fe80ed993c7e2":[4,0,0,1,1,1,0,0,8,1],
"vhacd_i_c_hull_8h_source.html":[4,0,0,1,1,1,0,0,8],
-"vhacd_manifold_mesh_8h.html":[4,0,0,1,1,1,0,0,9],
-"vhacd_manifold_mesh_8h.html#a922080a88d085134e2874f362840edb6":[4,0,0,1,1,1,0,0,9,4],
-"vhacd_manifold_mesh_8h_source.html":[4,0,0,1,1,1,0,0,9],
-"vhacd_mesh_8h.html":[4,0,0,1,1,1,0,0,10]
+"vhacd_manifold_mesh_8h.html":[4,0,0,1,1,1,0,0,9]
};
diff --git a/docs/source_docs/files/navtreeindex2.js b/docs/source_docs/files/navtreeindex2.js
index 46853bd..39fbfeb 100755
--- a/docs/source_docs/files/navtreeindex2.js
+++ b/docs/source_docs/files/navtreeindex2.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX2 =
{
+"_nv_blast_ext_custom_profiler_8h_source.html":[4,0,0,1,5,0,0],
"_nv_blast_ext_damage_accelerator_a_a_b_b_tree_8h.html":[4,0,0,1,8,1,0],
"_nv_blast_ext_damage_accelerator_a_a_b_b_tree_8h_source.html":[4,0,0,1,8,1,0],
"_nv_blast_ext_damage_accelerator_internal_8h.html":[4,0,0,1,8,1,1],
@@ -248,6 +249,5 @@ var NAVTREEINDEX2 =
"_nv_blast_include_windows_8h.html#a22c56a31990574a86b40f60b6073cdba":[4,0,0,0,12,37],
"_nv_blast_include_windows_8h.html#a256fe1caeb996b1142c3eb51097fef0e":[4,0,0,0,12,15],
"_nv_blast_include_windows_8h.html#a271ce221dc9c5c8887d443008b3d718c":[4,0,0,0,12,29],
-"_nv_blast_include_windows_8h.html#a2bedaca1c6ca66de2397772910fbe140":[4,0,0,0,12,8],
-"_nv_blast_include_windows_8h.html#a2d7186e4a6dfcc0011461ce1e8b70a05":[4,0,0,0,12,22]
+"_nv_blast_include_windows_8h.html#a2bedaca1c6ca66de2397772910fbe140":[4,0,0,0,12,8]
};
diff --git a/docs/source_docs/files/navtreeindex20.js b/docs/source_docs/files/navtreeindex20.js
index ddead87..cbb9b80 100644
--- a/docs/source_docs/files/navtreeindex20.js
+++ b/docs/source_docs/files/navtreeindex20.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX20 =
{
+"vhacd_manifold_mesh_8h.html#a922080a88d085134e2874f362840edb6":[4,0,0,1,1,1,0,0,9,4],
+"vhacd_manifold_mesh_8h_source.html":[4,0,0,1,1,1,0,0,9],
+"vhacd_mesh_8h.html":[4,0,0,1,1,1,0,0,10],
"vhacd_mesh_8h.html#a09d737ec45c0c0ae479ac780ed2c6beb":[4,0,0,1,1,1,0,0,10,3],
"vhacd_mesh_8h.html#a2acab39383304ada7717c4be77c72865":[4,0,0,1,1,1,0,0,10,5],
"vhacd_mesh_8h.html#a2acab39383304ada7717c4be77c72865a019eac56d2a991a065f434ba381c5ddb":[4,0,0,1,1,1,0,0,10,5,0],
diff --git a/docs/source_docs/files/navtreeindex3.js b/docs/source_docs/files/navtreeindex3.js
index fb30b21..d123cfc 100755
--- a/docs/source_docs/files/navtreeindex3.js
+++ b/docs/source_docs/files/navtreeindex3.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX3 =
{
+"_nv_blast_include_windows_8h.html#a2d7186e4a6dfcc0011461ce1e8b70a05":[4,0,0,0,12,22],
"_nv_blast_include_windows_8h.html#a2e4c78354db40d44bea894e472550c11":[4,0,0,0,12,2],
"_nv_blast_include_windows_8h.html#a2ee511fa2fd29a9a1f0efbcb2c364b8f":[4,0,0,0,12,4],
"_nv_blast_include_windows_8h.html#a348ad07df4aceda9097d9497b78bccd9":[4,0,0,0,12,6],
@@ -248,6 +249,5 @@ var NAVTREEINDEX3 =
"bt_aligned_allocator_8h.html#ae81156ba7103afa1011e445b990041a6":[4,0,0,1,1,1,0,0,0,12],
"bt_aligned_allocator_8h.html#af50f59e1b711a0304f02b64ef1b72b8f":[4,0,0,1,1,1,0,0,0,10],
"bt_aligned_allocator_8h_source.html":[4,0,0,1,1,1,0,0,0],
-"bt_aligned_object_array_8h.html":[4,0,0,1,1,1,0,0,1],
-"bt_aligned_object_array_8h.html#abbaa34c72a791d366573e6e25e0bf702":[4,0,0,1,1,1,0,0,1,3]
+"bt_aligned_object_array_8h.html":[4,0,0,1,1,1,0,0,1]
};
diff --git a/docs/source_docs/files/navtreeindex4.js b/docs/source_docs/files/navtreeindex4.js
index 5c2e080..707a50b 100755
--- a/docs/source_docs/files/navtreeindex4.js
+++ b/docs/source_docs/files/navtreeindex4.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX4 =
{
+"bt_aligned_object_array_8h.html#abbaa34c72a791d366573e6e25e0bf702":[4,0,0,1,1,1,0,0,1,3],
"bt_aligned_object_array_8h.html#af679f7a130fd285561d684b76238ecd4":[4,0,0,1,1,1,0,0,1,2],
"bt_aligned_object_array_8h_source.html":[4,0,0,1,1,1,0,0,1],
"bt_convex_hull_computer_8h.html":[4,0,0,1,1,1,0,0,2],
@@ -248,6 +249,5 @@ var NAVTREEINDEX4 =
"class_nv_1_1_blast_1_1_asset.html#a78770e86b346b4b756814bca14b6c331":[3,0,2,0,9,6],
"class_nv_1_1_blast_1_1_asset.html#a93a386a2854b15b238c18ac220170924":[3,0,2,0,9,7],
"class_nv_1_1_blast_1_1_asset.html#a97582e0fbb4b6c1b36ec613c850bc3b4":[3,0,2,0,9,17],
-"class_nv_1_1_blast_1_1_asset.html#a98e82fcf21d3dd57871d59d7cd49d42d":[3,0,2,0,9,9],
-"class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a":[3,0,2,0,9,4]
+"class_nv_1_1_blast_1_1_asset.html#a98e82fcf21d3dd57871d59d7cd49d42d":[3,0,2,0,9,9]
};
diff --git a/docs/source_docs/files/navtreeindex5.js b/docs/source_docs/files/navtreeindex5.js
index 846476f..38d12a2 100755
--- a/docs/source_docs/files/navtreeindex5.js
+++ b/docs/source_docs/files/navtreeindex5.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX5 =
{
+"class_nv_1_1_blast_1_1_asset.html#aa65e7c5b0355422e0021ffd25042b20a":[3,0,2,0,9,4],
"class_nv_1_1_blast_1_1_asset.html#aafdb7951c9cc382b47f65c9bcd68e2a2":[3,0,2,0,9,11],
"class_nv_1_1_blast_1_1_asset.html#ab422282c61d3c1aca41f3ecf77c78485":[3,0,2,0,9,3],
"class_nv_1_1_blast_1_1_asset.html#ac812c016cbf9e92d54f1e4e702ff531b":[3,0,2,0,9,10],
@@ -248,6 +249,5 @@ var NAVTREEINDEX5 =
"class_nv_1_1_blast_1_1_ext_px_family.html":[3,0,2,0,77],
"class_nv_1_1_blast_1_1_ext_px_family.html#a0da64cab1fb7b93167505a52da8c74d3":[3,0,2,0,77,17],
"class_nv_1_1_blast_1_1_ext_px_family.html#a3335adf4c2c6367d98ba41f7a5f5488b":[3,0,2,0,77,13],
-"class_nv_1_1_blast_1_1_ext_px_family.html#a6406d042c43fe14fa7c260608444e4d4":[3,0,2,0,77,8],
-"class_nv_1_1_blast_1_1_ext_px_family.html#a680c32f05f9b7066e22ef7d196f593bb":[3,0,2,0,77,1]
+"class_nv_1_1_blast_1_1_ext_px_family.html#a6406d042c43fe14fa7c260608444e4d4":[3,0,2,0,77,8]
};
diff --git a/docs/source_docs/files/navtreeindex6.js b/docs/source_docs/files/navtreeindex6.js
index e51cfd6..fbc1a8b 100755
--- a/docs/source_docs/files/navtreeindex6.js
+++ b/docs/source_docs/files/navtreeindex6.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX6 =
{
+"class_nv_1_1_blast_1_1_ext_px_family.html#a680c32f05f9b7066e22ef7d196f593bb":[3,0,2,0,77,1],
"class_nv_1_1_blast_1_1_ext_px_family.html#a88523d45695e7d5b10637e04aef06e02":[3,0,2,0,77,14],
"class_nv_1_1_blast_1_1_ext_px_family.html#a8895d32707f5da13866d1cdc5e178292":[3,0,2,0,77,12],
"class_nv_1_1_blast_1_1_ext_px_family.html#a96744a318e9000a40f21d9751929bac9":[3,0,2,0,77,6],
@@ -248,6 +249,5 @@ var NAVTREEINDEX6 =
"class_nv_1_1_blast_1_1_fixed_priority_queue.html":[3,0,2,0,112],
"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a1d7c1b2ff9fba34e09bb22773a3bf340":[3,0,2,0,112,7],
"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a2a11aad2baa3b807fb420372914e9cd6":[3,0,2,0,112,4],
-"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a3bcc1a697941a5d66ddfafc7a2e5af4d":[3,0,2,0,112,9],
-"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a7127664503056837ccaf338909e59652":[3,0,2,0,112,2]
+"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a3bcc1a697941a5d66ddfafc7a2e5af4d":[3,0,2,0,112,9]
};
diff --git a/docs/source_docs/files/navtreeindex7.js b/docs/source_docs/files/navtreeindex7.js
index d6dd15b..a88f248 100755
--- a/docs/source_docs/files/navtreeindex7.js
+++ b/docs/source_docs/files/navtreeindex7.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX7 =
{
+"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a7127664503056837ccaf338909e59652":[3,0,2,0,112,2],
"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a844a4e0b003af40f2af784796639a455":[3,0,2,0,112,6],
"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a98f870b4b97264985577689aee68bb59":[3,0,2,0,112,1],
"class_nv_1_1_blast_1_1_fixed_priority_queue.html#a9ba647089df9693a0a565dd8628cdefa":[3,0,2,0,112,8],
@@ -52,12 +53,13 @@ var NAVTREEINDEX7 =
"class_nv_1_1_blast_1_1_fracture_tool.html#a04bb5dd940274a9c8b097cc9f06d0708":[3,0,2,0,119,1],
"class_nv_1_1_blast_1_1_fracture_tool.html#a1d2f1ce4db5aab0ac6a075db607c6b2f":[3,0,2,0,119,12],
"class_nv_1_1_blast_1_1_fracture_tool.html#a247f0e36c015237002dc87675562289b":[3,0,2,0,119,3],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735":[3,0,2,0,119,26],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a2d38fb6aac3c36d51d60dad428a43074":[3,0,2,0,119,32],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a384be45a1310ee0652d315127e62da22":[3,0,2,0,119,30],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a251738022e498b819e88536577470735":[3,0,2,0,119,27],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a2d38fb6aac3c36d51d60dad428a43074":[3,0,2,0,119,33],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a33c19de2bc8ea52394651d184076db5c":[3,0,2,0,119,24],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a384be45a1310ee0652d315127e62da22":[3,0,2,0,119,31],
"class_nv_1_1_blast_1_1_fracture_tool.html#a44ad67ac96b11e7dad87b5ed7a788f21":[3,0,2,0,119,19],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a45e8a5d3b6d98da1b44b6888a5054cce":[3,0,2,0,119,28],
-"class_nv_1_1_blast_1_1_fracture_tool.html#a4c3308b909153982aded9366f9d3ee7c":[3,0,2,0,119,31],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a45e8a5d3b6d98da1b44b6888a5054cce":[3,0,2,0,119,29],
+"class_nv_1_1_blast_1_1_fracture_tool.html#a4c3308b909153982aded9366f9d3ee7c":[3,0,2,0,119,32],
"class_nv_1_1_blast_1_1_fracture_tool.html#a4d00c3d53ba51d966de58ff533435cc2":[3,0,2,0,119,0],
"class_nv_1_1_blast_1_1_fracture_tool.html#a559c822041e74f034613b3afa4ad8a17":[3,0,2,0,119,2],
"class_nv_1_1_blast_1_1_fracture_tool.html#a5710c73457bcceba3f20d130e231a028":[3,0,2,0,119,20],
@@ -71,59 +73,60 @@ var NAVTREEINDEX7 =
"class_nv_1_1_blast_1_1_fracture_tool.html#a9a113cc771fac30fd14a9c7b5b073e99":[3,0,2,0,119,14],
"class_nv_1_1_blast_1_1_fracture_tool.html#aa9a87637d6d190d71678f0fb9a100bfd":[3,0,2,0,119,6],
"class_nv_1_1_blast_1_1_fracture_tool.html#ab462c92fa47a5359bf3d19cf44af80f4":[3,0,2,0,119,23],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ac14c1ff1d50756694be24c34476af965":[3,0,2,0,119,27],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f":[3,0,2,0,119,25],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ac14c1ff1d50756694be24c34476af965":[3,0,2,0,119,28],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ac8c4f90133fdf32969cad6e4c520414f":[3,0,2,0,119,26],
"class_nv_1_1_blast_1_1_fracture_tool.html#ac99cb91a13255929a52d9a2623ac207b":[3,0,2,0,119,11],
"class_nv_1_1_blast_1_1_fracture_tool.html#adb1c311cbb3d84c7bfbfd12abe01af0b":[3,0,2,0,119,7],
"class_nv_1_1_blast_1_1_fracture_tool.html#adc4037818bdb9424fe0543b59c1e2eac":[3,0,2,0,119,17],
-"class_nv_1_1_blast_1_1_fracture_tool.html#ae4bd5dab498f9e894c648d570c5b60ba":[3,0,2,0,119,29],
+"class_nv_1_1_blast_1_1_fracture_tool.html#ae4bd5dab498f9e894c648d570c5b60ba":[3,0,2,0,119,30],
"class_nv_1_1_blast_1_1_fracture_tool.html#aea8f1d386c70af0ea67bed2c353e57a1":[3,0,2,0,119,8],
"class_nv_1_1_blast_1_1_fracture_tool.html#aec74731e5a147120f0536b6674fc0f42":[3,0,2,0,119,4],
-"class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe":[3,0,2,0,119,24],
+"class_nv_1_1_blast_1_1_fracture_tool.html#aecd9be996bba9329418fd91db8235ebe":[3,0,2,0,119,25],
"class_nv_1_1_blast_1_1_fracture_tool.html#af07eb7960687cd912df496640bec8876":[3,0,2,0,119,10],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html":[3,0,2,0,120],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a0217eb658aa3890c3d1d2e030436b07b":[3,0,2,0,120,31],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a04d3620e1e76d15accb8a08039398680":[3,0,2,0,120,28],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a0217eb658aa3890c3d1d2e030436b07b":[3,0,2,0,120,32],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a04d3620e1e76d15accb8a08039398680":[3,0,2,0,120,29],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a05d2e5fd981d54d55ee5dbc5bf454a50":[3,0,2,0,120,22],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a0d1af8c17f922acd54bf3b69bdff54e7":[3,0,2,0,120,11],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a11d8ab3b4c7040389b3b552d07e4da57":[3,0,2,0,120,0],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1ccbcbfde4e58f8357a589ae56ff043f":[3,0,2,0,120,24],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b":[3,0,2,0,120,39],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1cf29d3d972240ac368f6acef7bcb93b":[3,0,2,0,120,40],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a1ffac81bb04e7674e77940183854d352":[3,0,2,0,120,10],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a21dee486b1499f135740cac4a4d85af0":[3,0,2,0,120,7],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a2a7de5296d9fc03ae9d4d510a5314d9a":[3,0,2,0,120,14],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f":[3,0,2,0,120,41],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925":[3,0,2,0,120,38],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3853cd248b6b0531f18f8cf1711bc90f":[3,0,2,0,120,42],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3a9a2ccd3b9f5122f5153431b2eb2925":[3,0,2,0,120,39],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a3fdd1a0df69a82898a6ec8c0f51094fc":[3,0,2,0,120,25],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a41b5acb435a88c4cd06912ac75bc7f19":[3,0,2,0,120,21],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4a1ab63d90ed2514038f299606583527":[3,0,2,0,120,3],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4ae30e1bda20f7f0a8b21d6dbd13a771":[3,0,2,0,120,17],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4cf6af831497dbaf9db34ba4529f418d":[3,0,2,0,120,1],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a4e51dd47edda8a9e7de8df2354b451e3":[3,0,2,0,120,18],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a507e1b343d2d0fc38396ef5643f729f6":[3,0,2,0,120,5],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1":[3,0,2,0,120,34],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a516359070dc5bf6cd0770d3e33b8c8d1":[3,0,2,0,120,35],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a5904628e466fa8cbb5016b08fb7708b8":[3,0,2,0,120,12],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a5e5a23242da3d034f64335dd1739e551":[3,0,2,0,120,9],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a5e5d88c4d3ec08ddd566a233f26100f2":[3,0,2,0,120,20],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a6c74f2ddd8b73705675767149c2ce69e":[3,0,2,0,120,4],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a6cab6022e3cfb8bfc287428c507a9459":[3,0,2,0,120,8],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a7500f7cd8e670745e74ee83eed10c1ba":[3,0,2,0,120,13],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914":[3,0,2,0,120,35],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a7be81de54f32a49d2f5885275c59bece":[3,0,2,0,120,30],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a77957e191451f94d3753e31695c37914":[3,0,2,0,120,36],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a7be81de54f32a49d2f5885275c59bece":[3,0,2,0,120,31],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a7dcbf47203115afe634ca7b5af9bd56a":[3,0,2,0,120,19],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a7ffacc77ed102a8cd52c080055a08c3f":[3,0,2,0,120,2],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a820e9829bb02425ae53e47eb6be0b1c3":[3,0,2,0,120,15],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a92dec92822ab9e0807400a7d63bfc553":[3,0,2,0,120,27],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a92dec92822ab9e0807400a7d63bfc553":[3,0,2,0,120,28],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#a9a93aab1c2f46963ae406964b639cb82":[3,0,2,0,120,6],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ab0089baafc0bd7370c12602d7dd20440":[3,0,2,0,120,33],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ab0089baafc0bd7370c12602d7dd20440":[3,0,2,0,120,34],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ab5cc06434628c2b5be10f755edcbe1da":[3,0,2,0,120,16],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e":[3,0,2,0,120,40],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#abcc6a73e16008d488bbf81623ec5a33e":[3,0,2,0,120,41],
"class_nv_1_1_blast_1_1_fracture_tool_impl.html#abe1f6bf365964825a2c939e22c85d96a":[3,0,2,0,120,23],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1":[3,0,2,0,120,36],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2b3addf8c9d4e4c81511c8b0071f031":[3,0,2,0,120,29],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac466495627ca99252433c7e1c702c7f9":[3,0,2,0,120,25],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac9c8e18748b18fa6dd29a328eaf63026":[3,0,2,0,120,26],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962":[3,0,2,0,120,37],
-"class_nv_1_1_blast_1_1_fracture_tool_impl.html#af0d34972494741fc4c4b2bfe1eb801ad":[3,0,2,0,120,32],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2202d728cefb26446a60593b03dcbe1":[3,0,2,0,120,37],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac2b3addf8c9d4e4c81511c8b0071f031":[3,0,2,0,120,30],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac466495627ca99252433c7e1c702c7f9":[3,0,2,0,120,26],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ac9c8e18748b18fa6dd29a328eaf63026":[3,0,2,0,120,27],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#ae9fdc3a9dd7eefe632a24c7abb6c4962":[3,0,2,0,120,38],
+"class_nv_1_1_blast_1_1_fracture_tool_impl.html#af0d34972494741fc4c4b2bfe1eb801ad":[3,0,2,0,120,33],
"class_nv_1_1_blast_1_1_fracturer.html":[3,0,2,0,115],
"class_nv_1_1_blast_1_1_fracturer.html#a42fb6822d70b337eaef4470165db1ddb":[3,0,2,0,115,0],
"class_nv_1_1_blast_1_1_grid.html":[3,0,2,0,121],
@@ -246,8 +249,5 @@ var NAVTREEINDEX7 =
"class_nv_1_1_blast_1_1_mesh_impl.html#abfeffdee97c4eeee5449a5b0e6e024ce":[3,0,2,0,144,0],
"class_nv_1_1_blast_1_1_mesh_impl.html#adb1bc85f36ba170694a268b593f9ff35":[3,0,2,0,144,8],
"class_nv_1_1_blast_1_1_mesh_impl.html#adb7618b41989c540a6bb531a5c109931":[3,0,2,0,144,3],
-"class_nv_1_1_blast_1_1_mesh_impl.html#ae6c92213b91e748fec7a592c20884e2b":[3,0,2,0,144,7],
-"class_nv_1_1_blast_1_1_mesh_impl.html#afd0a2a856078f362d0c0f5f2da1ba03e":[3,0,2,0,144,23],
-"class_nv_1_1_blast_1_1_mesh_noiser.html":[3,0,2,0,145],
-"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33c":[3,0,2,0,145,0]
+"class_nv_1_1_blast_1_1_mesh_impl.html#ae6c92213b91e748fec7a592c20884e2b":[3,0,2,0,144,7]
};
diff --git a/docs/source_docs/files/navtreeindex8.js b/docs/source_docs/files/navtreeindex8.js
index 3a243cf..d734d18 100755
--- a/docs/source_docs/files/navtreeindex8.js
+++ b/docs/source_docs/files/navtreeindex8.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX8 =
{
+"class_nv_1_1_blast_1_1_mesh_impl.html#afd0a2a856078f362d0c0f5f2da1ba03e":[3,0,2,0,144,23],
+"class_nv_1_1_blast_1_1_mesh_noiser.html":[3,0,2,0,145],
+"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33c":[3,0,2,0,145,0],
"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33ca1eb6e0f13a84ebd34e2056d50a0fe24e":[3,0,2,0,145,0,1],
"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33ca2dc7c69e3c9b01c112a1748a4a36ff2e":[3,0,2,0,145,0,2],
"class_nv_1_1_blast_1_1_mesh_noiser.html#a31a25ebefe7e32bab14f61e2c3d0c33ca4021152d23cbda8700f03c113bdc7b81":[3,0,2,0,145,0,4],
@@ -246,8 +249,5 @@ var NAVTREEINDEX8 =
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a3a35f300ad23a4a9e0b6a7f45e0b69e1":[3,0,2,0,1,2,1,16],
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a43f16173eef70d9e93dc32bec0b8e2b5":[3,0,2,0,1,2,1,5],
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a4e5978bd15d71ca67b29731912f9ee63":[3,0,2,0,1,2,1,6],
-"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a503974144edeb2f940e0bcd8dcc0c8f2":[3,0,2,0,1,2,1,15],
-"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a58532ea248ebfb3d3d673a571da8f8d5":[3,0,2,0,1,2,1,7],
-"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a6253c267813957916673d00f8a98563a":[3,0,2,0,1,2,1,13],
-"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a7b4bcfda9e44192b668bef598293d227":[3,0,2,0,1,2,1,8]
+"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a503974144edeb2f940e0bcd8dcc0c8f2":[3,0,2,0,1,2,1,15]
};
diff --git a/docs/source_docs/files/navtreeindex9.js b/docs/source_docs/files/navtreeindex9.js
index 2a56281..7b7689d 100755
--- a/docs/source_docs/files/navtreeindex9.js
+++ b/docs/source_docs/files/navtreeindex9.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX9 =
{
+"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a58532ea248ebfb3d3d673a571da8f8d5":[3,0,2,0,1,2,1,7],
+"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a6253c267813957916673d00f8a98563a":[3,0,2,0,1,2,1,13],
+"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a7b4bcfda9e44192b668bef598293d227":[3,0,2,0,1,2,1,8],
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a8003c3febbd13fe2ce9def8ef04fa56b":[3,0,2,0,1,2,1,3],
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#a8986ddbe029dfc5d7ae773d75ad16e97":[3,0,2,0,1,2,1,14],
"class_nv_1_1_blast_1_1_serialization_1_1_ext_px_chunk_1_1_builder.html#aa1e4601c9568bdd156fff08b248584d0":[3,0,2,0,1,2,1,4],
@@ -246,8 +249,5 @@ var NAVTREEINDEX9 =
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#a89b7dc5b89162f4ff71abc82140bd419":[3,0,2,0,1,7,1,24],
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#a8abeb9aec20c1589300b3ef9bc4dc26b":[3,0,2,0,1,7,1,27],
"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#a98906e86d6ef93a0a6d289d116913cce":[3,0,2,0,1,7,1,2],
-"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#a9ee5418213db8b590aeacc89df3915c0":[3,0,2,0,1,7,1,12],
-"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aabf5a08198127450ed2a2c7fb2fb8b8c":[3,0,2,0,1,7,1,31],
-"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aac9c536fc46a4c641d2a49d105e8d025":[3,0,2,0,1,7,1,22],
-"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#aacbc78e470fe540313fee3b295a52d4d":[3,0,2,0,1,7,1,32]
+"class_nv_1_1_blast_1_1_serialization_1_1_nv_blast_support_graph_1_1_builder.html#a9ee5418213db8b590aeacc89df3915c0":[3,0,2,0,1,7,1,12]
};
diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
index f01e50e..391e3d1 100755
--- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
+++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info-members.html
@@ -41,9 +41,9 @@
</div>
<div class="contents">
<h1>Nv::Blast::ChunkInfo Member List</h1>This is the complete list of members for <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff">APPROXIMATE_BONDING</a> enum value</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a> enum name</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#55d13d994d704a8550474da493b60c67">chunkId</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> enum value</td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#2e9936bba91f2ec13692860dfa9a3c71">flags</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#336cac7f249ed366d00bfe3fe4ef611f">isChanged</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#46cb9523bb9c0af0a890ed864560bd02">isLeaf</a></td><td><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html">Nv::Blast::ChunkInfo</a></td><td></td></tr>
diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
index e76e61b..1b00e76 100755
--- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
+++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.html
@@ -49,10 +49,6 @@
<a href="struct_nv_1_1_blast_1_1_chunk_info-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c">ChunkFlags</a> { <a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47">NO_FLAGS</a> = 0,
-<a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de">CREATED_BY_ISLAND_DETECTOR</a> = 1
- }</td></tr>
-
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_1_1_blast_1_1_chunk_info.html#55d13d994d704a8550474da493b60c67">chunkId</a></td></tr>
@@ -84,7 +80,7 @@
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47"></a><!-- doxytag: member="NO_FLAGS" ref="c1ebabf88ad2eb905b6482519530824c10ffae1afc03f59373bf48244a58dd47" args="" -->NO_FLAGS</em>&nbsp;</td><td>
</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de"></a><!-- doxytag: member="CREATED_BY_ISLAND_DETECTOR" ref="c1ebabf88ad2eb905b6482519530824c083e487cf5083f1063904b52be3982de" args="" -->CREATED_BY_ISLAND_DETECTOR</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff"></a><!-- doxytag: member="APPROXIMATE_BONDING" ref="c1ebabf88ad2eb905b6482519530824c673ab883edb6ff4c69fe85deed5ba3ff" args="" -->APPROXIMATE_BONDING</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
diff --git a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
index e193c31..1ca26a4 100755
--- a/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
+++ b/docs/source_docs/files/struct_nv_1_1_blast_1_1_chunk_info.js
@@ -2,7 +2,7 @@ var struct_nv_1_1_blast_1_1_chunk_info =
[
[ "ChunkFlags", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824c", [
[ "NO_FLAGS", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca10ffae1afc03f59373bf48244a58dd47", null ],
- [ "CREATED_BY_ISLAND_DETECTOR", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca083e487cf5083f1063904b52be3982de", null ]
+ [ "APPROXIMATE_BONDING", "struct_nv_1_1_blast_1_1_chunk_info.html#ac1ebabf88ad2eb905b6482519530824ca673ab883edb6ff4c69fe85deed5ba3ff", null ]
] ],
[ "chunkId", "struct_nv_1_1_blast_1_1_chunk_info.html#a55d13d994d704a8550474da493b60c67", null ],
[ "flags", "struct_nv_1_1_blast_1_1_chunk_info.html#a2e9936bba91f2ec13692860dfa9a3c71", null ],
diff --git a/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h b/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h
index 55b15f5..0798f95 100755
--- a/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h
+++ b/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h
@@ -48,8 +48,8 @@ struct ChunkInfo
{
enum ChunkFlags
{
- NO_FLAGS = 0,
- CREATED_BY_ISLAND_DETECTOR = 1
+ NO_FLAGS = 0,
+ APPROXIMATE_BONDING = 1 // Created by island splitting or chunk merge, etc. and should check for inexact bonds
};
Mesh* meshData;
@@ -512,7 +512,15 @@ class FractureTool
const NvcVec2i* adjChunks, uint32_t adjChunksSize,
bool removeOriginalChunks = false) = 0;
- /**
+ /**
+ Set the APPROXIMATE_BONDING flag in the chunk's ChunkInfo
+ \param[in] chunkIndex chunk index - use getChunkIndex(ID)
+ \param[in] useApproximateBonding value of flag to set
+ \return true if the chunk ID is found, false otherwise
+ */
+ virtual bool setApproximateBonding(uint32_t chunkIndex, bool useApproximateBonding) = 0;
+
+ /**
Rescale interior uv coordinates of given chunk to fit square of given size.
\param[in] side Size of square side
\param[in] chunkId Chunk ID for which UVs should be scaled.
diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoring.cpp b/sdk/extensions/authoring/source/NvBlastExtAuthoring.cpp
index a0e6fc2..b26eee3 100755
--- a/sdk/extensions/authoring/source/NvBlastExtAuthoring.cpp
+++ b/sdk/extensions/authoring/source/NvBlastExtAuthoring.cpp
@@ -40,6 +40,7 @@
#include "NvBlastExtAuthoringBondGeneratorImpl.h"
#include "NvBlastExtAuthoringCollisionBuilderImpl.h"
#include "NvBlastExtAuthoringCutoutImpl.h"
+#include "NvBlastExtAuthoringInternalCommon.h"
#include "NvBlastPxSharedHelpers.h"
#include <algorithm>
@@ -381,21 +382,19 @@ AuthoringResult* NvBlastExtAuthoringProcessFracture(FractureTool& fTool, BlastBo
buildPhysicsChunks(collisionBuilder, aResult, collisionParam);
// set NvBlastChunk volume from Px geometry
- //for (uint32_t i = 0; i < chunkCount; i++)
- //{
- // float totalVolume = 0.f;
- // for (uint32_t k = 0; k < aResult.physicsChunks[i].subchunkCount; k++)
- // {
- // const auto& subChunk = aResult.physicsSubchunks[aResult.physicsChunks[i].firstSubchunkIndex + k];
- // physx::PxVec3 localCenterOfMass; physx::PxMat33 intertia; float mass;
- // subChunk.geometry.convexMesh->getMassInformation(mass, intertia, localCenterOfMass);
- // const physx::PxVec3 scale = subChunk.geometry.scale.scale;
- // mass *= scale.x * scale.y * scale.z;
- // totalVolume += mass / 1.0f; // unit density
- // }
-
- // aResult.chunkDescs[i].volume = totalVolume;
- //}
+ for (uint32_t i = 0; i < chunkCount; i++)
+ {
+ float totalVolume = 0.f;
+ for (uint32_t k = aResult.collisionHullOffset[i]; k < aResult.collisionHullOffset[i+1]; k++)
+ {
+ const CollisionHull* hull = aResult.collisionHull[k];
+ if (hull)
+ {
+ totalVolume += calculateCollisionHullVolume(*hull);
+ }
+ }
+ aResult.chunkDescs[i].volume = totalVolume;
+ }
// build and serialize ExtPhysicsAsset
NvBlastAssetDesc descriptor;
diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.cpp b/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.cpp
index bda11e9..1fc61c2 100755
--- a/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.cpp
+++ b/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.cpp
@@ -1091,15 +1091,15 @@ int32_t BlastBondGeneratorImpl::buildDescFromInternalFracture(FractureTool* tool
}
- bool hasCreatedByIslands = false;
+ bool hasApproximateBonding = false;
for (uint32_t i = 1; i < chunkCount; ++i)
{
NvBlastChunkDesc& desc = resultChunkDescriptors[i];
- desc.userData = i;
+ desc.userData = tool->getChunkId(i);
desc.parentChunkIndex = tool->getChunkIndex(tool->getChunkInfo(i).parent);
desc.flags = NvBlastChunkDesc::NoFlags;
- hasCreatedByIslands |= (tool->getChunkInfo(i).flags & ChunkInfo::CREATED_BY_ISLAND_DETECTOR);
+ hasApproximateBonding |= !!(tool->getChunkInfo(i).flags & ChunkInfo::APPROXIMATE_BONDING);
if (chunkIsSupport[i])
{
desc.flags = NvBlastChunkDesc::SupportFlag;
@@ -1246,7 +1246,7 @@ int32_t BlastBondGeneratorImpl::buildDescFromInternalFracture(FractureTool* tool
}
}
- if (hasCreatedByIslands)
+ if (hasApproximateBonding)
{
std::vector<Triangle> chunkTriangles;
std::vector<uint32_t> chunkTrianglesOffsets;
@@ -1262,6 +1262,7 @@ int32_t BlastBondGeneratorImpl::buildDescFromInternalFracture(FractureTool* tool
pairsAlreadyCreated.insert(pr);
}
+ const float EXPANSION = 0.01f;
chunkTrianglesOffsets.push_back(0);
for (uint32_t i = 0; i < chunkCount; ++i)
@@ -1273,18 +1274,19 @@ int32_t BlastBondGeneratorImpl::buildDescFromInternalFracture(FractureTool* tool
{
chunkTriangles.push_back(trianglesBuffer[i].get()[k]);
- chunkTriangles.back().a.p =
- (chunkTriangles.back().a.p - centroid) * SCALE_FACTOR + centroid; // inflate mesh a bit to find
- }
+ // inflate mesh a bit
+ chunkTriangles.back().a.p = chunkTriangles.back().a.p + (chunkTriangles.back().a.p - centroid) * EXPANSION;
+ chunkTriangles.back().b.p = chunkTriangles.back().b.p + (chunkTriangles.back().b.p - centroid) * EXPANSION;
+ chunkTriangles.back().c.p = chunkTriangles.back().c.p + (chunkTriangles.back().c.p - centroid) * EXPANSION;
+ }
chunkTrianglesOffsets.push_back(chunkTriangles.size());
}
NvBlastBondDesc* adsc;
-
BondGenerationConfig cfg;
cfg.bondMode = BondGenerationConfig::AVERAGE;
- cfg.maxSeparation = 0.01f;
+ cfg.maxSeparation = EXPANSION;
uint32_t nbListSize =
createFullBondListAveraged(chunkCount, chunkTrianglesOffsets.data(), chunkTriangles.data(), nullptr,
diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp
index e4cc86f..a5cd4c1 100755
--- a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp
+++ b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp
@@ -1628,6 +1628,7 @@ bool FractureToolImpl::deleteChunkSubhierarchy(int32_t chunkId, bool deleteRoot
std::swap(mChunkData.back(), mChunkData[m]);
mChunkData.pop_back();
}
+ markLeaves();
return chunkToDelete.size() > 0;
}
@@ -1688,7 +1689,10 @@ void FractureToolImpl::finalizeFracturing()
std::swap(mChunkData[badOnes[i]], mChunkData.back());
mChunkData.pop_back();
}
- fitAllUvToRect(1.0f, newChunkMask);
+ if (!mChunkPostprocessors.empty()) // Failsafe to prevent infinite loop (leading to stack overflow)
+ {
+ fitAllUvToRect(1.0f, newChunkMask);
+ }
}
uint32_t FractureToolImpl::getChunkCount() const
@@ -1750,13 +1754,26 @@ uint32_t FractureToolImpl::updateBaseMesh(int32_t chunkIndex, Triangle* output)
float getVolume(std::vector<Triangle>& triangles)
{
+ if (triangles.size() == 0)
+ {
+ return 0.0f;
+ }
+
+ // Find an approximate centroid for a more accurate calculation
+ NvcVec3 centroid = { 0.0f, 0.0f, 0.0f };
+ for (size_t i = 0; i < triangles.size(); ++i)
+ {
+ centroid = centroid + triangles[i].a.p + triangles[i].b.p + triangles[i].c.p;
+ }
+ centroid = centroid / (3 * triangles.size());
+
float volume = 0.0f;
- for (uint32_t i = 0; i < triangles.size(); ++i)
+ for (size_t i = 0; i < triangles.size(); ++i)
{
- NvcVec3& a = triangles[i].a.p;
- NvcVec3& b = triangles[i].b.p;
- NvcVec3& c = triangles[i].c.p;
+ const NvcVec3 a = triangles[i].a.p - centroid;
+ const NvcVec3 b = triangles[i].b.p - centroid;
+ const NvcVec3 c = triangles[i].c.p - centroid;
volume +=
(a.x * b.y * c.z - a.x * b.z * c.y - a.y * b.x * c.z + a.y * b.z * c.x + a.z * b.x * c.y - a.z * b.y * c.x);
}
@@ -1988,19 +2005,19 @@ int32_t FractureToolImpl::islandDetectionAndRemoving(int32_t chunkId, bool creat
}
else
{
- mChunkData[chunkIndex].isLeaf = false;
deleteChunkSubhierarchy(chunkId);
for (int32_t i = 0; i < cComp; ++i)
{
uint32_t nc = createNewChunk(chunkId);
mChunkData[nc].isLeaf = true;
- mChunkData[nc].flags = ChunkInfo::CREATED_BY_ISLAND_DETECTOR;
+ mChunkData[nc].flags = ChunkInfo::APPROXIMATE_BONDING;
mChunkData[nc].meshData = new MeshImpl(compVertices[i].data(), compEdges[i].data(), compFacets[i].data(),
static_cast<uint32_t>(compVertices[i].size()),
static_cast<uint32_t>(compEdges[i].size()),
static_cast<uint32_t>(compFacets[i].size()));
}
- }
+ mChunkData[chunkIndex].isLeaf = false;
+ }
return cComp;
}
return 0;
@@ -2110,7 +2127,12 @@ uint32_t FractureToolImpl::stretchGroup(const std::vector<uint32_t>& grp, std::v
}
offsetEdges = nEdges.size();
offsetVertices = nVertices.size();
- }
+
+ if (mChunkData[grp[i]].flags & ChunkInfo::APPROXIMATE_BONDING)
+ {
+ mChunkData[newChunkIndex].flags |= ChunkInfo::APPROXIMATE_BONDING;
+ }
+ }
std::vector<Facet> finalFacets;
std::set<int64_t> hasCutting;
for (uint32_t i = 0; i < nFacets.size(); ++i)
@@ -2129,6 +2151,7 @@ uint32_t FractureToolImpl::stretchGroup(const std::vector<uint32_t>& grp, std::v
mChunkData[newChunkIndex].meshData =
new MeshImpl(nVertices.data(), nEdges.data(), finalFacets.data(), static_cast<uint32_t>(nVertices.size()),
static_cast<uint32_t>(nEdges.size()), static_cast<uint32_t>(finalFacets.size()));
+
return newChunkIndex;
}
@@ -2254,6 +2277,22 @@ void FractureToolImpl::fitAllUvToRect(float side, std::set<uint32_t>& mask)
}
}
+void FractureToolImpl::markLeaves()
+{
+ for (ChunkInfo& info : mChunkData)
+ {
+ info.isLeaf = true;
+ }
+
+ for (ChunkInfo& info : mChunkData)
+ {
+ const int32_t index = getChunkIndex(info.parent);
+ if (index >= 0)
+ {
+ mChunkData[index].isLeaf = false;
+ }
+ }
+}
void FractureToolImpl::rebuildAdjGraph(const std::vector<uint32_t>& chunks, const NvcVec2i* adjChunks,
uint32_t adjChunksSize, std::vector<std::vector<uint32_t> >& chunkGraph)
@@ -2570,5 +2609,24 @@ void FractureToolImpl::uniteChunks(uint32_t threshold, uint32_t targetClusterSiz
}
}
+bool FractureToolImpl::setApproximateBonding(uint32_t chunkIndex, bool useApproximateBonding)
+{
+ if ((size_t)chunkIndex >= mChunkData.size())
+ {
+ return false;
+ }
+
+ if (useApproximateBonding)
+ {
+ mChunkData[chunkIndex].flags |= (uint32_t)ChunkInfo::APPROXIMATE_BONDING;
+ }
+ else
+ {
+ mChunkData[chunkIndex].flags &= ~(uint32_t)ChunkInfo::APPROXIMATE_BONDING;
+ }
+
+ return true;
+}
+
} // namespace Blast
} // namespace Nv
diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h
index 9e4d41e..153e43c 100755
--- a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h
+++ b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.h
@@ -380,6 +380,7 @@ public:
const NvcVec2i* adjChunks, uint32_t adjChunksSize,
bool removeOriginalChunks = false) override;
+ bool setApproximateBonding(uint32_t chunkId, bool useApproximateBonding) override;
/**
Rescale interior uv coordinates of given chunk to fit square of given size.
@@ -403,6 +404,7 @@ private:
void rebuildAdjGraph(const std::vector<uint32_t>& chunksToRebuild, const NvcVec2i* adjChunks, uint32_t adjChunksSize,
std::vector<std::vector<uint32_t> >& chunkGraph);
void fitAllUvToRect(float side, std::set<uint32_t>& mask);
+ void markLeaves();
/**
Returns newly created chunk index in mChunkData.
diff --git a/sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h b/sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h
index 4a0fbd0..79bbe3a 100644
--- a/sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h
+++ b/sdk/extensions/authoringCommon/source/NvBlastExtAuthoringInternalCommon.h
@@ -29,6 +29,7 @@
#ifndef NVBLASTINTERNALCOMMON_H
#define NVBLASTINTERNALCOMMON_H
#include "NvBlastExtAuthoringTypes.h"
+#include "NvBlastPxSharedHelpers.h"
#include <PxVec2.h>
#include <PxVec3.h>
#include <PxPlane.h>
@@ -275,6 +276,47 @@ struct VrtPositionComparator
};
};
+
+NV_INLINE float calculateCollisionHullVolume(const CollisionHull& hull)
+{
+ if (hull.pointsCount == 0)
+ {
+ return 0.0f;
+ }
+
+ // Find an approximate centroid for a more accurate calculation
+ NvcVec3 centroid = { 0.0f, 0.0f, 0.0f };
+ for (uint32_t i = 0; i < hull.pointsCount; ++i)
+ {
+ centroid = centroid + hull.points[i];
+ }
+ centroid = centroid / hull.pointsCount;
+
+ float volume = 0.0f;
+
+ for (uint32_t i = 0; i < hull.polygonDataCount; ++i)
+ {
+ const HullPolygon& poly = hull.polygonData[i];
+ if (poly.vertexCount < 3)
+ {
+ continue;
+ }
+ const uint32_t i0 = hull.indices[poly.indexBase];
+ uint32_t i1 = hull.indices[poly.indexBase + 1];
+ for (uint32_t j = 2; j < poly.vertexCount; ++j)
+ {
+ const uint32_t i2 = hull.indices[poly.indexBase + j];
+ const NvcVec3 a = hull.points[i0] - centroid;
+ const NvcVec3 b = hull.points[i1] - centroid;
+ const NvcVec3 c = hull.points[i2] - centroid;
+ volume +=
+ (a.x * b.y * c.z - a.x * b.z * c.y - a.y * b.x * c.z + a.y * b.z * c.x + a.z * b.x * c.y - a.z * b.y * c.x);
+ i1 = i2;
+ }
+ }
+ return (1.0f / 6.0f) * std::abs(volume);
+}
+
} // namespace Blast
} // namespace Nv
diff --git a/sdk/lowlevel/include/NvBlast.h b/sdk/lowlevel/include/NvBlast.h
index 4b777cb..22d7253 100755
--- a/sdk/lowlevel/include/NvBlast.h
+++ b/sdk/lowlevel/include/NvBlast.h
@@ -325,7 +325,7 @@ Iff chunks are already ordered correctly, function returns 'true' and identity c
\param[out] chunkReorderMap User-supplied map of size chunkCount to fill. For every chunk index this array will contain new chunk position (index).
\param[in] chunkDescs Array of chunk descriptors of size chunkCount.
\param[in] chunkCount The number of chunk descriptors.
-\param[in] scratch User-supplied scratch storage, must point to 2 * chunkCount * sizeof(uint32_t) valid bytes of memory.
+\param[in] scratch User-supplied scratch storage, must point to 3 * chunkCount * sizeof(uint32_t) valid bytes of memory.
\param[in] logFn User-supplied message function (see NvBlastLog definition). May be NULL.
\return true iff the chunks did not require reordering (chunkReorderMap is the identity map).
diff --git a/sdk/lowlevel/source/NvBlastAsset.cpp b/sdk/lowlevel/source/NvBlastAsset.cpp
index c82fa29..553599d 100755
--- a/sdk/lowlevel/source/NvBlastAsset.cpp
+++ b/sdk/lowlevel/source/NvBlastAsset.cpp
@@ -777,42 +777,48 @@ bool Asset::ensureExactSupportCoverage(uint32_t& supportChunkCount, uint32_t& le
bool Asset::testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc* chunkDescs, const char* chunkAnnotation, void* scratch)
{
- char* chunkMarks = static_cast<char*>(memset(scratch, 0, chunkCount));
-
- uint32_t currentParentChunkIndex = invalidIndex<uint32_t>();
- for (uint32_t i = 0; i < chunkCount; ++i)
- {
- const uint32_t parentChunkIndex = chunkDescs[i].parentChunkIndex;
- if (parentChunkIndex != currentParentChunkIndex)
- {
- if (!isInvalidIndex(currentParentChunkIndex))
- {
- chunkMarks[currentParentChunkIndex] = 1;
- }
- currentParentChunkIndex = parentChunkIndex;
- if (isInvalidIndex(currentParentChunkIndex))
- {
- return false;
- }
- else if (chunkMarks[currentParentChunkIndex] != 0)
- {
- return false;
- }
- }
-
- if (i < chunkCount - 1)
- {
- const bool upperSupport0 = (chunkAnnotation[i] & ChunkAnnotation::UpperSupport) != 0;
- const bool upperSupport1 = (chunkAnnotation[i + 1] & ChunkAnnotation::UpperSupport) != 0;
-
- if (!upperSupport0 && upperSupport1)
- {
- return false;
- }
- }
- }
-
- return true;
+ char* chunkMarks = static_cast<char*>(memset(scratch, 0, chunkCount));
+
+ uint32_t currentParentChunkIndex = invalidIndex<uint32_t>();
+ for (uint32_t i = 0; i < chunkCount; ++i)
+ {
+ const uint32_t parentChunkIndex = chunkDescs[i].parentChunkIndex;
+
+ if (!isInvalidIndex(parentChunkIndex) && parentChunkIndex >= i) // 'chunks should come after their parents'
+ {
+ return false;
+ }
+
+ if (parentChunkIndex != currentParentChunkIndex)
+ {
+ if (!isInvalidIndex(currentParentChunkIndex))
+ {
+ chunkMarks[currentParentChunkIndex] = 1;
+ }
+ currentParentChunkIndex = parentChunkIndex;
+ if (isInvalidIndex(currentParentChunkIndex)) // 'root chunks should go first'
+ {
+ return false;
+ }
+ else if (chunkMarks[currentParentChunkIndex] != 0) // 'all chunks with same parent index should go in a row'
+ {
+ return false;
+ }
+ }
+
+ if (i < chunkCount - 1)
+ {
+ const bool upperSupport0 = (chunkAnnotation[i] & ChunkAnnotation::UpperSupport) != 0;
+ const bool upperSupport1 = (chunkAnnotation[i + 1] & ChunkAnnotation::UpperSupport) != 0;
+
+ if (!upperSupport0 && upperSupport1) // 'upper-support chunks should come before subsupport chunks'
+ {
+ return false;
+ }
+ }
+ }
+
+ return true;
}
} // namespace Blast
diff --git a/sdk/lowlevel/source/NvBlastAsset.h b/sdk/lowlevel/source/NvBlastAsset.h
index 7113517..8ed3c57 100755
--- a/sdk/lowlevel/source/NvBlastAsset.h
+++ b/sdk/lowlevel/source/NvBlastAsset.h
@@ -156,21 +156,22 @@ public:
static bool ensureExactSupportCoverage(uint32_t& supportChunkCount, uint32_t& leafChunkCount, char* chunkAnnotation, uint32_t chunkCount, NvBlastChunkDesc* chunkDescs, bool testOnly, NvBlastLog logFn);
/**
- Tests a set of chunk descriptors to see if chunks are in valid chunk order.
-
- Chunk order conditions checked:
- 1. 'all chunks with same parent index should go in a row'.
- 2. 'root chunks should go first'.
- 3. 'upper-support chunks should come before subsupport chunks'.
-
- \param[in] chunkCount The number of chunk descriptors.
- \param[in] chunkDescs An array of chunk descriptors of length chunkCount.
- \param[in] chunkAnnotation Annotation generated from ensureExactSupportCoverage (see ensureExactSupportCoverage).
- \param[in] scratch User-supplied scratch memory of chunkCount bytes.
-
- \return true if the descriptors meet the ordering conditions, false otherwise.
- */
- static bool testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc* chunkDescs, const char* chunkAnnotation, void* scratch);
+ Tests a set of chunk descriptors to see if chunks are in valid chunk order.
+
+ Chunk order conditions checked:
+ 1. 'all chunks with same parent index should go in a row'.
+ 2. 'chunks should come after their parents'.
+ 3. 'root chunks should go first'.
+ 4. 'upper-support chunks should come before subsupport chunks'.
+
+ \param[in] chunkCount The number of chunk descriptors.
+ \param[in] chunkDescs An array of chunk descriptors of length chunkCount.
+ \param[in] chunkAnnotation Annotation generated from ensureExactSupportCoverage (see ensureExactSupportCoverage).
+ \param[in] scratch User-supplied scratch memory of chunkCount bytes.
+
+ \return true if the descriptors meet the ordering conditions, false otherwise.
+ */
+ static bool testForValidChunkOrder(uint32_t chunkCount, const NvBlastChunkDesc* chunkDescs, const char* chunkAnnotation, void* scratch);
//////// Data ////////
diff --git a/sdk/lowlevel/source/NvBlastAssetHelper.cpp b/sdk/lowlevel/source/NvBlastAssetHelper.cpp
index 1c8b7bd..9930bad 100755
--- a/sdk/lowlevel/source/NvBlastAssetHelper.cpp
+++ b/sdk/lowlevel/source/NvBlastAssetHelper.cpp
@@ -47,28 +47,49 @@ Class to hold chunk descriptor and annotation context for sorting a list of indi
class ChunksOrdered
{
public:
- ChunksOrdered(const NvBlastChunkDesc* descs, const char* annotation) : m_descs(descs), m_annotation(annotation) {}
-
- bool operator () (uint32_t i0, uint32_t i1) const
- {
- const bool upperSupport0 = (m_annotation[i0] & Asset::ChunkAnnotation::UpperSupport) != 0;
- const bool upperSupport1 = (m_annotation[i1] & Asset::ChunkAnnotation::UpperSupport) != 0;
-
- if (upperSupport0 != upperSupport1)
- {
- return upperSupport0; // If one is uppersupport and one is subsupport, uppersupport should come first
- }
-
- // Parent chunk index (+1 so that UINT32_MAX becomes the lowest value)
- const uint32_t p0 = m_descs[i0].parentChunkIndex + 1;
- const uint32_t p1 = m_descs[i1].parentChunkIndex + 1;
-
- return p0 < p1; // With the same support relationship, order by parent index
- }
+ ChunksOrdered(const NvBlastChunkDesc* descs, const char* annotation)
+ : m_descs(descs), m_annotation(annotation), m_chunkMap(nullptr), m_chunkInvMap(nullptr) {}
+
+ // Map and inverse to apply to chunk descs
+ bool setMap(const uint32_t* map, const uint32_t* inv)
+ {
+ if ((map == nullptr) != (inv == nullptr))
+ {
+ return false;
+ }
+ m_chunkMap = map;
+ m_chunkInvMap = inv;
+ return true;
+ }
+
+ bool operator () (uint32_t ii0, uint32_t ii1) const
+ {
+ const uint32_t i0 = m_chunkMap ? m_chunkMap[ii0] : ii0;
+ const uint32_t i1 = m_chunkMap ? m_chunkMap[ii1] : ii1;
+
+ const bool upperSupport0 = (m_annotation[i0] & Asset::ChunkAnnotation::UpperSupport) != 0;
+ const bool upperSupport1 = (m_annotation[i1] & Asset::ChunkAnnotation::UpperSupport) != 0;
+
+ if (upperSupport0 != upperSupport1)
+ {
+ return upperSupport0; // If one is uppersupport and one is subsupport, uppersupport should come first
+ }
+
+ const uint32_t p0 = m_descs[i0].parentChunkIndex;
+ const uint32_t p1 = m_descs[i1].parentChunkIndex;
+
+ // Parent chunk index (+1 so that UINT32_MAX becomes the lowest value)
+ const uint32_t pp0 = 1 + (m_chunkInvMap && !isInvalidIndex(p0) ? m_chunkInvMap[p0] : p0);
+ const uint32_t pp1 = 1 + (m_chunkInvMap && !isInvalidIndex(p1) ? m_chunkInvMap[p1] : p1);
+
+ return pp0 < pp1; // With the same support relationship, order by parent index
+ }
private:
- const NvBlastChunkDesc* m_descs;
- const char* m_annotation;
+ const NvBlastChunkDesc* m_descs;
+ const char* m_annotation;
+ const uint32_t* m_chunkMap;
+ const uint32_t* m_chunkInvMap;
};
} // namespace Blast
@@ -86,6 +107,7 @@ bool NvBlastBuildAssetDescChunkReorderMap(uint32_t* chunkReorderMap, const NvBla
NVBLASTLL_CHECK(chunkReorderMap == nullptr || chunkCount != 0, logFn, "NvBlastBuildAssetDescChunkReorderMap: NULL chunkReorderMap input with non-zero chunkCount", return false);
NVBLASTLL_CHECK(chunkCount == 0 || scratch != nullptr, logFn, "NvBlastBuildAssetDescChunkReorderMap: NULL scratch input with non-zero chunkCount", return false);
+ uint32_t* composedMap = static_cast<uint32_t*>(scratch); scratch = pointerOffset(scratch, chunkCount * sizeof(uint32_t));
uint32_t* chunkMap = static_cast<uint32_t*>(scratch); scratch = pointerOffset(scratch, chunkCount * sizeof(uint32_t));
char* chunkAnnotation = static_cast<char*>(scratch); scratch = pointerOffset(scratch, chunkCount * sizeof(char));
@@ -97,24 +119,65 @@ bool NvBlastBuildAssetDescChunkReorderMap(uint32_t* chunkReorderMap, const NvBla
return false;
}
- // check order for fast out (identity map)
- if (Asset::testForValidChunkOrder(chunkCount, chunkDescs, chunkAnnotation, scratch))
- {
- for (uint32_t i = 0; i < chunkCount; ++i)
- {
- chunkReorderMap[i] = i;
- }
-
- return true;
- }
-
- for (uint32_t i = 0; i < chunkCount; ++i)
- {
- chunkMap[i] = i;
- }
- std::sort(chunkMap, chunkMap + chunkCount, ChunksOrdered(chunkDescs, chunkAnnotation));
-
- invertMap(chunkReorderMap, chunkMap, chunkCount);
+ // Initialize composedMap and its inverse to identity
+ for (uint32_t i = 0; i < chunkCount; ++i)
+ {
+ composedMap[i] = i;
+ chunkReorderMap[i] = i;
+ }
+
+ // Create a chunk ordering operator using the composedMap
+ ChunksOrdered chunksOrdered(chunkDescs, chunkAnnotation);
+ chunksOrdered.setMap(composedMap, chunkReorderMap);
+
+ // Check initial order
+ bool ordered = true;
+ if (chunkCount > 1)
+ {
+ for (uint32_t i = chunkCount - 1; ordered && i--;)
+ {
+ ordered = !chunksOrdered(i + 1, i);
+ }
+ }
+ if (ordered)
+ {
+ return true; // Initially ordered, return true
+ }
+
+ NVBLAST_ASSERT(chunkCount > 1);
+
+ // Max depth is bounded by chunkCount, so that is the vound on the number of iterations
+ uint32_t iter = chunkCount;
+ do
+ {
+ // Reorder based on current composed map
+ for (uint32_t i = 0; i < chunkCount; ++i)
+ {
+ chunkMap[i] = i;
+ }
+ std::stable_sort(chunkMap, chunkMap + chunkCount, chunksOrdered);
+
+ // Fold chunkMap into composedMap
+ for (uint32_t i = 0; i < chunkCount; ++i)
+ {
+ chunkMap[i] = composedMap[chunkMap[i]];
+ }
+ for (uint32_t i = 0; i < chunkCount; ++i)
+ {
+ composedMap[i] = chunkMap[i];
+ chunkMap[i] = i;
+ }
+ invertMap(chunkReorderMap, composedMap, chunkCount);
+
+ // Check order
+ ordered = true;
+ for (uint32_t i = chunkCount - 1; ordered && i--;)
+ {
+ ordered = !chunksOrdered(i + 1, i);
+ }
+ } while (!ordered && iter--);
+
+ NVBLAST_ASSERT(ordered);
return false;
}
diff --git a/test/src/unit/AssetTests.cpp b/test/src/unit/AssetTests.cpp
index 58ea7d1..27df927 100755
--- a/test/src/unit/AssetTests.cpp
+++ b/test/src/unit/AssetTests.cpp
@@ -367,7 +367,7 @@ public:
if (!useTk)
{
std::vector<uint32_t> chunkReorderMap(chunkDescCount);
- std::vector<char> scratch2(2 * chunkDescCount * sizeof(uint32_t));
+ std::vector<char> scratch2(3 * chunkDescCount * sizeof(uint32_t));
const bool isIdentity = NvBlastBuildAssetDescChunkReorderMap(chunkReorderMap.data(), shuffledChunkDescs.data(), chunkDescCount, scratch2.data(), messageLog);
EXPECT_FALSE(isIdentity);
NvBlastApplyAssetDescChunkReorderMap(chunkDescs, shuffledChunkDescs.data(), chunkDescCount, bondDescs, bondDescCount, chunkReorderMap.data(), true, messageLog);