aboutsummaryrefslogtreecommitdiff
path: root/doc/_static
diff options
context:
space:
mode:
Diffstat (limited to 'doc/_static')
-rw-r--r--doc/_static/api/_nv_flex_8h.html242
-rw-r--r--doc/_static/api/_nv_flex_8h_source.html944
-rw-r--r--doc/_static/api/_nv_flex_device_8h.html2
-rw-r--r--doc/_static/api/_nv_flex_device_8h_source.html2
-rw-r--r--doc/_static/api/_nv_flex_ext_8h.html212
-rw-r--r--doc/_static/api/_nv_flex_ext_8h_source.html333
-rw-r--r--doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html2
-rw-r--r--doc/_static/api/files.html2
-rw-r--r--doc/_static/api/globals.html28
-rw-r--r--doc/_static/api/globals_enum.html2
-rw-r--r--doc/_static/api/globals_eval.html5
-rw-r--r--doc/_static/api/globals_func.html25
-rw-r--r--doc/_static/api/globals_type.html2
-rw-r--r--doc/_static/api/index.html2
-rw-r--r--doc/_static/api/struct_nv_flex_solver_callback.html2
-rw-r--r--doc/_static/api/struct_nv_flex_vector.html2
-rw-r--r--doc/_static/application.css94
17 files changed, 1236 insertions, 665 deletions
diff --git a/doc/_static/api/_nv_flex_8h.html b/doc/_static/api/_nv_flex_8h.html
index ca04c36..5ea2d6d 100644
--- a/doc/_static/api/_nv_flex_8h.html
+++ b/doc/_static/api/_nv_flex_8h.html
@@ -125,7 +125,7 @@ Enumerations</h2></td></tr>
<br />
&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154">eNvFlexPhaseFlagsMask</a> = 0x00f00000,
<br />
-&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a> = 0xff000000,
+&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a> = 0x7f000000,
<br />
&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977">eNvFlexPhaseSelfCollide</a> = 1 &lt;&lt; 20,
<br />
@@ -147,9 +147,7 @@ Enumerations</h2></td></tr>
<br />
&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f">eNvFlexPhaseShapeChannel5</a> = 1 &lt;&lt; 29,
<br />
-&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">eNvFlexPhaseShapeChannel6</a> = 1 &lt;&lt; 30,
-<br />
-&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a">eNvFlexPhaseShapeChannel7</a> = 1 &lt;&lt; 31
+&#160;&#160;<a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">eNvFlexPhaseShapeChannel6</a> = 1 &lt;&lt; 30
<br />
}</td></tr>
<tr class="separator:a5ad2a7745fcb4d4afd5b5f1bda074644"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -244,6 +242,8 @@ Functions</h2></td></tr>
<tr class="separator:a9e925acbc34675dfe247da017cbd855f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d755d7b090f7ed5c4c50d2d3fef1558"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558">NvFlexDestroySolver</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver)</td></tr>
<tr class="separator:a1d755d7b090f7ed5c4c50d2d3fef1558"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad53909027df03c6a352746d8ddc088ef"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef">NvFlexGetSolvers</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> **solvers, int n)</td></tr>
+<tr class="separator:ad53909027df03c6a352746d8ddc088ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0d57e4fc2b3b51ec08f7da0a28ff343"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API <a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlexGetSolverLibrary</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver)</td></tr>
<tr class="separator:ae0d57e4fc2b3b51ec08f7da0a28ff343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd6aff58269d6c359df2453c96397840"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840">NvFlexGetSolverDesc</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, <a class="el" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a> *desc)</td></tr>
@@ -298,6 +298,8 @@ Functions</h2></td></tr>
<tr class="separator:afdda5a5210938a1e8a7c3a8218ad468e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb4462803ebff105d151fd45b4efad6"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6">NvFlexDestroyTriangleMesh</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a> mesh)</td></tr>
<tr class="separator:a4cb4462803ebff105d151fd45b4efad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1924ab797971290931b32258b847767"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ab1924ab797971290931b32258b847767">NvFlexGetTriangleMeshes</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a> *meshes, int n)</td></tr>
+<tr class="separator:ab1924ab797971290931b32258b847767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4958c555f0ed65dee54c37af32529356"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356">NvFlexUpdateTriangleMesh</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a> mesh, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *vertices, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *indices, int numVertices, int numTriangles, const float *lower, const float *upper)</td></tr>
<tr class="separator:a4958c555f0ed65dee54c37af32529356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60794d849b4184335e2a0ddec0a9e6a2"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlexGetTriangleMeshBounds</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, const <a class="el" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a> mesh, float *lower, float *upper)</td></tr>
@@ -306,12 +308,16 @@ Functions</h2></td></tr>
<tr class="separator:a5c28caf6d5d513c5adacd4fbc782f308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab11bdd7f778d17af16cefea33265cb65"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65">NvFlexDestroyDistanceField</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a> sdf)</td></tr>
<tr class="separator:ab11bdd7f778d17af16cefea33265cb65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a554d54b930dad17e638ddd30c6dac46f"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f">NvFlexGetDistanceFields</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a> *sdfs, int n)</td></tr>
+<tr class="separator:a554d54b930dad17e638ddd30c6dac46f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a584ffb275b9986fd5444ed1a7ea247d9"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9">NvFlexUpdateDistanceField</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a> sdf, int dimx, int dimy, int dimz, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *field)</td></tr>
<tr class="separator:a584ffb275b9986fd5444ed1a7ea247d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbaafe2b1006352002b03aabaca531cc"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API <a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc">NvFlexCreateConvexMesh</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib)</td></tr>
<tr class="separator:afbaafe2b1006352002b03aabaca531cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85b6372e5c7bfc508ecb7b8c59c72a0"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0">NvFlexDestroyConvexMesh</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a> convex)</td></tr>
<tr class="separator:ac85b6372e5c7bfc508ecb7b8c59c72a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa392608715b2304f06606d498bd69312"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#aa392608715b2304f06606d498bd69312">NvFlexGetConvexMeshes</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a> *meshes, int n)</td></tr>
+<tr class="separator:aa392608715b2304f06606d498bd69312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab452c355f92dda050d4b4dafb8e71b03"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03">NvFlexUpdateConvexMesh</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a> convex, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *planes, int numPlanes, const float *lower, const float *upper)</td></tr>
<tr class="separator:ab452c355f92dda050d4b4dafb8e71b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad56e661161763579afb375b3841eb5ff"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlexGetConvexMeshBounds</a> (<a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *lib, <a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a> mesh, float *lower, float *upper)</td></tr>
@@ -338,8 +344,8 @@ Functions</h2></td></tr>
<tr class="separator:a5a7213593dd9a23d9d67f8517d1da9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7edac9cf450917147b83e98f5cb09f5d"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d">NvFlexGetContacts</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *planes, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *velocities, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *indices, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *counts)</td></tr>
<tr class="separator:a7edac9cf450917147b83e98f5cb09f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade1ef600ada4d7567e515258b289e209"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlexGetNeighbors</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *neighbors, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *counts, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *remap)</td></tr>
-<tr class="separator:ade1ef600ada4d7567e515258b289e209"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbee38b5413bbfd1db914c66fcdfc616"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlexGetNeighbors</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *neighbors, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *counts, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *apiToInternal, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *internalToApi)</td></tr>
+<tr class="separator:abbee38b5413bbfd1db914c66fcdfc616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1eec84a21b1872fba11c9b4cc1d1629"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629">NvFlexGetBounds</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *lower, <a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *upper)</td></tr>
<tr class="separator:ab1eec84a21b1872fba11c9b4cc1d1629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa77d2a4edd4ccd79c9389854dca80613"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613">NvFlexGetDeviceLatency</a> (<a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> *solver, unsigned long long *begin, unsigned long long *end, unsigned long long *frequency)</td></tr>
@@ -926,11 +932,11 @@ computeContext</td>
<td class="fielddoc">
Direct3D context to use for simulation, if none is specified a new context will be created, in DirectX 12 this should be a pointer to the ID3D12CommandQueue where compute operations will take place. </td></tr>
<tr><td class="fieldtype">
-<a class="anchor" id="a77687a448947946483c73f7cc94932c6"></a>bool</td>
+<a class="anchor" id="ad9503e8b23e084c0f940be3dcca9af2e"></a>bool</td>
<td class="fieldname">
-useComputeQueue</td>
+runOnRenderContext</td>
<td class="fielddoc">
-If true, run Flex on a D3D12 compute queue, or vendor specific D3D11 compute queue. This allows compute and graphics to run in parallel on some GPUs. </td></tr>
+If true, run Flex on D3D11 render context, or D3D12 direct queue. If false, run on a D3D12 compute queue, or vendor specific D3D11 compute queue, allowing compute and graphics to run in parallel on some GPUs. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aeeeaf91dad0804d1dd3125e592a3260b"></a><a class="el" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a></td>
<td class="fieldname">
@@ -977,6 +983,12 @@ Maximum number of diffuse particles in the solver. </td></tr>
maxNeighborsPerParticle</td>
<td class="fielddoc">
Maximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may be necessary depending on smoothing radius. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a97d23c69cd4f343be14dedd911605276"></a>int</td>
+<td class="fieldname">
+maxContactsPerParticle</td>
+<td class="fielddoc">
+Maximum number of collision contacts per-particle. </td></tr>
</table>
</div>
@@ -1425,7 +1437,7 @@ time</td>
<p>Bits [20, 23] hold flags about how the particle behave. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038"></a>eNvFlexPhaseShapeChannelMask&#160;</td><td class="fielddoc">
-<p>Bits [24, 31] hold flags representing what shape collision channels particles will collide with, see <a class="el" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags()</a> </p>
+<p>Bits [24, 30] hold flags representing what shape collision channels particles will collide with, see <a class="el" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags()</a> (highest bit reserved for now) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977"></a>eNvFlexPhaseSelfCollide&#160;</td><td class="fielddoc">
<p>If set this particle will interact with particles of the same group. </p>
@@ -1460,9 +1472,6 @@ time</td>
<tr><td class="fieldname"><a class="anchor" id="a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2"></a>eNvFlexPhaseShapeChannel6&#160;</td><td class="fielddoc">
<p>Particle will collide with shapes with channel 6 set (see <a class="el" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags()</a>) </p>
</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a"></a>eNvFlexPhaseShapeChannel7&#160;</td><td class="fielddoc">
-<p>Particle will collide with shapes with channel 7 set (see <a class="el" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags()</a>) </p>
-</td></tr>
</table>
</div>
@@ -1880,6 +1889,48 @@ time</td>
</div>
</div>
+<a class="anchor" id="ad53909027df03c6a352746d8ddc088ef"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API int NvFlexGetSolvers </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *&#160;</td>
+ <td class="paramname"><em>lib</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a> **&#160;</td>
+ <td class="paramname"><em>solvers</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get the list of active solvers in the library If the size of the array is smaller than the number of active solvers, only the first n entries are copied.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lib</td><td>The library instance to use </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">solvers</td><td>Pointer to array </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Size of array </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of active solvers in the library </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="ae0d57e4fc2b3b51ec08f7da0a28ff343"></a>
<div class="memitem">
<div class="memproto">
@@ -2215,7 +2266,7 @@ time</td>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">solver</td><td>A valid solver </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>a buffer of indices at least activeCount in length </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>a buffer of indices at least activeCount in length. Default values are successive numbers from 0 to maxParticles-1 </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>
</table>
</dd>
@@ -3096,6 +3147,48 @@ time</td>
</div>
</div>
+<a class="anchor" id="ab1924ab797971290931b32258b847767"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API int NvFlexGetTriangleMeshes </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *&#160;</td>
+ <td class="paramname"><em>lib</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a> *&#160;</td>
+ <td class="paramname"><em>meshes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get the list of triangle meshes in the library If the size of the array is smaller than the number of triangle meshes, only the first n entries are copied.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lib</td><td>The library instance to use </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">meshes</td><td>Pointer to array </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Size of array </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of triangle meshes in the library </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="a4958c555f0ed65dee54c37af32529356"></a>
<div class="memitem">
<div class="memproto">
@@ -3160,7 +3253,7 @@ time</td>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">lib</td><td>The library instance to use </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mesh</td><td>A triangle mesh created with <a class="el" href="_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e">NvFlexCreateTriangleMesh()</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">vertices</td><td>Pointer to a buffer of float3 vertex positions </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vertices</td><td>Pointer to a buffer of float4 vertex positions </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">indices</td><td>Pointer to a buffer of triangle indices, should be length numTriangles*3 </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numVertices</td><td>The number of vertices in the vertices array </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numTriangles</td><td>The number of triangles in the mesh </td></tr>
@@ -3278,6 +3371,48 @@ time</td>
</div>
</div>
+<a class="anchor" id="a554d54b930dad17e638ddd30c6dac46f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API int NvFlexGetDistanceFields </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *&#160;</td>
+ <td class="paramname"><em>lib</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a> *&#160;</td>
+ <td class="paramname"><em>sdfs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get the list of signed distance fields in the library If the size of the array is smaller than the number of signed distance fields, only the first n entries are copied.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lib</td><td>The library instance to use </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">sdfs</td><td>Pointer to array </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Size of array </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of signed distance fields in the library </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="a584ffb275b9986fd5444ed1a7ea247d9"></a>
<div class="memitem">
<div class="memproto">
@@ -3398,6 +3533,48 @@ time</td>
</div>
</div>
+<a class="anchor" id="aa392608715b2304f06606d498bd69312"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API int NvFlexGetConvexMeshes </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a> *&#160;</td>
+ <td class="paramname"><em>lib</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a> *&#160;</td>
+ <td class="paramname"><em>meshes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get the list of convex meshes in the library If the size of the array is smaller than the number of convex meshes, only the first n entries are copied.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lib</td><td>The library instance to use </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">meshes</td><td>Pointer to array </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Size of array </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of convex meshes in the library </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="ab452c355f92dda050d4b4dafb8e71b03"></a>
<div class="memitem">
<div class="memproto">
@@ -4071,17 +4248,17 @@ time</td>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">solver</td><td>A valid solver </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">planes</td><td>Pointer to a destination buffer containing the contact planes for the particle, each particle can have up to 6 contact planes so this buffer should be 4*6*maxParticles floats in length </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">velocities</td><td>Pointer to a destination buffer containing the velocity of the contact point on the shape in world space, the index of the shape (corresponding to the shape in <a class="el" href="_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa">NvFlexSetShapes()</a> is stored in the w component), each particle can have up to 6 contact planes so this buffer should be 4*6*maxParticles floats in length </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>Pointer to a buffer of indices into the contacts buffer, the first contact plane for the i'th particle is given by planes[indices[i]*sizeof(float)*4*6] and subsequent contact planes for that particle are stored sequentially, this array should be maxParticles in length </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">counts</td><td>Pointer to a buffer of contact counts for each particle (will be &lt;= 6), this buffer should be maxParticles in length </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">planes</td><td>Pointer to a destination buffer containing the contact planes for the particle, each particle can have up to maxContactsPerParticle contact planes (see <a class="el" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a>) so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">velocities</td><td>Pointer to a destination buffer containing the velocity of the contact point on the shape in world space, the index of the shape (corresponding to the shape in <a class="el" href="_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa">NvFlexSetShapes()</a> is stored in the w component), each particle can have up to maxContactsPerParticle contact planes so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>Pointer to a buffer of indices into the contacts buffer, the first contact plane for the i'th particle is given by planes[indices[i]*sizeof(float)*4*maxContactsPerParticle] and subsequent contact planes for that particle are stored sequentially, this array should be maxParticles in length </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">counts</td><td>Pointer to a buffer of contact counts for each particle (will be &lt;= maxContactsPerParticle), this buffer should be maxParticles in length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="ade1ef600ada4d7567e515258b289e209"></a>
+<a class="anchor" id="abbee38b5413bbfd1db914c66fcdfc616"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -4107,7 +4284,13 @@ time</td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *&#160;</td>
- <td class="paramname"><em>remap</em>&#160;</td>
+ <td class="paramname"><em>apiToInternal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a> *&#160;</td>
+ <td class="paramname"><em>internalToApi</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -4117,11 +4300,12 @@ time</td>
</table>
</div><div class="memdoc">
<p>Get the particle neighbor lists, these are stored in a strided format, and can be iterated in the following manner:</p>
-<div class="fragment"><div class="line"><a class="code" href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlexGetNeighbors</a>(solver, neighborsBuffer, countsBuffer, indicesBuffer);</div>
+<div class="fragment"><div class="line"><a class="code" href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlexGetNeighbors</a>(solver, neighborsBuffer, countsBuffer, apiToInternalBuffer, internalToApiBuffer);</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span>* neighbors = (<span class="keywordtype">int</span>*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(neighborsBuffer, 0);</div>
<div class="line"><span class="keywordtype">int</span>* counts = (<span class="keywordtype">int</span>*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(countsBuffer, 0);</div>
-<div class="line"><span class="keywordtype">int</span>* remap = (<span class="keywordtype">int</span>*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(remapBuffer, 0);</div>
+<div class="line"><span class="keywordtype">int</span>* apiToInternal = (<span class="keywordtype">int</span>*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(apiToInternalBuffer, 0);</div>
+<div class="line"><span class="keywordtype">int</span>* internalToApi = (<span class="keywordtype">int</span>*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(internalToApiBuffer, 0);</div>
<div class="line"></div>
<div class="line"><span class="comment">// neighbors are stored in a strided format so that the first neighbor</span></div>
<div class="line"><span class="comment">// of each particle is stored sequentially, then the second, and so on</span></div>
@@ -4131,12 +4315,12 @@ time</td>
<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; maxParticles; ++i)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">// find offset in the neighbors buffer</span></div>
-<div class="line"> <span class="keywordtype">int</span> offset = remap[i];</div>
+<div class="line"> <span class="keywordtype">int</span> offset = apiToInternal[i];</div>
<div class="line"> <span class="keywordtype">int</span> count = counts[offset];</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c &lt; count; ++c)</div>
<div class="line"> {</div>
-<div class="line"> <span class="keywordtype">int</span> neighbor = remap[neighbors[c*stride + offset]];</div>
+<div class="line"> <span class="keywordtype">int</span> neighbor = internalToApi[neighbors[c*stride + offset]];</div>
<div class="line"></div>
<div class="line"> printf(<span class="stringliteral">&quot;Particle %d&#39;s neighbor %d is particle %d\n&quot;</span>, i, c, neighbor);</div>
<div class="line"> }</div>
@@ -4144,13 +4328,15 @@ time</td>
<div class="line"></div>
<div class="line"><a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(neighborsBuffer);</div>
<div class="line"><a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(countsBuffer);</div>
-<div class="line"><a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(remapBuffer);</div>
+<div class="line"><a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(apiToInternalBuffer);</div>
+<div class="line"><a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(internalToApiBuffer);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">solver</td><td>A valid solver </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">neighbors</td><td>Pointer to a destination buffer containing the the neighbors for all particles, this should be maxParticles*maxParticleNeighbors ints (passed to <a class="el" href="_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743">NvFlexInit()</a> in length) </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">counts</td><td>Pointer to a buffer of neighbor counts per-particle, should be maxParticles ints in length </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">remap</td><td>Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an API particle index to it internal index</td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">apiToInternal</td><td>Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an API particle index to it internal index </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">internalToApi</td><td>Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an internal index to an API index</td></tr>
</table>
</dd>
</dl>
@@ -4754,7 +4940,7 @@ time</td>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/_nv_flex_8h_source.html b/doc/_static/api/_nv_flex_8h_source.html
index c4cd011..4ff1d6b 100644
--- a/doc/_static/api/_nv_flex_8h_source.html
+++ b/doc/_static/api/_nv_flex_8h_source.html
@@ -172,7 +172,7 @@
<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="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32"> 162</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32">eNvFlexPhaseGroupMask</a> = 0x000fffff, </div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154"> 163</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154">eNvFlexPhaseFlagsMask</a> = 0x00f00000, </div>
-<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038"> 164</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a> = 0xff000000, </div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038"> 164</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a> = 0x7f000000, </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"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977"> 166</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977">eNvFlexPhaseSelfCollide</a> = 1 &lt;&lt; 20, </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1"> 167</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1">eNvFlexPhaseSelfCollideFilter</a> = 1 &lt;&lt; 21, </div>
@@ -186,605 +186,619 @@
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9"> 175</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9">eNvFlexPhaseShapeChannel4</a> = 1 &lt;&lt; 28, </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f"> 176</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f">eNvFlexPhaseShapeChannel5</a> = 1 &lt;&lt; 29, </div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2"> 177</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">eNvFlexPhaseShapeChannel6</a> = 1 &lt;&lt; 30, </div>
-<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a"> 178</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a">eNvFlexPhaseShapeChannel7</a> = 1 &lt;&lt; 31, </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</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"> 179</span>&#160;</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;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353"> 190</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a>(<span class="keywordtype">int</span> group, <span class="keywordtype">int</span> particleFlags, <span class="keywordtype">int</span> shapeChannels) { <span class="keywordflow">return</span> (group &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32">eNvFlexPhaseGroupMask</a>) | (particleFlags &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154">eNvFlexPhaseFlagsMask</a>) | (shapeChannels &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57"> 195</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57">NvFlexMakePhase</a>(<span class="keywordtype">int</span> group, <span class="keywordtype">int</span> particleFlags) { <span class="keywordflow">return</span> <a class="code" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a>(group, particleFlags, <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353"> 189</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a>(<span class="keywordtype">int</span> group, <span class="keywordtype">int</span> particleFlags, <span class="keywordtype">int</span> shapeChannels) { <span class="keywordflow">return</span> (group &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32">eNvFlexPhaseGroupMask</a>) | (particleFlags &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154">eNvFlexPhaseFlagsMask</a>) | (shapeChannels &amp; <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57"> 194</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57">NvFlexMakePhase</a>(<span class="keywordtype">int</span> group, <span class="keywordtype">int</span> particleFlags) { <span class="keywordflow">return</span> <a class="code" href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a>(group, particleFlags, <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</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="_nv_flex_8h.html"> 201</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a></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"><a class="line" href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6"> 203</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6">predict</a>; </div>
-<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68"> 204</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68">createCellIndices</a>; </div>
-<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695"> 205</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695">sortCellIndices</a>; </div>
-<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3"> 206</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3">createGrid</a>; </div>
-<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af"> 207</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af">reorder</a>; </div>
-<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c"> 208</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c">collideParticles</a>; </div>
-<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8"> 209</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8">collideShapes</a>; </div>
-<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547"> 210</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547">collideTriangles</a>; </div>
-<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e"> 211</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e">collideFields</a>; </div>
-<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707"> 212</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707">calculateDensity</a>; </div>
-<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b"> 213</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b">solveDensities</a>; </div>
-<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d"> 214</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d">solveVelocities</a>; </div>
-<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2"> 215</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2">solveShapes</a>; </div>
-<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78"> 216</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78">solveSprings</a>; </div>
-<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d"> 217</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d">solveContacts</a>; </div>
-<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3"> 218</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3">solveInflatables</a>; </div>
-<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6"> 219</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6">applyDeltas</a>; </div>
-<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57"> 220</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57">calculateAnisotropy</a>; </div>
-<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f"> 221</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f">updateDiffuse</a>; </div>
-<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052"> 222</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052">updateTriangles</a>; </div>
-<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13"> 223</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13">updateNormals</a>; </div>
-<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e"> 224</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e">finalize</a>; </div>
-<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a"> 225</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a">updateBounds</a>; </div>
-<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2"> 226</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2">total</a>; </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;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca"> 232</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</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="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd"> 234</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd">eNvFlexLogError</a> = 0, </div>
-<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f"> 235</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f">eNvFlexLogInfo</a> = 1, </div>
-<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61"> 236</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61">eNvFlexLogWarning</a> = 2, </div>
-<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e"> 237</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e">eNvFlexLogDebug</a> = 4, </div>
-<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e"> 238</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e">eNvFlexLogAll</a> = -1, </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;};</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
-<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9"> 244</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a></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"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff"> 246</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff">eNvFlexStageIterationStart</a>, </div>
-<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69"> 247</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69">eNvFlexStageIterationEnd</a>, </div>
-<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44"> 248</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44">eNvFlexStageSubstepBegin</a>, </div>
-<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586"> 249</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586">eNvFlexStageSubstepEnd</a>, </div>
-<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806"> 250</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806">eNvFlexStageUpdateEnd</a>, </div>
-<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3"> 251</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3">eNvFlexStageCount</a>, </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;};</div>
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 200</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6"> 202</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6">predict</a>; </div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68"> 203</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68">createCellIndices</a>; </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695"> 204</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695">sortCellIndices</a>; </div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3"> 205</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3">createGrid</a>; </div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af"> 206</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af">reorder</a>; </div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c"> 207</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c">collideParticles</a>; </div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8"> 208</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8">collideShapes</a>; </div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547"> 209</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547">collideTriangles</a>; </div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e"> 210</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e">collideFields</a>; </div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707"> 211</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707">calculateDensity</a>; </div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b"> 212</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b">solveDensities</a>; </div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d"> 213</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d">solveVelocities</a>; </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2"> 214</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2">solveShapes</a>; </div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78"> 215</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78">solveSprings</a>; </div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d"> 216</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d">solveContacts</a>; </div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3"> 217</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3">solveInflatables</a>; </div>
+<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6"> 218</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6">applyDeltas</a>; </div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57"> 219</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57">calculateAnisotropy</a>; </div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f"> 220</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f">updateDiffuse</a>; </div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052"> 221</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052">updateTriangles</a>; </div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13"> 222</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13">updateNormals</a>; </div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e"> 223</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e">finalize</a>; </div>
+<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a"> 224</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a">updateBounds</a>; </div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2"> 225</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2">total</a>; </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"> 227</span>&#160;</div>
+<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca"> 231</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</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="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd"> 233</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd">eNvFlexLogError</a> = 0, </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f"> 234</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f">eNvFlexLogInfo</a> = 1, </div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61"> 235</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61">eNvFlexLogWarning</a> = 2, </div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e"> 236</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e">eNvFlexLogDebug</a> = 4, </div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e"> 237</a></span>&#160; <a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e">eNvFlexLogAll</a> = -1, </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;};</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9"> 243</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a></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"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff"> 245</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff">eNvFlexStageIterationStart</a>, </div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69"> 246</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69">eNvFlexStageIterationEnd</a>, </div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44"> 247</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44">eNvFlexStageSubstepBegin</a>, </div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586"> 248</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586">eNvFlexStageSubstepEnd</a>, </div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806"> 249</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806">eNvFlexStageUpdateEnd</a>, </div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3"> 250</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3">eNvFlexStageCount</a>, </div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;};</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</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;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 267</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</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"><a class="line" href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903"> 269</a></span>&#160; <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* <a class="code" href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903">solver</a>; </div>
-<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87"> 270</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87">userData</a>; </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="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609"> 272</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609">particles</a>; </div>
-<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18"> 273</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18">velocities</a>; </div>
-<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44"> 274</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44">phases</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"><a class="line" href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9"> 276</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9">numActive</a>; </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"><a class="line" href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9"> 278</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9">dt</a>; </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="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29"> 280</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29">originalToSortedMap</a>; </div>
-<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8"> 281</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8">sortedToOriginalMap</a>; </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="l00286"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html"> 286</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;{</div>
-<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915"> 289</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915">userData</a>;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; </div>
-<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html#a728134bf4d667b207539d7318e42e92a"> 292</a></span>&#160; void (*<span class="keyword">function</span>)(<a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</a> params);</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;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5"> 298</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a>)(<a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span>* msg, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line);</div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 266</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</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"><a class="line" href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903"> 268</a></span>&#160; <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* <a class="code" href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903">solver</a>; </div>
+<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87"> 269</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87">userData</a>; </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="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609"> 271</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609">particles</a>; </div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18"> 272</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18">velocities</a>; </div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44"> 273</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44">phases</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"><a class="line" href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9"> 275</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9">numActive</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"><a class="line" href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9"> 277</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9">dt</a>; </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"><a class="line" href="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29"> 279</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29">originalToSortedMap</a>; </div>
+<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8"> 280</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8">sortedToOriginalMap</a>; </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="l00285"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html"> 285</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a></div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;{</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915"> 288</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915">userData</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; </div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="struct_nv_flex_solver_callback.html#a728134bf4d667b207539d7318e42e92a"> 291</a></span>&#160; void (*<span class="keyword">function</span>)(<a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</a> params);</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="l00297"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5"> 297</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a>)(<a class="code" href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span>* msg, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line);</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;</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;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252"> 305</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;{</div>
-<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178"> 307</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178">eNvFlexCUDA</a>, </div>
-<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df"> 308</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df">eNvFlexD3D11</a>, </div>
-<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943"> 309</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943">eNvFlexD3D12</a>, </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;};</div>
+<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252"> 304</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a></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"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178"> 306</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178">eNvFlexCUDA</a>, </div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df"> 307</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df">eNvFlexD3D11</a>, </div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943"> 308</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943">eNvFlexD3D12</a>, </div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;};</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;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 315</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a></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"><a class="line" href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e"> 317</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e">deviceIndex</a>; </div>
-<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff"> 318</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff">enableExtensions</a>; </div>
-<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806"> 319</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806">renderDevice</a>; </div>
-<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe"> 320</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe">renderContext</a>; </div>
-<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2"> 321</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2">computeContext</a>; </div>
-<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a77687a448947946483c73f7cc94932c6"> 322</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_8h.html#a77687a448947946483c73f7cc94932c6">useComputeQueue</a>; </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b"> 324</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a> <a class="code" href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b">computeType</a>; </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;};</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* <a class="code" href="_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743">NvFlexInit</a>(<span class="keywordtype">int</span> version = NV_FLEX_VERSION, <a class="code" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a> errorFunc = 0, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a>* desc = 0);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211">NvFlexShutdown</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36">NvFlexGetVersion</a>();</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560"> 354</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;{</div>
-<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d"> 356</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d">eNvFlexFeatureModeDefault</a> = 0, </div>
-<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5"> 357</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5">eNvFlexFeatureModeSimpleSolids</a> = 1, </div>
-<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2"> 358</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2">eNvFlexFeatureModeSimpleFluids</a> = 2, </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;};</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 364</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;{</div>
-<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac"> 366</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a> <a class="code" href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac">featureMode</a>; </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266"> 368</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266">maxParticles</a>; </div>
-<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf"> 369</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf">maxDiffuseParticles</a>; </div>
-<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f"> 370</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f">maxNeighborsPerParticle</a>; </div>
+<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 314</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a></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"><a class="line" href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e"> 316</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e">deviceIndex</a>; </div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff"> 317</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff">enableExtensions</a>; </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806"> 318</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806">renderDevice</a>; </div>
+<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe"> 319</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe">renderContext</a>; </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2"> 320</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2">computeContext</a>; </div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e"> 321</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e">runOnRenderContext</a>; </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"><a class="line" href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b"> 323</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a> <a class="code" href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b">computeType</a>; </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;};</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* <a class="code" href="_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743">NvFlexInit</a>(<span class="keywordtype">int</span> version = NV_FLEX_VERSION, <a class="code" href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a> errorFunc = 0, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a>* desc = 0);</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211">NvFlexShutdown</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36">NvFlexGetVersion</a>();</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;</div>
+<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560"> 353</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a></div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;{</div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d"> 355</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d">eNvFlexFeatureModeDefault</a> = 0, </div>
+<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5"> 356</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5">eNvFlexFeatureModeSimpleSolids</a> = 1, </div>
+<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2"> 357</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2">eNvFlexFeatureModeSimpleFluids</a> = 2, </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;};</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
+<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 363</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a></div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;{</div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac"> 365</a></span>&#160; <a class="code" href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a> <a class="code" href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac">featureMode</a>; </div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div>
+<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266"> 367</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266">maxParticles</a>; </div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf"> 368</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf">maxDiffuseParticles</a>; </div>
+<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f"> 369</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f">maxNeighborsPerParticle</a>; </div>
+<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276"> 370</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276">maxContactsPerParticle</a>; </div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;};</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6">NvFlexSetSolverDescDefaults</a>(<a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a>* desc);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* <a class="code" href="_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f">NvFlexCreateSolver</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a>* desc);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558">NvFlexDestroySolver</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* <a class="code" href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlexGetSolverLibrary</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840">NvFlexGetSolverDesc</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a>* desc);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;NV_FLEX_API <a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a> <a class="code" href="_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08">NvFlexRegisterSolverCallback</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a> <span class="keyword">function</span>, <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a> stage);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c">NvFlexUpdateSolver</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">float</span> dt, <span class="keywordtype">int</span> substeps, <span class="keywordtype">bool</span> enableTimers);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71">NvFlexSetParams</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_params">NvFlexParams</a>* params);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a581b458848039220203547af53de128f">NvFlexGetParams</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_params">NvFlexParams</a>* params);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 500</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;{</div>
-<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678"> 502</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678">srcOffset</a>; <span class="comment">//&lt;! Offset in elements from the start of the source buffer to begin reading from</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f"> 503</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f">dstOffset</a>; <span class="comment">//&lt;! Offset in elements from the start of the destination buffer to being writing to</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889"> 504</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889">elementCount</a>; <span class="comment">//&lt;! Number of elements to copy</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;};</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990">NvFlexSetActive</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6">NvFlexGetActive</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316">NvFlexSetActiveCount</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407">NvFlexGetActiveCount</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633">NvFlexSetParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd">NvFlexGetParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda">NvFlexSetRestParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121">NvFlexGetRestParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb">NvFlexGetSmoothParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f">NvFlexSetVelocities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0">NvFlexGetVelocities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478">NvFlexSetPhases</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* phases, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806">NvFlexGetPhases</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* phases, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058">NvFlexSetNormals</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7">NvFlexGetNormals</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9">NvFlexSetSprings</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restLengths, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <span class="keywordtype">int</span> numSprings);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184">NvFlexGetSprings</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restLengths, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <span class="keywordtype">int</span> numSprings);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9">NvFlexSetRigids</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* offsets, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restNormals, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* thresholds, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* creeps, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* rotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* translations, <span class="keywordtype">int</span> numRigids, <span class="keywordtype">int</span> numIndices);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e">NvFlexGetRigids</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* offsets, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restNormals, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* thresholds, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* creeps, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* rotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* translations);</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0"> 718</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a>;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade"> 723</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a>;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586"> 730</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558">NvFlexDestroySolver</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef">NvFlexGetSolvers</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>** solvers, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* <a class="code" href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlexGetSolverLibrary</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840">NvFlexGetSolverDesc</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a>* desc);</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;NV_FLEX_API <a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a> <a class="code" href="_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08">NvFlexRegisterSolverCallback</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a> <span class="keyword">function</span>, <a class="code" href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a> stage);</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c">NvFlexUpdateSolver</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">float</span> dt, <span class="keywordtype">int</span> substeps, <span class="keywordtype">bool</span> enableTimers);</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71">NvFlexSetParams</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_params">NvFlexParams</a>* params);</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a581b458848039220203547af53de128f">NvFlexGetParams</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_params">NvFlexParams</a>* params);</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;</div>
+<div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 512</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a></div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678"> 514</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678">srcOffset</a>; <span class="comment">//&lt;! Offset in elements from the start of the source buffer to begin reading from</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f"> 515</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f">dstOffset</a>; <span class="comment">//&lt;! Offset in elements from the start of the destination buffer to being writing to</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889"> 516</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889">elementCount</a>; <span class="comment">//&lt;! Number of elements to copy</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;};</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990">NvFlexSetActive</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6">NvFlexGetActive</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316">NvFlexSetActiveCount</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407">NvFlexGetActiveCount</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633">NvFlexSetParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd">NvFlexGetParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda">NvFlexSetRestParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121">NvFlexGetRestParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb">NvFlexGetSmoothParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f">NvFlexSetVelocities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0">NvFlexGetVelocities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;</div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478">NvFlexSetPhases</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* phases, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806">NvFlexGetPhases</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* phases, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058">NvFlexSetNormals</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7">NvFlexGetNormals</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9">NvFlexSetSprings</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restLengths, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <span class="keywordtype">int</span> numSprings);</div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184">NvFlexGetSprings</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restLengths, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <span class="keywordtype">int</span> numSprings);</div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9">NvFlexSetRigids</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* offsets, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restNormals, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* thresholds, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* creeps, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* rotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* translations, <span class="keywordtype">int</span> numRigids, <span class="keywordtype">int</span> numIndices);</div>
+<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;</div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e">NvFlexGetRigids</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* offsets, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restNormals, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* stiffness, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* thresholds, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* creeps, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* rotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* translations);</div>
+<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0"> 730</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a>;</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;NV_FLEX_API NvFlexTriangleMeshId <a class="code" href="_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e">NvFlexCreateTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6">NvFlexDestroyTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh);</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356">NvFlexUpdateTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* vertices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keywordtype">int</span> numVertices, <span class="keywordtype">int</span> numTriangles, <span class="keyword">const</span> <span class="keywordtype">float</span>* lower, <span class="keyword">const</span> <span class="keywordtype">float</span>* upper);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlexGetTriangleMeshBounds</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keyword">const</span> NvFlexTriangleMeshId mesh, <span class="keywordtype">float</span>* lower, <span class="keywordtype">float</span>* upper);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;NV_FLEX_API NvFlexDistanceFieldId <a class="code" href="_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308">NvFlexCreateDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65">NvFlexDestroyDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9">NvFlexUpdateDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf, <span class="keywordtype">int</span> dimx, <span class="keywordtype">int</span> dimy, <span class="keywordtype">int</span> dimz, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* field);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;NV_FLEX_API NvFlexConvexMeshId <a class="code" href="_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc">NvFlexCreateConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0">NvFlexDestroyConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03">NvFlexUpdateConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* planes, <span class="keywordtype">int</span> numPlanes, <span class="keyword">const</span> <span class="keywordtype">float</span>* lower, <span class="keyword">const</span> <span class="keywordtype">float</span>* upper);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlexGetConvexMeshBounds</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId mesh, <span class="keywordtype">float</span>* lower, <span class="keywordtype">float</span>* upper);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 843</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a></div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;{</div>
-<div class="line"><a name="l00845"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84"> 845</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84">radius</a>;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;};</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 851</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div>
-<div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8"> 853</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8">radius</a>;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9"> 854</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9">halfHeight</a>;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;};</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 860</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;{</div>
-<div class="line"><a name="l00862"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c"> 862</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c">halfExtents</a>[3];</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;};</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;</div>
-<div class="line"><a name="l00868"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 868</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a></div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;{</div>
-<div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9"> 870</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9">scale</a>[3];</div>
-<div class="line"><a name="l00871"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186"> 871</a></span>&#160; NvFlexConvexMeshId <a class="code" href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186">mesh</a>;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;};</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 877</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;{</div>
-<div class="line"><a name="l00879"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794"> 879</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794">scale</a>[3]; </div>
-<div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c"> 880</a></span>&#160; NvFlexTriangleMeshId <a class="code" href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c">mesh</a>; </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;};</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 887</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;{</div>
-<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78"> 889</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78">scale</a>; </div>
-<div class="line"><a name="l00890"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c"> 890</a></span>&#160; NvFlexDistanceFieldId <a class="code" href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c">field</a>; </div>
+<div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade"> 735</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a>;</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;</div>
+<div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586"> 742</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a>;</div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;NV_FLEX_API NvFlexTriangleMeshId <a class="code" href="_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e">NvFlexCreateTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6">NvFlexDestroyTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh);</div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;</div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ab1924ab797971290931b32258b847767">NvFlexGetTriangleMeshes</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId* meshes, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;</div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356">NvFlexUpdateTriangleMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* vertices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <span class="keywordtype">int</span> numVertices, <span class="keywordtype">int</span> numTriangles, <span class="keyword">const</span> <span class="keywordtype">float</span>* lower, <span class="keyword">const</span> <span class="keywordtype">float</span>* upper);</div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;</div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlexGetTriangleMeshBounds</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keyword">const</span> NvFlexTriangleMeshId mesh, <span class="keywordtype">float</span>* lower, <span class="keywordtype">float</span>* upper);</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;NV_FLEX_API NvFlexDistanceFieldId <a class="code" href="_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308">NvFlexCreateDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65">NvFlexDestroyDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf);</div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;</div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f">NvFlexGetDistanceFields</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId* sdfs, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;</div>
+<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9">NvFlexUpdateDistanceField</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf, <span class="keywordtype">int</span> dimx, <span class="keywordtype">int</span> dimy, <span class="keywordtype">int</span> dimz, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* field);</div>
+<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;</div>
+<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;NV_FLEX_API NvFlexConvexMeshId <a class="code" href="_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc">NvFlexCreateConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;</div>
+<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0">NvFlexDestroyConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex);</div>
+<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;</div>
+<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#aa392608715b2304f06606d498bd69312">NvFlexGetConvexMeshes</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId* meshes, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div>
+<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03">NvFlexUpdateConvexMesh</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* planes, <span class="keywordtype">int</span> numPlanes, <span class="keyword">const</span> <span class="keywordtype">float</span>* lower, <span class="keyword">const</span> <span class="keywordtype">float</span>* upper);</div>
+<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlexGetConvexMeshBounds</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, NvFlexConvexMeshId mesh, <span class="keywordtype">float</span>* lower, <span class="keywordtype">float</span>* upper);</div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;</div>
+<div class="line"><a name="l00888"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 888</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a></div>
+<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;{</div>
+<div class="line"><a name="l00890"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84"> 890</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84">radius</a>;</div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;};</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;</div>
-<div class="line"><a name="l00897"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 897</a></span>&#160;<span class="keyword">union </span><a class="code" href="_nv_flex_8h.html#union_nv_flex_collision_geometry">NvFlexCollisionGeometry</a></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
-<div class="line"><a name="l00899"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb"> 899</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a> <a class="code" href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb">sphere</a>;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1"> 900</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a> <a class="code" href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1">capsule</a>;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf"> 901</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a> <a class="code" href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf">box</a>;</div>
-<div class="line"><a name="l00902"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2"> 902</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a> <a class="code" href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2">convexMesh</a>;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6"> 903</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a> <a class="code" href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6">triMesh</a>;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd"> 904</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a> <a class="code" href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd">sdf</a>;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;};</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba"> 907</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;{</div>
-<div class="line"><a name="l00909"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3"> 909</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3">eNvFlexShapeSphere</a> = 0, </div>
-<div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a"> 910</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a">eNvFlexShapeCapsule</a> = 1, </div>
-<div class="line"><a name="l00911"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7"> 911</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7">eNvFlexShapeBox</a> = 2, </div>
-<div class="line"><a name="l00912"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce"> 912</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce">eNvFlexShapeConvexMesh</a> = 3, </div>
-<div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1"> 913</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1">eNvFlexShapeTriangleMesh</a> = 4, </div>
-<div class="line"><a name="l00914"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180"> 914</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180">eNvFlexShapeSDF</a> = 5, </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;};</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c"> 917</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c">NvFlexCollisionShapeFlags</a></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;{</div>
-<div class="line"><a name="l00919"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8"> 919</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8">eNvFlexShapeFlagTypeMask</a> = 0x7, </div>
-<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992"> 920</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a> = 0x8, </div>
-<div class="line"><a name="l00921"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8"> 921</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8">eNvFlexShapeFlagTrigger</a> = 0x10, </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; </div>
-<div class="line"><a name="l00923"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9"> 923</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9">eNvFlexShapeFlagReserved</a> = 0xffffff00</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;};</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96"> 933</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a>(<a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a> type, <span class="keywordtype">bool</span> dynamic, <span class="keywordtype">int</span> shapeChannels) { <span class="keywordflow">return</span> type | (dynamic?<a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a>:0) | shapeChannels; }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a"> 938</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags</a>(<a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a> type, <span class="keywordtype">bool</span> dynamic) { <span class="keywordflow">return</span> <a class="code" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a>(type, dynamic, <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa">NvFlexSetShapes</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* geometry, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapeRotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePrevPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePrevRotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapeFlags, <span class="keywordtype">int</span> numShapes);</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4">NvFlexSetDynamicTriangles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keywordtype">int</span> numTris);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5">NvFlexGetDynamicTriangles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keywordtype">int</span> numTris);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50">NvFlexSetInflatables</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* startTris, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* numTris, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restVolumes, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* overPressures, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* constraintScales, <span class="keywordtype">int</span> numInflatables);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82">NvFlexGetDensities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* densities, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550">NvFlexGetAnisotropy</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q1, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q2, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q3, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9">NvFlexGetDiffuseParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* count);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de">NvFlexSetDiffuseParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d">NvFlexGetContacts</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* planes, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* velocities, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* counts);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlexGetNeighbors</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* neighbors, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* counts, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* remap);</div>
+<div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 896</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a></div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;{</div>
+<div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8"> 898</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8">radius</a>;</div>
+<div class="line"><a name="l00899"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9"> 899</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9">halfHeight</a>;</div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;};</div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;</div>
+<div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 905</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a></div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;{</div>
+<div class="line"><a name="l00907"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c"> 907</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c">halfExtents</a>[3];</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;};</div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;</div>
+<div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 913</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a></div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;{</div>
+<div class="line"><a name="l00915"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9"> 915</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9">scale</a>[3];</div>
+<div class="line"><a name="l00916"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186"> 916</a></span>&#160; NvFlexConvexMeshId <a class="code" href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186">mesh</a>;</div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;};</div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div>
+<div class="line"><a name="l00922"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 922</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a></div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;{</div>
+<div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794"> 924</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794">scale</a>[3]; </div>
+<div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c"> 925</a></span>&#160; NvFlexTriangleMeshId <a class="code" href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c">mesh</a>; </div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;};</div>
+<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;</div>
+<div class="line"><a name="l00932"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 932</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a></div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;{</div>
+<div class="line"><a name="l00934"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78"> 934</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78">scale</a>; </div>
+<div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c"> 935</a></span>&#160; NvFlexDistanceFieldId <a class="code" href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c">field</a>; </div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;};</div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;</div>
+<div class="line"><a name="l00942"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 942</a></span>&#160;<span class="keyword">union </span><a class="code" href="_nv_flex_8h.html#union_nv_flex_collision_geometry">NvFlexCollisionGeometry</a></div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;{</div>
+<div class="line"><a name="l00944"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb"> 944</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a> <a class="code" href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb">sphere</a>;</div>
+<div class="line"><a name="l00945"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1"> 945</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a> <a class="code" href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1">capsule</a>;</div>
+<div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf"> 946</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a> <a class="code" href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf">box</a>;</div>
+<div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2"> 947</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a> <a class="code" href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2">convexMesh</a>;</div>
+<div class="line"><a name="l00948"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6"> 948</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a> <a class="code" href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6">triMesh</a>;</div>
+<div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd"> 949</a></span>&#160; <a class="code" href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a> <a class="code" href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd">sdf</a>;</div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;};</div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;</div>
+<div class="line"><a name="l00952"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba"> 952</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a></div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;{</div>
+<div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3"> 954</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3">eNvFlexShapeSphere</a> = 0, </div>
+<div class="line"><a name="l00955"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a"> 955</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a">eNvFlexShapeCapsule</a> = 1, </div>
+<div class="line"><a name="l00956"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7"> 956</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7">eNvFlexShapeBox</a> = 2, </div>
+<div class="line"><a name="l00957"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce"> 957</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce">eNvFlexShapeConvexMesh</a> = 3, </div>
+<div class="line"><a name="l00958"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1"> 958</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1">eNvFlexShapeTriangleMesh</a> = 4, </div>
+<div class="line"><a name="l00959"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180"> 959</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180">eNvFlexShapeSDF</a> = 5, </div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;};</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div>
+<div class="line"><a name="l00962"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c"> 962</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c">NvFlexCollisionShapeFlags</a></div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;{</div>
+<div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8"> 964</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8">eNvFlexShapeFlagTypeMask</a> = 0x7, </div>
+<div class="line"><a name="l00965"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992"> 965</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a> = 0x8, </div>
+<div class="line"><a name="l00966"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8"> 966</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8">eNvFlexShapeFlagTrigger</a> = 0x10, </div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; </div>
+<div class="line"><a name="l00968"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9"> 968</a></span>&#160; <a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9">eNvFlexShapeFlagReserved</a> = 0xffffff00</div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;};</div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;</div>
+<div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96"> 978</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a>(<a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a> type, <span class="keywordtype">bool</span> dynamic, <span class="keywordtype">int</span> shapeChannels) { <span class="keywordflow">return</span> type | (dynamic?<a class="code" href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a>:0) | shapeChannels; }</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;</div>
+<div class="line"><a name="l00983"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a"> 983</a></span>&#160;NV_FLEX_API <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags</a>(<a class="code" href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a> type, <span class="keywordtype">bool</span> dynamic) { <span class="keywordflow">return</span> <a class="code" href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a>(type, dynamic, <a class="code" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a>); }</div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;</div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa">NvFlexSetShapes</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* geometry, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapeRotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePrevPositions, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapePrevRotations, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* shapeFlags, <span class="keywordtype">int</span> numShapes);</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4">NvFlexSetDynamicTriangles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keywordtype">int</span> numTris);</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5">NvFlexGetDynamicTriangles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* normals, <span class="keywordtype">int</span> numTris);</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50">NvFlexSetInflatables</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* startTris, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* numTris, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* restVolumes, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* overPressures, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* constraintScales, <span class="keywordtype">int</span> numInflatables);</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82">NvFlexGetDensities</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* densities, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550">NvFlexGetAnisotropy</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q1, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q2, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* q3, <span class="keyword">const</span> <a class="code" href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a>* desc);</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9">NvFlexGetDiffuseParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* count);</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de">NvFlexSetDiffuseParticles</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* p, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* v, <span class="keywordtype">int</span> n);</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d">NvFlexGetContacts</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* planes, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* velocities, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* indices, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* counts);</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629">NvFlexGetBounds</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* lower, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* upper);</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;NV_FLEX_API <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613">NvFlexGetDeviceLatency</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* end, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* frequency);</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d">NvFlexGetTimers</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a>* timers);</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 1134</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;{ </div>
-<div class="line"><a name="l01136"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4"> 1136</a></span>&#160; <span class="keywordtype">char</span>* <a class="code" href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4">name</a>; </div>
-<div class="line"><a name="l01137"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c"> 1137</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c">time</a>;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;};</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a">NvFlexGetDetailTimers</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a>** timers);</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlexGetNeighbors</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* neighbors, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* counts, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* apiToInternal, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* internalToApi);</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629">NvFlexGetBounds</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* lower, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* upper);</div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride, <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a> type);</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;NV_FLEX_API <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buffer, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buffer);</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e">NvFlexRegisterOGLBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">int</span> buf, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride);</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8">NvFlexUnregisterOGLBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0">NvFlexRegisterD3DBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">void</span>* buffer, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride);</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32">NvFlexUnregisterD3DBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6">NvFlexAcquireContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11">NvFlexRestoreContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;NV_FLEX_API <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada">NvFlexGetDeviceName</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c">NvFlexGetDeviceAndContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">void</span>** device, <span class="keywordtype">void</span>** context);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600">NvFlexFlush</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c">NvFlexWait</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;NV_FLEX_API <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613">NvFlexGetDeviceLatency</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* end, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>* frequency);</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d">NvFlexGetTimers</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a>* timers);</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div>
+<div class="line"><a name="l01182"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html"> 1182</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a></div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;{ </div>
+<div class="line"><a name="l01184"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4"> 1184</a></span>&#160; <span class="keywordtype">char</span>* <a class="code" href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4">name</a>; </div>
+<div class="line"><a name="l01185"></a><span class="lineno"><a class="line" href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c"> 1185</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c">time</a>;</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;};</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a">NvFlexGetDetailTimers</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a>** timers);</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride, <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a> type);</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;NV_FLEX_API <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buffer, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buffer);</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e">NvFlexRegisterOGLBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">int</span> buf, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride);</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8">NvFlexUnregisterOGLBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0">NvFlexRegisterD3DBuffer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">void</span>* buffer, <span class="keywordtype">int</span> elementCount, <span class="keywordtype">int</span> elementByteStride);</div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexSetDebug(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">bool</span> enable);</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexGetShapeBVH(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">void</span>* bvh);</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexCopySolver(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* dst, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* src);</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexCopyDeviceToHost(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* pDevice, <span class="keywordtype">void</span>* pHost, <span class="keywordtype">int</span> size, <span class="keywordtype">int</span> stride);</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexComputeWaitForGraphics(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32">NvFlexUnregisterD3DBuffer</a>(<a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* buf);</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6">NvFlexAcquireContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;} <span class="comment">// extern &quot;C&quot;</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;<span class="preprocessor">#endif // NV_FLEX_H</span></div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11">NvFlexRestoreContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;NV_FLEX_API <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada">NvFlexGetDeviceName</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c">NvFlexGetDeviceAndContext</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">void</span>** device, <span class="keywordtype">void</span>** context);</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600">NvFlexFlush</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c">NvFlexWait</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexSetDebug(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexGetShapeBVH(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">void</span>* bvh);</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexCopySolver(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* dst, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* src);</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexCopyDeviceToHost(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* pDevice, <span class="keywordtype">void</span>* pHost, <span class="keywordtype">int</span> size, <span class="keywordtype">int</span> stride);</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexComputeWaitForGraphics(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib);</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> NvFlexGetDataAftermath(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <span class="keywordtype">void</span>* pDataOut, <span class="keywordtype">void</span>* pStatusOut);</div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;</div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;} <span class="comment">// extern &quot;C&quot;</span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;<span class="preprocessor">#endif // NV_FLEX_H</span></div>
<div class="ttc" id="_nv_flex_8h_html_a2345372dea2ad4f043153a84e7a2c407"><div class="ttname"><a href="_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407">NvFlexGetActiveCount</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetActiveCount(NvFlexSolver *solver)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f">eNvFlexPhaseUnused</a></div><div class="ttdoc">Reserved. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:169</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abdd60b0a83674283d09b4897fdd637a2"><div class="ttname"><a href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2">NvFlexTimers::solveShapes</a></div><div class="ttdeci">float solveShapes</div><div class="ttdoc">Time spent solving rigid body constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:215</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abdd60b0a83674283d09b4897fdd637a2"><div class="ttname"><a href="_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2">NvFlexTimers::solveShapes</a></div><div class="ttdeci">float solveShapes</div><div class="ttdoc">Time spent solving rigid body constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:214</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac5427457488ab3f2de91cf65335dda08"><div class="ttname"><a href="_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08">NvFlexRegisterSolverCallback</a></div><div class="ttdeci">NV_FLEX_API NvFlexSolverCallback NvFlexRegisterSolverCallback(NvFlexSolver *solver, NvFlexSolverCallback function, NvFlexSolverCallbackStage stage)</div></div>
<div class="ttc" id="_nv_flex_8h_html_accc944f0e76ee2e5d67c3f977b150806"><div class="ttname"><a href="_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806">NvFlexGetPhases</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetPhases(NvFlexSolver *solver, NvFlexBuffer *phases, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a7a6e24c01235abc364ed12570ab15f84"><div class="ttname"><a href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84">NvFlexSphereGeometry::radius</a></div><div class="ttdeci">float radius</div><div class="ttdef"><b>Definition:</b> NvFlex.h:845</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61">eNvFlexLogWarning</a></div><div class="ttdoc">Warning messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:236</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a57e4d27b0aa8774e479fa66d65079f78"><div class="ttname"><a href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78">NvFlexTimers::solveSprings</a></div><div class="ttdeci">float solveSprings</div><div class="ttdoc">Time spent solving distance constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:216</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a7a6e24c01235abc364ed12570ab15f84"><div class="ttname"><a href="_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84">NvFlexSphereGeometry::radius</a></div><div class="ttdeci">float radius</div><div class="ttdef"><b>Definition:</b> NvFlex.h:890</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61">eNvFlexLogWarning</a></div><div class="ttdoc">Warning messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:235</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a57e4d27b0aa8774e479fa66d65079f78"><div class="ttname"><a href="_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78">NvFlexTimers::solveSprings</a></div><div class="ttdeci">float solveSprings</div><div class="ttdoc">Time spent solving distance constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:215</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16c"><div class="ttname"><a href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c">NvFlexMapFlags</a></div><div class="ttdeci">NvFlexMapFlags</div><div class="ttdef"><b>Definition:</b> NvFlex.h:67</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a39ab69ac3fbde631b71f59f5bbbf1bdf"><div class="ttname"><a href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf">NvFlexSolverDesc::maxDiffuseParticles</a></div><div class="ttdeci">int maxDiffuseParticles</div><div class="ttdoc">Maximum number of diffuse particles in the solver. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:369</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abe6f00c9b94debbf7c181082a14076d5"><div class="ttname"><a href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a></div><div class="ttdeci">void(* NvFlexErrorCallback)(NvFlexErrorSeverity type, const char *msg, const char *file, int line)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:298</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f">eNvFlexLogInfo</a></div><div class="ttdoc">Information messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:235</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a39ab69ac3fbde631b71f59f5bbbf1bdf"><div class="ttname"><a href="_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf">NvFlexSolverDesc::maxDiffuseParticles</a></div><div class="ttdeci">int maxDiffuseParticles</div><div class="ttdoc">Maximum number of diffuse particles in the solver. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:368</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abe6f00c9b94debbf7c181082a14076d5"><div class="ttname"><a href="_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5">NvFlexErrorCallback</a></div><div class="ttdeci">void(* NvFlexErrorCallback)(NvFlexErrorSeverity type, const char *msg, const char *file, int line)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:297</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f">eNvFlexLogInfo</a></div><div class="ttdoc">Information messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:234</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac017e05107d0362d3d03a14eaadf0657"><div class="ttname"><a href="_nv_flex_8h.html#ac017e05107d0362d3d03a14eaadf0657">NvFlexParams::smoothing</a></div><div class="ttdeci">float smoothing</div><div class="ttdoc">Control the strength of Laplacian smoothing in particles for rendering, if zero then smoothed positio...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:132</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae2db6ad8006027c1acf2315a0d15fe71"><div class="ttname"><a href="_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71">NvFlexSetParams</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetParams(NvFlexSolver *solver, const NvFlexParams *params)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806">eNvFlexStageUpdateEnd</a></div><div class="ttdoc">Called at the end of solver update after the final substep has completed. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:250</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806">eNvFlexStageUpdateEnd</a></div><div class="ttdoc">Called at the end of solver update after the final substep has completed. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:249</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b">eNvFlexPhaseShapeChannel3</a></div><div class="ttdoc">Particle will collide with shapes with channel 3 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:174</div></div>
<div class="ttc" id="_nv_flex_8h_html_a4958c555f0ed65dee54c37af32529356"><div class="ttname"><a href="_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356">NvFlexUpdateTriangleMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUpdateTriangleMesh(NvFlexLibrary *lib, NvFlexTriangleMeshId mesh, NvFlexBuffer *vertices, NvFlexBuffer *indices, int numVertices, int numTriangles, const float *lower, const float *upper)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a054cb27646a389ea257d1bbde46a6e97"><div class="ttname"><a href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUnmap(NvFlexBuffer *buffer)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977">eNvFlexPhaseSelfCollide</a></div><div class="ttdoc">If set this particle will interact with particles of the same group. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:166</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aba34bc2bc8736e3a0cf18a7a6b56ff68"><div class="ttname"><a href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68">NvFlexTimers::createCellIndices</a></div><div class="ttdeci">float createCellIndices</div><div class="ttdoc">Time spent creating grid indices. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:204</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aba34bc2bc8736e3a0cf18a7a6b56ff68"><div class="ttname"><a href="_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68">NvFlexTimers::createCellIndices</a></div><div class="ttdeci">float createCellIndices</div><div class="ttdoc">Time spent creating grid indices. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:203</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9">eNvFlexPhaseShapeChannel4</a></div><div class="ttdoc">Particle will collide with shapes with channel 4 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:175</div></div>
<div class="ttc" id="_nv_flex_8h_html_a0e4cb2f91d3b7d122000d36a7d67ab81"><div class="ttname"><a href="_nv_flex_8h.html#a0e4cb2f91d3b7d122000d36a7d67ab81">NvFlexParams::shapeCollisionMargin</a></div><div class="ttdeci">float shapeCollisionMargin</div><div class="ttdoc">Increases the radius used during contact finding against kinematic shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:147</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0008a52f6ae1e17c436b095549bf1c78"><div class="ttname"><a href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78">NvFlexSDFGeometry::scale</a></div><div class="ttdeci">float scale</div><div class="ttdoc">Uniform scale of SDF, this corresponds to the world space width of the shape. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:889</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0008a52f6ae1e17c436b095549bf1c78"><div class="ttname"><a href="_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78">NvFlexSDFGeometry::scale</a></div><div class="ttdeci">float scale</div><div class="ttdoc">Uniform scale of SDF, this corresponds to the world space width of the shape. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:934</div></div>
<div class="ttc" id="_nv_flex_8h_html_a7ade7491cd0693a6d7c5e88a99298378"><div class="ttname"><a href="_nv_flex_8h.html#a7ade7491cd0693a6d7c5e88a99298378">NvFlexParams::diffuseBallistic</a></div><div class="ttdeci">int diffuseBallistic</div><div class="ttdoc">The number of neighbors below which a diffuse particle is considered ballistic. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:141</div></div>
<div class="ttc" id="_nv_flex_8h_html_aa8b7bfeffb0fa7dc6dbd291fee87edc9"><div class="ttname"><a href="_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9">NvFlexSetRigids</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetRigids(NvFlexSolver *solver, NvFlexBuffer *offsets, NvFlexBuffer *indices, NvFlexBuffer *restPositions, NvFlexBuffer *restNormals, NvFlexBuffer *stiffness, NvFlexBuffer *thresholds, NvFlexBuffer *creeps, NvFlexBuffer *rotations, NvFlexBuffer *translations, int numRigids, int numIndices)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3b"><div class="ttname"><a href="_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b">NvFlexRelaxationMode</a></div><div class="ttdeci">NvFlexRelaxationMode</div><div class="ttdef"><b>Definition:</b> NvFlex.h:85</div></div>
<div class="ttc" id="_nv_flex_8h_html_a7043181449aebf540351d1d2f785cf4a"><div class="ttname"><a href="_nv_flex_8h.html#a7043181449aebf540351d1d2f785cf4a">NvFlexParams::drag</a></div><div class="ttdeci">float drag</div><div class="ttdoc">Drag force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in th...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:121</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfca"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</a></div><div class="ttdeci">NvFlexErrorSeverity</div><div class="ttdef"><b>Definition:</b> NvFlex.h:232</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfca"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca">NvFlexErrorSeverity</a></div><div class="ttdeci">NvFlexErrorSeverity</div><div class="ttdef"><b>Definition:</b> NvFlex.h:231</div></div>
<div class="ttc" id="_nv_flex_8h_html_aa1d44495e442f8cae874c635ef847478"><div class="ttname"><a href="_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478">NvFlexSetPhases</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetPhases(NvFlexSolver *solver, NvFlexBuffer *phases, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab003c023dde289dee075c49db022ccaf"><div class="ttname"><a href="_nv_flex_8h.html#ab003c023dde289dee075c49db022ccaf">NvFlexParams::maxSpeed</a></div><div class="ttdeci">float maxSpeed</div><div class="ttdoc">The magnitude of particle velocity will be clamped to this value at the end of each step...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:112</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d">eNvFlexFeatureModeDefault</a></div><div class="ttdoc">All features enabled. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:356</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d">eNvFlexFeatureModeDefault</a></div><div class="ttdoc">All features enabled. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:355</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae54ff0cacfedd4333aa1a1f9b9291906"><div class="ttname"><a href="_nv_flex_8h.html#ae54ff0cacfedd4333aa1a1f9b9291906">NvFlexParams::planes</a></div><div class="ttdeci">float planes[8][4]</div><div class="ttdoc">Collision planes in the form ax + by + cz + d = 0. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:149</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3ef4d1035530c3583bdf983c7e62b472"><div class="ttname"><a href="_nv_flex_8h.html#a3ef4d1035530c3583bdf983c7e62b472">NvFlexParams::cohesion</a></div><div class="ttdeci">float cohesion</div><div class="ttdoc">Control how strongly particles hold each other together, default: 0.025, range [0.0, +inf]. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:125</div></div>
<div class="ttc" id="_nv_flex_8h_html_af0a34fd0cdf686022650be9f895cbf2f"><div class="ttname"><a href="_nv_flex_8h.html#af0a34fd0cdf686022650be9f895cbf2f">NvFlexParams::staticFriction</a></div><div class="ttdeci">float staticFriction</div><div class="ttdoc">Coefficient of static friction used when colliding against shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:106</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ac1f3c3a1eeeb57cf5b20d030a788e25c"><div class="ttname"><a href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c">NvFlexTimers::collideParticles</a></div><div class="ttdeci">float collideParticles</div><div class="ttdoc">Time spent finding particle neighbors. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:208</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ac1f3c3a1eeeb57cf5b20d030a788e25c"><div class="ttname"><a href="_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c">NvFlexTimers::collideParticles</a></div><div class="ttdeci">float collideParticles</div><div class="ttdoc">Time spent finding particle neighbors. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:207</div></div>
<div class="ttc" id="_nv_flex_8h_html_a73d87b460a34c52ff4b616e97a53ade7"><div class="ttname"><a href="_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7">NvFlexGetNormals</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetNormals(NvFlexSolver *solver, NvFlexBuffer *normals, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a8ad5aa3c9c9456607de9a2c9f1d0d2c1"><div class="ttname"><a href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1">NvFlexCollisionGeometry::capsule</a></div><div class="ttdeci">NvFlexCapsuleGeometry capsule</div><div class="ttdef"><b>Definition:</b> NvFlex.h:900</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aaf8baa00e709ff8fd40d114f00bee0b6"><div class="ttname"><a href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6">NvFlexTimers::predict</a></div><div class="ttdeci">float predict</div><div class="ttdoc">Time spent in prediction. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:203</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a8ad5aa3c9c9456607de9a2c9f1d0d2c1"><div class="ttname"><a href="_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1">NvFlexCollisionGeometry::capsule</a></div><div class="ttdeci">NvFlexCapsuleGeometry capsule</div><div class="ttdef"><b>Definition:</b> NvFlex.h:945</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aaf8baa00e709ff8fd40d114f00bee0b6"><div class="ttname"><a href="_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6">NvFlexTimers::predict</a></div><div class="ttdeci">float predict</div><div class="ttdoc">Time spent in prediction. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:202</div></div>
<div class="ttc" id="_nv_flex_8h_html_afa458a6eec8b0d117e53c40c13788fd9"><div class="ttname"><a href="_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9">NvFlexGetDiffuseParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetDiffuseParticles(NvFlexSolver *solver, NvFlexBuffer *p, NvFlexBuffer *v, NvFlexBuffer *count)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_convex_mesh_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:868</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a5ea0cd160a13a72924340184edfbea2f"><div class="ttname"><a href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f">NvFlexSolverDesc::maxNeighborsPerParticle</a></div><div class="ttdeci">int maxNeighborsPerParticle</div><div class="ttdoc">Maximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:370</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a2ff723870a6eba26d9f3bb7e5250b27f"><div class="ttname"><a href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f">NvFlexTimers::updateDiffuse</a></div><div class="ttdeci">float updateDiffuse</div><div class="ttdoc">Time spent updating diffuse particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:221</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0e3c0e02ec7addd25ebb3355a8865bfb"><div class="ttname"><a href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb">NvFlexCollisionGeometry::sphere</a></div><div class="ttdeci">NvFlexSphereGeometry sphere</div><div class="ttdef"><b>Definition:</b> NvFlex.h:899</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_convex_mesh_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry">NvFlexConvexMeshGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:913</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a5ea0cd160a13a72924340184edfbea2f"><div class="ttname"><a href="_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f">NvFlexSolverDesc::maxNeighborsPerParticle</a></div><div class="ttdeci">int maxNeighborsPerParticle</div><div class="ttdoc">Maximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:369</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a2ff723870a6eba26d9f3bb7e5250b27f"><div class="ttname"><a href="_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f">NvFlexTimers::updateDiffuse</a></div><div class="ttdeci">float updateDiffuse</div><div class="ttdoc">Time spent updating diffuse particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:220</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0e3c0e02ec7addd25ebb3355a8865bfb"><div class="ttname"><a href="_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb">NvFlexCollisionGeometry::sphere</a></div><div class="ttdeci">NvFlexSphereGeometry sphere</div><div class="ttdef"><b>Definition:</b> NvFlex.h:944</div></div>
<div class="ttc" id="_nv_flex_8h_html_a55bf1f547086b8e469f2c3b20c9ae39d"><div class="ttname"><a href="_nv_flex_8h.html#a55bf1f547086b8e469f2c3b20c9ae39d">NvFlexParams::collisionDistance</a></div><div class="ttdeci">float collisionDistance</div><div class="ttdoc">Distance particles maintain against shapes, note that for robust collision against triangle meshes th...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:145</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a064e3ce30320610d495ba3faa72dc8d6"><div class="ttname"><a href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6">NvFlexCollisionGeometry::triMesh</a></div><div class="ttdeci">NvFlexTriangleMeshGeometry triMesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:903</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a215e06106ec0cdbbcd405055a4535d1d"><div class="ttname"><a href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d">NvFlexTimers::solveContacts</a></div><div class="ttdeci">float solveContacts</div><div class="ttdoc">Time spent solving contact constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:217</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a064e3ce30320610d495ba3faa72dc8d6"><div class="ttname"><a href="_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6">NvFlexCollisionGeometry::triMesh</a></div><div class="ttdeci">NvFlexTriangleMeshGeometry triMesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:948</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a215e06106ec0cdbbcd405055a4535d1d"><div class="ttname"><a href="_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d">NvFlexTimers::solveContacts</a></div><div class="ttdeci">float solveContacts</div><div class="ttdoc">Time spent solving contact constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:216</div></div>
<div class="ttc" id="_nv_flex_8h_html_a677dc591fe443ae058701966c52d1316"><div class="ttname"><a href="_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316">NvFlexSetActiveCount</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetActiveCount(NvFlexSolver *solver, int n)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154">eNvFlexPhaseFlagsMask</a></div><div class="ttdoc">Bits [20, 23] hold flags about how the particle behave. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:163</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9">eNvFlexShapeFlagReserved</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:923</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aeeeaf91dad0804d1dd3125e592a3260b"><div class="ttname"><a href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b">NvFlexInitDesc::computeType</a></div><div class="ttdeci">NvFlexComputeType computeType</div><div class="ttdoc">Set to eNvFlexD3D11 if DirectX 11 should be used, eNvFlexD3D12 for DirectX 12, this must match the li...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:324</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9">eNvFlexShapeFlagReserved</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:968</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aeeeaf91dad0804d1dd3125e592a3260b"><div class="ttname"><a href="_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b">NvFlexInitDesc::computeType</a></div><div class="ttdeci">NvFlexComputeType computeType</div><div class="ttdoc">Set to eNvFlexD3D11 if DirectX 11 should be used, eNvFlexD3D12 for DirectX 12, this must match the li...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:323</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab11bdd7f778d17af16cefea33265cb65"><div class="ttname"><a href="_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65">NvFlexDestroyDistanceField</a></div><div class="ttdeci">NV_FLEX_API void NvFlexDestroyDistanceField(NvFlexLibrary *lib, NvFlexDistanceFieldId sdf)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df">eNvFlexD3D11</a></div><div class="ttdoc">Use DirectX 11 compute for Flex, the application must link against the D3D libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:308</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ade1ef600ada4d7567e515258b289e209"><div class="ttname"><a href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlexGetNeighbors</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetNeighbors(NvFlexSolver *solver, NvFlexBuffer *neighbors, NvFlexBuffer *counts, NvFlexBuffer *remap)</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df">eNvFlexD3D11</a></div><div class="ttdoc">Use DirectX 11 compute for Flex, the application must link against the D3D libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:307</div></div>
<div class="ttc" id="_nv_flex_8h_html_a1d755d7b090f7ed5c4c50d2d3fef1558"><div class="ttname"><a href="_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558">NvFlexDestroySolver</a></div><div class="ttdeci">NV_FLEX_API void NvFlexDestroySolver(NvFlexSolver *solver)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8">eNvFlexShapeFlagTypeMask</a></div><div class="ttdoc">Lower 3 bits holds the type of the collision shape given by the NvFlexCollisionShapeType enum...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:919</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abe564dbbbd4957542322b60d77a70e29"><div class="ttname"><a href="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29">NvFlexSolverCallbackParams::originalToSortedMap</a></div><div class="ttdeci">const int * originalToSortedMap</div><div class="ttdoc">Device pointer that maps the sorted callback data to the original position given by SetParticles() ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:280</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aef1b5bceccca709ebb782d2ea8a61dc9"><div class="ttname"><a href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9">NvFlexCapsuleGeometry::halfHeight</a></div><div class="ttdeci">float halfHeight</div><div class="ttdef"><b>Definition:</b> NvFlex.h:854</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8">eNvFlexShapeFlagTypeMask</a></div><div class="ttdoc">Lower 3 bits holds the type of the collision shape given by the NvFlexCollisionShapeType enum...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:964</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abe564dbbbd4957542322b60d77a70e29"><div class="ttname"><a href="_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29">NvFlexSolverCallbackParams::originalToSortedMap</a></div><div class="ttdeci">const int * originalToSortedMap</div><div class="ttdoc">Device pointer that maps the sorted callback data to the original position given by SetParticles() ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:279</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aef1b5bceccca709ebb782d2ea8a61dc9"><div class="ttname"><a href="_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9">NvFlexCapsuleGeometry::halfHeight</a></div><div class="ttdeci">float halfHeight</div><div class="ttdef"><b>Definition:</b> NvFlex.h:899</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6"><div class="ttname"><a href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6">eNvFlexMapWait</a></div><div class="ttdoc">Calling thread will be blocked until buffer is ready for access, default. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:69</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5a7213593dd9a23d9d67f8517d1da9de"><div class="ttname"><a href="_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de">NvFlexSetDiffuseParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetDiffuseParticles(NvFlexSolver *solver, NvFlexBuffer *p, NvFlexBuffer *v, int n)</div></div>
<div class="ttc" id="_nv_flex_8h_html_afaeb57f4ee7e54b1ae1b912a465ed39e"><div class="ttname"><a href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a></div><div class="ttdeci">struct NvFlexSolver NvFlexSolver</div><div class="ttdef"><b>Definition:</b> NvFlex.h:57</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586">eNvFlexStageSubstepEnd</a></div><div class="ttdoc">Called at the end of each substep after the velocity has been updated by the constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:249</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a8ed42f9bd016cbcef45c96b5b32ca609"><div class="ttname"><a href="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609">NvFlexSolverCallbackParams::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Device pointer to the active particle basic data in the form x,y,z,1/m. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:272</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586">eNvFlexStageSubstepEnd</a></div><div class="ttdoc">Called at the end of each substep after the velocity has been updated by the constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:248</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a8ed42f9bd016cbcef45c96b5b32ca609"><div class="ttname"><a href="_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609">NvFlexSolverCallbackParams::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Device pointer to the active particle basic data in the form x,y,z,1/m. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:271</div></div>
<div class="ttc" id="_nv_flex_8h_html_a1bd4b70e0118abe18ca5fe85157299b6"><div class="ttname"><a href="_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6">NvFlexGetActive</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetActive(NvFlexSolver *solver, NvFlexBuffer *indices, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a7f2b59fba77c60ce116e1eac57d63e50"><div class="ttname"><a href="_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50">NvFlexSetInflatables</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetInflatables(NvFlexSolver *solver, NvFlexBuffer *startTris, NvFlexBuffer *numTris, NvFlexBuffer *restVolumes, NvFlexBuffer *overPressures, NvFlexBuffer *constraintScales, int numInflatables)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a615d2e6eec2486a5db815d929f9c642c"><div class="ttname"><a href="_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c">NvFlexWait</a></div><div class="ttdeci">NV_FLEX_API void NvFlexWait(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a7ec5ebe3e98a44a2058d6be74b2cb633"><div class="ttname"><a href="_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633">NvFlexSetParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_sphere_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:843</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_solver_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:364</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aa544809448a95c3864e1443c7a507d7f"><div class="ttname"><a href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f">NvFlexCopyDesc::dstOffset</a></div><div class="ttdeci">int dstOffset</div><div class="ttdef"><b>Definition:</b> NvFlex.h:503</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff">eNvFlexStageIterationStart</a></div><div class="ttdoc">Called at the beginning of each constraint iteration. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:246</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_sphere_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_sphere_geometry">NvFlexSphereGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:888</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_solver_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_solver_desc">NvFlexSolverDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:363</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aa544809448a95c3864e1443c7a507d7f"><div class="ttname"><a href="_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f">NvFlexCopyDesc::dstOffset</a></div><div class="ttdeci">int dstOffset</div><div class="ttdef"><b>Definition:</b> NvFlex.h:515</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff">eNvFlexStageIterationStart</a></div><div class="ttdoc">Called at the beginning of each constraint iteration. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:245</div></div>
<div class="ttc" id="_nv_flex_8h_html_a60794d849b4184335e2a0ddec0a9e6a2"><div class="ttname"><a href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlexGetTriangleMeshBounds</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetTriangleMeshBounds(NvFlexLibrary *lib, const NvFlexTriangleMeshId mesh, float *lower, float *upper)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ad83b7fb561a91467a3094771bb682b96"><div class="ttname"><a href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakeShapeFlagsWithChannels(NvFlexCollisionShapeType type, bool dynamic, int shapeChannels)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:933</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_solver_callback_params"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:267</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ad83b7fb561a91467a3094771bb682b96"><div class="ttname"><a href="_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96">NvFlexMakeShapeFlagsWithChannels</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakeShapeFlagsWithChannels(NvFlexCollisionShapeType type, bool dynamic, int shapeChannels)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:978</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_solver_callback_params"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_solver_callback_params">NvFlexSolverCallbackParams</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:266</div></div>
<div class="ttc" id="_nv_flex_8h_html_afbaafe2b1006352002b03aabaca531cc"><div class="ttname"><a href="_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc">NvFlexCreateConvexMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexConvexMeshId NvFlexCreateConvexMesh(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a0898bb9210440b159688d4647f6eb083"><div class="ttname"><a href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a></div><div class="ttdeci">NV_FLEX_API void * NvFlexMap(NvFlexBuffer *buffer, int flags)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a83f6117fe98bc6426027a9b784fd737c"><div class="ttname"><a href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c">NvFlexDetailTimer::time</a></div><div class="ttdeci">float time</div><div class="ttdef"><b>Definition:</b> NvFlex.h:1137</div></div>
-<div class="ttc" id="_nv_flex_8h_html_union_nv_flex_collision_geometry"><div class="ttname"><a href="_nv_flex_8h.html#union_nv_flex_collision_geometry">NvFlexCollisionGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:897</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a1a1e69f26e02e8b3fca1d3636a7f3f13"><div class="ttname"><a href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13">NvFlexTimers::updateNormals</a></div><div class="ttdeci">float updateNormals</div><div class="ttdoc">Time spent updating vertex normals. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:223</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a2aea4c3d772b4dbccb7dd9ba37c1bdc0"><div class="ttname"><a href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a></div><div class="ttdeci">unsigned int NvFlexTriangleMeshId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:718</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a83f6117fe98bc6426027a9b784fd737c"><div class="ttname"><a href="_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c">NvFlexDetailTimer::time</a></div><div class="ttdeci">float time</div><div class="ttdef"><b>Definition:</b> NvFlex.h:1185</div></div>
+<div class="ttc" id="_nv_flex_8h_html_union_nv_flex_collision_geometry"><div class="ttname"><a href="_nv_flex_8h.html#union_nv_flex_collision_geometry">NvFlexCollisionGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:942</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a1a1e69f26e02e8b3fca1d3636a7f3f13"><div class="ttname"><a href="_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13">NvFlexTimers::updateNormals</a></div><div class="ttdeci">float updateNormals</div><div class="ttdoc">Time spent updating vertex normals. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:222</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a2aea4c3d772b4dbccb7dd9ba37c1bdc0"><div class="ttname"><a href="_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0">NvFlexTriangleMeshId</a></div><div class="ttdeci">unsigned int NvFlexTriangleMeshId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:730</div></div>
<div class="ttc" id="_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c"><div class="ttname"><a href="_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c">eNvFlexRelaxationLocal</a></div><div class="ttdoc">The relaxation factor is a fixed multiplier on each constraint&#39;s delta divided by the particle&#39;s cons...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:88</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab487e68ce1c84ce1eec0c85b7daf5aa0"><div class="ttname"><a href="_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0">NvFlexRegisterD3DBuffer</a></div><div class="ttdeci">NV_FLEX_API NvFlexBuffer * NvFlexRegisterD3DBuffer(NvFlexLibrary *lib, void *buffer, int elementCount, int elementByteStride)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8">eNvFlexShapeFlagTrigger</a></div><div class="ttdoc">Indicates that the shape is a trigger volume, this means it will not perform any collision response...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:921</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2">eNvFlexFeatureModeSimpleFluids</a></div><div class="ttdoc">Simple single phase fluid-only particles (no solids) </div><div class="ttdef"><b>Definition:</b> NvFlex.h:358</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3">eNvFlexShapeSphere</a></div><div class="ttdoc">A sphere shape, see FlexSphereGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:909</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180">eNvFlexShapeSDF</a></div><div class="ttdoc">A signed distance field shape, see FlexSDFGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:914</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a5890b9e46d626cfa19994976ea53c52e"><div class="ttname"><a href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e">NvFlexInitDesc::deviceIndex</a></div><div class="ttdeci">int deviceIndex</div><div class="ttdoc">The GPU device index that should be used, if there is already a CUDA context on the calling thread th...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:317</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ad9503e8b23e084c0f940be3dcca9af2e"><div class="ttname"><a href="_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e">NvFlexInitDesc::runOnRenderContext</a></div><div class="ttdeci">bool runOnRenderContext</div><div class="ttdoc">If true, run Flex on D3D11 render context, or D3D12 direct queue. If false, run on a D3D12 compute qu...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:321</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8">eNvFlexShapeFlagTrigger</a></div><div class="ttdoc">Indicates that the shape is a trigger volume, this means it will not perform any collision response...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:966</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2">eNvFlexFeatureModeSimpleFluids</a></div><div class="ttdoc">Simple single phase fluid-only particles (no solids) </div><div class="ttdef"><b>Definition:</b> NvFlex.h:357</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3">eNvFlexShapeSphere</a></div><div class="ttdoc">A sphere shape, see FlexSphereGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:954</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180">eNvFlexShapeSDF</a></div><div class="ttdoc">A signed distance field shape, see FlexSDFGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:959</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a5890b9e46d626cfa19994976ea53c52e"><div class="ttname"><a href="_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e">NvFlexInitDesc::deviceIndex</a></div><div class="ttdeci">int deviceIndex</div><div class="ttdoc">The GPU device index that should be used, if there is already a CUDA context on the calling thread th...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:316</div></div>
<div class="ttc" id="_nv_flex_8h_html_a40f452b4edbf11b793f31286a0ae270e"><div class="ttname"><a href="_nv_flex_8h.html#a40f452b4edbf11b793f31286a0ae270e">NvFlexParams::viscosity</a></div><div class="ttdeci">float viscosity</div><div class="ttdoc">Smoothes particle velocities using XSPH viscosity. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:127</div></div>
-<div class="ttc" id="_nv_flex_8h_html_af6a50e64591866ae2390a57e3342566c"><div class="ttname"><a href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c">NvFlexTriangleMeshGeometry::mesh</a></div><div class="ttdeci">NvFlexTriangleMeshId mesh</div><div class="ttdoc">A triangle mesh pointer created by NvFlexCreateTriangleMesh() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:880</div></div>
+<div class="ttc" id="_nv_flex_8h_html_af6a50e64591866ae2390a57e3342566c"><div class="ttname"><a href="_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c">NvFlexTriangleMeshGeometry::mesh</a></div><div class="ttdeci">NvFlexTriangleMeshId mesh</div><div class="ttdoc">A triangle mesh pointer created by NvFlexCreateTriangleMesh() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:925</div></div>
<div class="ttc" id="_nv_flex_8h_html_a8114a049f5e16f7d1b960f3ac4993fdb"><div class="ttname"><a href="_nv_flex_8h.html#a8114a049f5e16f7d1b960f3ac4993fdb">NvFlexParams::adhesion</a></div><div class="ttdeci">float adhesion</div><div class="ttdoc">Controls how strongly particles stick to surfaces they hit, default 0.0, range [0.0, +inf]. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:109</div></div>
<div class="ttc" id="_nv_flex_8h_html_a78045a8d4e856372df108dc616a94cd8"><div class="ttname"><a href="_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8">NvFlexUnregisterOGLBuffer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUnregisterOGLBuffer(NvFlexBuffer *buf)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab669c404607156367b09878870dbe30c"><div class="ttname"><a href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c">NvFlexBoxGeometry::halfExtents</a></div><div class="ttdeci">float halfExtents[3]</div><div class="ttdef"><b>Definition:</b> NvFlex.h:862</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_box_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:860</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab669c404607156367b09878870dbe30c"><div class="ttname"><a href="_nv_flex_8h.html#ab669c404607156367b09878870dbe30c">NvFlexBoxGeometry::halfExtents</a></div><div class="ttdeci">float halfExtents[3]</div><div class="ttdef"><b>Definition:</b> NvFlex.h:907</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_box_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_box_geometry">NvFlexBoxGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:905</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5c28caf6d5d513c5adacd4fbc782f308"><div class="ttname"><a href="_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308">NvFlexCreateDistanceField</a></div><div class="ttdeci">NV_FLEX_API NvFlexDistanceFieldId NvFlexCreateDistanceField(NvFlexLibrary *lib)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9e5f943053d43d7e1a6b149babe4fe44"><div class="ttname"><a href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44">NvFlexSolverCallbackParams::phases</a></div><div class="ttdeci">int * phases</div><div class="ttdoc">Device pointer to the active particle phase data. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:274</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9e5f943053d43d7e1a6b149babe4fe44"><div class="ttname"><a href="_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44">NvFlexSolverCallbackParams::phases</a></div><div class="ttdeci">int * phases</div><div class="ttdoc">Device pointer to the active particle phase data. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:273</div></div>
<div class="ttc" id="_nv_flex_8h_html_a898eb8e66a456dd2266c694f29cab600"><div class="ttname"><a href="_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600">NvFlexFlush</a></div><div class="ttdeci">NV_FLEX_API void NvFlexFlush(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab1eec84a21b1872fba11c9b4cc1d1629"><div class="ttname"><a href="_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629">NvFlexGetBounds</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetBounds(NvFlexSolver *solver, NvFlexBuffer *lower, NvFlexBuffer *upper)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8">eNvFlexBufferHost</a></div><div class="ttdoc">A host mappable buffer, pinned memory on CUDA, staging buffer on DX. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:78</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ac32019f7dd1f30ab8a7391a417ed02c9"><div class="ttname"><a href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9">NvFlexSolverCallbackParams::numActive</a></div><div class="ttdeci">int numActive</div><div class="ttdoc">The number of active particles returned, the callback data only return pointers to active particle da...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:276</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ac32019f7dd1f30ab8a7391a417ed02c9"><div class="ttname"><a href="_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9">NvFlexSolverCallbackParams::numActive</a></div><div class="ttdeci">int numActive</div><div class="ttdoc">The number of active particles returned, the callback data only return pointers to active particle da...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:275</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae0d57e4fc2b3b51ec08f7da0a28ff343"><div class="ttname"><a href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlexGetSolverLibrary</a></div><div class="ttdeci">NV_FLEX_API NvFlexLibrary * NvFlexGetSolverLibrary(NvFlexSolver *solver)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a">eNvFlexPhaseShapeChannel7</a></div><div class="ttdoc">Particle will collide with shapes with channel 7 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:178</div></div>
<div class="ttc" id="_nv_flex_8h_html_a50a3933d3f7b77d0500c702b1fa9ba9a"><div class="ttname"><a href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a></div><div class="ttdeci">struct NvFlexBuffer NvFlexBuffer</div><div class="ttdef"><b>Definition:</b> NvFlex.h:62</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ae45cb18deec2db8ff44d181e80f24695"><div class="ttname"><a href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695">NvFlexTimers::sortCellIndices</a></div><div class="ttdeci">float sortCellIndices</div><div class="ttdoc">Time spent sorting grid indices. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:205</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ae01bc8c45cf48f5faed2a8e78df1c678"><div class="ttname"><a href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678">NvFlexCopyDesc::srcOffset</a></div><div class="ttdeci">int srcOffset</div><div class="ttdef"><b>Definition:</b> NvFlex.h:502</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aedf73c7aa1f4df92c7724d58f4dcb266"><div class="ttname"><a href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266">NvFlexSolverDesc::maxParticles</a></div><div class="ttdeci">int maxParticles</div><div class="ttdoc">Maximum number of regular particles in the solver. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:368</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ae45cb18deec2db8ff44d181e80f24695"><div class="ttname"><a href="_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695">NvFlexTimers::sortCellIndices</a></div><div class="ttdeci">float sortCellIndices</div><div class="ttdoc">Time spent sorting grid indices. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:204</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ae01bc8c45cf48f5faed2a8e78df1c678"><div class="ttname"><a href="_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678">NvFlexCopyDesc::srcOffset</a></div><div class="ttdeci">int srcOffset</div><div class="ttdef"><b>Definition:</b> NvFlex.h:514</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aedf73c7aa1f4df92c7724d58f4dcb266"><div class="ttname"><a href="_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266">NvFlexSolverDesc::maxParticles</a></div><div class="ttdeci">int maxParticles</div><div class="ttdoc">Maximum number of regular particles in the solver. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:367</div></div>
<div class="ttc" id="_nv_flex_8h_html_aafc89f87307602fb9bfa8f6668122121"><div class="ttname"><a href="_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121">NvFlexGetRestParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetRestParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ad1d0256dac295346120fda40f6eea7e2"><div class="ttname"><a href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2">NvFlexInitDesc::computeContext</a></div><div class="ttdeci">void * computeContext</div><div class="ttdoc">Direct3D context to use for simulation, if none is specified a new context will be created...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:321</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a97d23c69cd4f343be14dedd911605276"><div class="ttname"><a href="_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276">NvFlexSolverDesc::maxContactsPerParticle</a></div><div class="ttdeci">int maxContactsPerParticle</div><div class="ttdoc">Maximum number of collision contacts per-particle. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:370</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ad1d0256dac295346120fda40f6eea7e2"><div class="ttname"><a href="_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2">NvFlexInitDesc::computeContext</a></div><div class="ttdeci">void * computeContext</div><div class="ttdoc">Direct3D context to use for simulation, if none is specified a new context will be created...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:320</div></div>
<div class="ttc" id="_nv_flex_8h_html_aa6eddaa3a6eb35917c093dcabf69a200"><div class="ttname"><a href="_nv_flex_8h.html#aa6eddaa3a6eb35917c093dcabf69a200">NvFlexParams::radius</a></div><div class="ttdeci">float radius</div><div class="ttdoc">The maximum interaction radius for particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:100</div></div>
<div class="ttc" id="_nv_flex_8h_html_a7edac9cf450917147b83e98f5cb09f5d"><div class="ttname"><a href="_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d">NvFlexGetContacts</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetContacts(NvFlexSolver *solver, NvFlexBuffer *planes, NvFlexBuffer *velocities, NvFlexBuffer *indices, NvFlexBuffer *counts)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a53e827707abaf2e03b78c3c88469d7bf"><div class="ttname"><a href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf">NvFlexCollisionGeometry::box</a></div><div class="ttdeci">NvFlexBoxGeometry box</div><div class="ttdef"><b>Definition:</b> NvFlex.h:901</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ac48a490fa3d62cc678c309dd4b8cbf18"><div class="ttname"><a href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18">NvFlexSolverCallbackParams::velocities</a></div><div class="ttdeci">float * velocities</div><div class="ttdoc">Device pointer to the active particle velocity data in the form x,y,z,w (last component is not used) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:273</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a53e827707abaf2e03b78c3c88469d7bf"><div class="ttname"><a href="_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf">NvFlexCollisionGeometry::box</a></div><div class="ttdeci">NvFlexBoxGeometry box</div><div class="ttdef"><b>Definition:</b> NvFlex.h:946</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ac48a490fa3d62cc678c309dd4b8cbf18"><div class="ttname"><a href="_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18">NvFlexSolverCallbackParams::velocities</a></div><div class="ttdeci">float * velocities</div><div class="ttdoc">Device pointer to the active particle velocity data in the form x,y,z,w (last component is not used) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:272</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9">eNvFlexPhaseShapeChannel1</a></div><div class="ttdoc">Particle will collide with shapes with channel 1 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:172</div></div>
<div class="ttc" id="_nv_flex_8h_html_aa77d2a4edd4ccd79c9389854dca80613"><div class="ttname"><a href="_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613">NvFlexGetDeviceLatency</a></div><div class="ttdeci">NV_FLEX_API float NvFlexGetDeviceLatency(NvFlexSolver *solver, unsigned long long *begin, unsigned long long *end, unsigned long long *frequency)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab136ae1511a39ef570c010f321eff206"><div class="ttname"><a href="_nv_flex_8h.html#ab136ae1511a39ef570c010f321eff206">NvFlexParams::anisotropyMin</a></div><div class="ttdeci">float anisotropyMin</div><div class="ttdoc">Clamp the anisotropy scale to this fraction of the radius. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:130</div></div>
-<div class="ttc" id="_nv_flex_8h_html_afc5d58e7f591213c3fe1c31b4d440eb6"><div class="ttname"><a href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6">NvFlexTimers::applyDeltas</a></div><div class="ttdeci">float applyDeltas</div><div class="ttdoc">Time spent adding position deltas to particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:219</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0a6936f3cb0544ad624f1dea6b7eb50c"><div class="ttname"><a href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c">NvFlexSDFGeometry::field</a></div><div class="ttdeci">NvFlexDistanceFieldId field</div><div class="ttdoc">A signed distance field pointer created by NvFlexCreateDistanceField() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:890</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a49f7117a457a716e7790904209f68707"><div class="ttname"><a href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707">NvFlexTimers::calculateDensity</a></div><div class="ttdeci">float calculateDensity</div><div class="ttdoc">Time spent calculating fluid density. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:212</div></div>
-<div class="ttc" id="struct_nv_flex_solver_callback_html_a2878301f697313b3ef3ad1bc2410c915"><div class="ttname"><a href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915">NvFlexSolverCallback::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdef"><b>Definition:</b> NvFlex.h:289</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a">eNvFlexShapeCapsule</a></div><div class="ttdoc">A capsule shape, see FlexCapsuleGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:910</div></div>
+<div class="ttc" id="_nv_flex_8h_html_afc5d58e7f591213c3fe1c31b4d440eb6"><div class="ttname"><a href="_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6">NvFlexTimers::applyDeltas</a></div><div class="ttdeci">float applyDeltas</div><div class="ttdoc">Time spent adding position deltas to particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:218</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0a6936f3cb0544ad624f1dea6b7eb50c"><div class="ttname"><a href="_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c">NvFlexSDFGeometry::field</a></div><div class="ttdeci">NvFlexDistanceFieldId field</div><div class="ttdoc">A signed distance field pointer created by NvFlexCreateDistanceField() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:935</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a49f7117a457a716e7790904209f68707"><div class="ttname"><a href="_nv_flex_8h.html#a49f7117a457a716e7790904209f68707">NvFlexTimers::calculateDensity</a></div><div class="ttdeci">float calculateDensity</div><div class="ttdoc">Time spent calculating fluid density. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:211</div></div>
+<div class="ttc" id="struct_nv_flex_solver_callback_html_a2878301f697313b3ef3ad1bc2410c915"><div class="ttname"><a href="struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915">NvFlexSolverCallback::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdef"><b>Definition:</b> NvFlex.h:288</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a">eNvFlexShapeCapsule</a></div><div class="ttdoc">A capsule shape, see FlexCapsuleGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:955</div></div>
<div class="ttc" id="_nv_flex_8h_html_afdda5a5210938a1e8a7c3a8218ad468e"><div class="ttname"><a href="_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e">NvFlexCreateTriangleMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexTriangleMeshId NvFlexCreateTriangleMesh(NvFlexLibrary *lib)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0999d825c8760e19ba4c980d2eb097ac"><div class="ttname"><a href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac">NvFlexSolverDesc::featureMode</a></div><div class="ttdeci">NvFlexFeatureMode featureMode</div><div class="ttdoc">Control which features are enabled. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:366</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ad53909027df03c6a352746d8ddc088ef"><div class="ttname"><a href="_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef">NvFlexGetSolvers</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetSolvers(NvFlexLibrary *lib, NvFlexSolver **solvers, int n)</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0999d825c8760e19ba4c980d2eb097ac"><div class="ttname"><a href="_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac">NvFlexSolverDesc::featureMode</a></div><div class="ttdeci">NvFlexFeatureMode featureMode</div><div class="ttdoc">Control which features are enabled. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:365</div></div>
<div class="ttc" id="_nv_flex_8h_html_aaf59e45ada57c7f958a8030099cbe211"><div class="ttname"><a href="_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211">NvFlexShutdown</a></div><div class="ttdeci">NV_FLEX_API void NvFlexShutdown(NvFlexLibrary *lib)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a3974e1e608d9f532d5520dc158b47903"><div class="ttname"><a href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903">NvFlexSolverCallbackParams::solver</a></div><div class="ttdeci">NvFlexSolver * solver</div><div class="ttdoc">Pointer to the solver that the callback is registered to. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:269</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a3974e1e608d9f532d5520dc158b47903"><div class="ttname"><a href="_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903">NvFlexSolverCallbackParams::solver</a></div><div class="ttdeci">NvFlexSolver * solver</div><div class="ttdoc">Pointer to the solver that the callback is registered to. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:268</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74">eNvFlexPhaseFluid</a></div><div class="ttdoc">If set this particle will generate fluid density constraints for its overlapping neighbors. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:168</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a></div><div class="ttdeci">NvFlexFeatureMode</div><div class="ttdef"><b>Definition:</b> NvFlex.h:354</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560">NvFlexFeatureMode</a></div><div class="ttdeci">NvFlexFeatureMode</div><div class="ttdef"><b>Definition:</b> NvFlex.h:353</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a554d54b930dad17e638ddd30c6dac46f"><div class="ttname"><a href="_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f">NvFlexGetDistanceFields</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetDistanceFields(NvFlexLibrary *lib, NvFlexDistanceFieldId *sdfs, int n)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644">NvFlexPhase</a></div><div class="ttdeci">NvFlexPhase</div><div class="ttdef"><b>Definition:</b> NvFlex.h:160</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad607e7916e5d76b384a61f1c1f94ab32"><div class="ttname"><a href="_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32">NvFlexUnregisterD3DBuffer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUnregisterD3DBuffer(NvFlexBuffer *buf)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a77687a448947946483c73f7cc94932c6"><div class="ttname"><a href="_nv_flex_8h.html#a77687a448947946483c73f7cc94932c6">NvFlexInitDesc::useComputeQueue</a></div><div class="ttdeci">bool useComputeQueue</div><div class="ttdoc">If true, run Flex on a D3D12 compute queue, or vendor specific D3D11 compute queue. This allows compute and graphics to run in parallel on some GPUs. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:322</div></div>
<div class="ttc" id="_nv_flex_8h_html_a533a78227b462a268c905f9c307c4bd6"><div class="ttname"><a href="_nv_flex_8h.html#a533a78227b462a268c905f9c307c4bd6">NvFlexParams::sleepThreshold</a></div><div class="ttdeci">float sleepThreshold</div><div class="ttdoc">Particles with a velocity magnitude < this threshold will be considered fixed. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:110</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac25ec5de38c177db51198bb620644d36"><div class="ttname"><a href="_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36">NvFlexGetVersion</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetVersion()</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab1924ab797971290931b32258b847767"><div class="ttname"><a href="_nv_flex_8h.html#ab1924ab797971290931b32258b847767">NvFlexGetTriangleMeshes</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetTriangleMeshes(NvFlexLibrary *lib, NvFlexTriangleMeshId *meshes, int n)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5e37444b8c96e0880a428d9ea58dbf54"><div class="ttname"><a href="_nv_flex_8h.html#a5e37444b8c96e0880a428d9ea58dbf54">NvFlexParams::anisotropyMax</a></div><div class="ttdeci">float anisotropyMax</div><div class="ttdoc">Clamp the anisotropy scale to this fraction of the radius. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:131</div></div>
-<div class="ttc" id="_nv_flex_8h_html_afc20d27121f49b61be9cc6bd4c25f547"><div class="ttname"><a href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547">NvFlexTimers::collideTriangles</a></div><div class="ttdeci">float collideTriangles</div><div class="ttdoc">Time spent colliding triangle shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:210</div></div>
+<div class="ttc" id="_nv_flex_8h_html_afc20d27121f49b61be9cc6bd4c25f547"><div class="ttname"><a href="_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547">NvFlexTimers::collideTriangles</a></div><div class="ttdeci">float collideTriangles</div><div class="ttdoc">Time spent colliding triangle shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:209</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab1efb6764f65900cb09f0188ad6da08a"><div class="ttname"><a href="_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a">NvFlexGetDetailTimers</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetDetailTimers(NvFlexSolver *solver, NvFlexDetailTimer **timers)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad56e661161763579afb375b3841eb5ff"><div class="ttname"><a href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlexGetConvexMeshBounds</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetConvexMeshBounds(NvFlexLibrary *lib, NvFlexConvexMeshId mesh, float *lower, float *upper)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a></div><div class="ttdoc">Indicates the shape is dynamic and should have lower priority over static collision shapes...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:920</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992">eNvFlexShapeFlagDynamic</a></div><div class="ttdoc">Indicates the shape is dynamic and should have lower priority over static collision shapes...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:965</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1"><div class="ttname"><a href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1">eNvFlexMapDoNotWait</a></div><div class="ttdoc">Calling thread will check if buffer is ready for access, if not ready then the method will return NUL...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:70</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a615e8070212c24a70e7a849120c13353"><div class="ttname"><a href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakePhaseWithChannels(int group, int particleFlags, int shapeChannels)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:190</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab43db5f28808f8038cfc9330d4b47d57"><div class="ttname"><a href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57">NvFlexMakePhase</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakePhase(int group, int particleFlags)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:195</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a615e8070212c24a70e7a849120c13353"><div class="ttname"><a href="_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353">NvFlexMakePhaseWithChannels</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakePhaseWithChannels(int group, int particleFlags, int shapeChannels)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:189</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab43db5f28808f8038cfc9330d4b47d57"><div class="ttname"><a href="_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57">NvFlexMakePhase</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakePhase(int group, int particleFlags)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:194</div></div>
<div class="ttc" id="_nv_flex_8h_html_adc0c97635cdbb3da7b571574a3b38990"><div class="ttname"><a href="_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990">NvFlexSetActive</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetActive(NvFlexSolver *solver, NvFlexBuffer *indices, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab98a2aba477ab4d4178bf677852bf544"><div class="ttname"><a href="_nv_flex_8h.html#ab98a2aba477ab4d4178bf677852bf544">NvFlexParams::shockPropagation</a></div><div class="ttdeci">float shockPropagation</div><div class="ttdoc">Artificially decrease the mass of particles based on height from a fixed reference point...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:115</div></div>
<div class="ttc" id="_nv_flex_8h_html_a4c451971259524c6878b6b1ed4023ada"><div class="ttname"><a href="_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada">NvFlexGetDeviceName</a></div><div class="ttdeci">NV_FLEX_API const char * NvFlexGetDeviceName(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac85b6372e5c7bfc508ecb7b8c59c72a0"><div class="ttname"><a href="_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0">NvFlexDestroyConvexMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexDestroyConvexMesh(NvFlexLibrary *lib, NvFlexConvexMeshId convex)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aaa36ba5ee44e34e762167fb0b8b3292e"><div class="ttname"><a href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e">NvFlexTimers::collideFields</a></div><div class="ttdeci">float collideFields</div><div class="ttdoc">Time spent colliding signed distance field shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:211</div></div>
-<div class="ttc" id="_nv_flex_8h_html_af9b72d2909ef335b12a46cdbd4b71f57"><div class="ttname"><a href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57">NvFlexTimers::calculateAnisotropy</a></div><div class="ttdeci">float calculateAnisotropy</div><div class="ttdoc">Time spent calculating particle anisotropy for fluid. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:220</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aaa36ba5ee44e34e762167fb0b8b3292e"><div class="ttname"><a href="_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e">NvFlexTimers::collideFields</a></div><div class="ttdeci">float collideFields</div><div class="ttdoc">Time spent colliding signed distance field shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:210</div></div>
+<div class="ttc" id="_nv_flex_8h_html_af9b72d2909ef335b12a46cdbd4b71f57"><div class="ttname"><a href="_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57">NvFlexTimers::calculateAnisotropy</a></div><div class="ttdeci">float calculateAnisotropy</div><div class="ttdoc">Time spent calculating particle anisotropy for fluid. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:219</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">eNvFlexPhaseShapeChannel6</a></div><div class="ttdoc">Particle will collide with shapes with channel 6 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:177</div></div>
<div class="ttc" id="_nv_flex_8h_html_aaff62cfd50431d82af5d04a6c9ac4ffd"><div class="ttname"><a href="_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd">NvFlexGetParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abf304d5c1f8f041fa46a2bfb0bdf56fe"><div class="ttname"><a href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe">NvFlexInitDesc::renderContext</a></div><div class="ttdeci">void * renderContext</div><div class="ttdoc">Direct3D context that the app is using for rendering. In DirectX 12 this should be a ID3D12CommandQue...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:320</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abf304d5c1f8f041fa46a2bfb0bdf56fe"><div class="ttname"><a href="_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe">NvFlexInitDesc::renderContext</a></div><div class="ttdeci">void * renderContext</div><div class="ttdoc">Direct3D context that the app is using for rendering. In DirectX 12 this should be a ID3D12CommandQue...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:319</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3078976e98f370a9fbdb11db80f1f318"><div class="ttname"><a href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a></div><div class="ttdeci">struct NvFlexLibrary NvFlexLibrary</div><div class="ttdef"><b>Definition:</b> NvFlex.h:52</div></div>
<div class="ttc" id="_nv_flex_8h_html_a42ec7b30c79d4733e6a756b5d9b15ee6"><div class="ttname"><a href="_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6">NvFlexAcquireContext</a></div><div class="ttdeci">NV_FLEX_API void NvFlexAcquireContext(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a687e5ec141948f779faa9183b68cb743"><div class="ttname"><a href="_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743">NvFlexInit</a></div><div class="ttdeci">NV_FLEX_API NvFlexLibrary * NvFlexInit(int version=NV_FLEX_VERSION, NvFlexErrorCallback errorFunc=0, NvFlexInitDesc *desc=0)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a05f92015449662f5a2f5d5e9ecdc2c6e"><div class="ttname"><a href="_nv_flex_8h.html#a05f92015449662f5a2f5d5e9ecdc2c6e">NvFlexParams::freeSurfaceDrag</a></div><div class="ttdeci">float freeSurfaceDrag</div><div class="ttdoc">Drag force applied to boundary fluid particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:134</div></div>
<div class="ttc" id="_nv_flex_8h_html_a32e8fdb39029a2564c129bd493c52058"><div class="ttname"><a href="_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058">NvFlexSetNormals</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetNormals(NvFlexSolver *solver, NvFlexBuffer *normals, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ac0049037dcff7a769030acd567eac6cd"><div class="ttname"><a href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd">NvFlexCollisionGeometry::sdf</a></div><div class="ttdeci">NvFlexSDFGeometry sdf</div><div class="ttdef"><b>Definition:</b> NvFlex.h:904</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ac0049037dcff7a769030acd567eac6cd"><div class="ttname"><a href="_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd">NvFlexCollisionGeometry::sdf</a></div><div class="ttdeci">NvFlexSDFGeometry sdf</div><div class="ttdef"><b>Definition:</b> NvFlex.h:949</div></div>
<div class="ttc" id="_nv_flex_8h_html_a0def9c3ceff57bbae5bcec15f6d64b36"><div class="ttname"><a href="_nv_flex_8h.html#a0def9c3ceff57bbae5bcec15f6d64b36">NvFlexParams::maxAcceleration</a></div><div class="ttdeci">float maxAcceleration</div><div class="ttdoc">The magnitude of particle acceleration will be clamped to this value at the end of each step (limits ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:113</div></div>
<div class="ttc" id="_nv_flex_8h_html_aafb92c4fa45ce9614cdfd349b3722c8a"><div class="ttname"><a href="_nv_flex_8h.html#aafb92c4fa45ce9614cdfd349b3722c8a">NvFlexParams::wind</a></div><div class="ttdeci">float wind[3]</div><div class="ttdoc">Constant acceleration applied to particles that belong to dynamic triangles, drag needs to be > 0 for...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:120</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f">eNvFlexPhaseShapeChannel5</a></div><div class="ttdoc">Particle will collide with shapes with channel 5 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:176</div></div>
<div class="ttc" id="_nv_flex_8h_html_a9e925acbc34675dfe247da017cbd855f"><div class="ttname"><a href="_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f">NvFlexCreateSolver</a></div><div class="ttdeci">NV_FLEX_API NvFlexSolver * NvFlexCreateSolver(NvFlexLibrary *lib, const NvFlexSolverDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a584ffb275b9986fd5444ed1a7ea247d9"><div class="ttname"><a href="_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9">NvFlexUpdateDistanceField</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUpdateDistanceField(NvFlexLibrary *lib, NvFlexDistanceFieldId sdf, int dimx, int dimy, int dimz, NvFlexBuffer *field)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_timers"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:201</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_timers"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_timers">NvFlexTimers</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:200</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5628f890f4ae070e405feaf1f81a7b85"><div class="ttname"><a href="_nv_flex_8h.html#a5628f890f4ae070e405feaf1f81a7b85">NvFlexParams::surfaceTension</a></div><div class="ttdeci">float surfaceTension</div><div class="ttdoc">Controls how strongly particles attempt to minimize surface area, default: 0.0, range: [0...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:126</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2">eNvFlexPhaseShapeChannel0</a></div><div class="ttdoc">Particle will collide with shapes with channel 0 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:171</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a843360ebf23cd00e5eff72d19e796dd9"><div class="ttname"><a href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9">NvFlexSolverCallbackParams::dt</a></div><div class="ttdeci">float dt</div><div class="ttdoc">The per-update time-step, this is the value passed to NvFlexUpdateSolver() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:278</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a843360ebf23cd00e5eff72d19e796dd9"><div class="ttname"><a href="_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9">NvFlexSolverCallbackParams::dt</a></div><div class="ttdeci">float dt</div><div class="ttdoc">The per-update time-step, this is the value passed to NvFlexUpdateSolver() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:277</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad019ad1901bc33d43e3a60df0dfe9b09"><div class="ttname"><a href="_nv_flex_8h.html#ad019ad1901bc33d43e3a60df0dfe9b09">NvFlexParams::fluidRestDistance</a></div><div class="ttdeci">float fluidRestDistance</div><div class="ttdoc">The distance fluid particles are spaced at the rest density, must be in the range (0...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:102</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a6071050991cf71a8d9ff28ea968479af"><div class="ttname"><a href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af">NvFlexTimers::reorder</a></div><div class="ttdeci">float reorder</div><div class="ttdoc">Time spent reordering particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:207</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a56e990c5bfbc89677988cbf2471c0ade"><div class="ttname"><a href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a></div><div class="ttdeci">unsigned int NvFlexDistanceFieldId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:723</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1">eNvFlexShapeTriangleMesh</a></div><div class="ttdoc">A triangle mesh shape, see FlexTriangleMeshGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:913</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a6071050991cf71a8d9ff28ea968479af"><div class="ttname"><a href="_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af">NvFlexTimers::reorder</a></div><div class="ttdeci">float reorder</div><div class="ttdoc">Time spent reordering particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:206</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a56e990c5bfbc89677988cbf2471c0ade"><div class="ttname"><a href="_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade">NvFlexDistanceFieldId</a></div><div class="ttdeci">unsigned int NvFlexDistanceFieldId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:735</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1">eNvFlexShapeTriangleMesh</a></div><div class="ttdoc">A triangle mesh shape, see FlexTriangleMeshGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:958</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1">eNvFlexPhaseSelfCollideFilter</a></div><div class="ttdoc">If set this particle will ignore collisions with particles closer than the radius in the rest pose...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:167</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab16b6d2e11e0ab417ee6c4cf16f0a27d"><div class="ttname"><a href="_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d">NvFlexGetTimers</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetTimers(NvFlexSolver *solver, NvFlexTimers *timers)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abdc984644770fec15d7af740c9730186"><div class="ttname"><a href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186">NvFlexConvexMeshGeometry::mesh</a></div><div class="ttdeci">NvFlexConvexMeshId mesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:871</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abdc984644770fec15d7af740c9730186"><div class="ttname"><a href="_nv_flex_8h.html#abdc984644770fec15d7af740c9730186">NvFlexConvexMeshGeometry::mesh</a></div><div class="ttdeci">NvFlexConvexMeshId mesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:916</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab5cc56e228374b1da0910356b3172b4e"><div class="ttname"><a href="_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e">NvFlexGetRigids</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetRigids(NvFlexSolver *solver, NvFlexBuffer *offsets, NvFlexBuffer *indices, NvFlexBuffer *restPositions, NvFlexBuffer *restNormals, NvFlexBuffer *stiffness, NvFlexBuffer *thresholds, NvFlexBuffer *creeps, NvFlexBuffer *rotations, NvFlexBuffer *translations)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ae701fdcc0e7bf26c1dfc54d400ffb3d2"><div class="ttname"><a href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2">NvFlexCollisionGeometry::convexMesh</a></div><div class="ttdeci">NvFlexConvexMeshGeometry convexMesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:902</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a></div><div class="ttdeci">NvFlexSolverCallbackStage</div><div class="ttdef"><b>Definition:</b> NvFlex.h:244</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ae701fdcc0e7bf26c1dfc54d400ffb3d2"><div class="ttname"><a href="_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2">NvFlexCollisionGeometry::convexMesh</a></div><div class="ttdeci">NvFlexConvexMeshGeometry convexMesh</div><div class="ttdef"><b>Definition:</b> NvFlex.h:947</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9">NvFlexSolverCallbackStage</a></div><div class="ttdeci">NvFlexSolverCallbackStage</div><div class="ttdef"><b>Definition:</b> NvFlex.h:243</div></div>
<div class="ttc" id="_nv_flex_8h_html_aeff62427426510eeb1cf5625e14ff585"><div class="ttname"><a href="_nv_flex_8h.html#aeff62427426510eeb1cf5625e14ff585">NvFlexParams::dissipation</a></div><div class="ttdeci">float dissipation</div><div class="ttdoc">Damps particle velocity based on how many particle contacts it has. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:116</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26ba"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a></div><div class="ttdeci">NvFlexCollisionShapeType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:907</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e">eNvFlexLogDebug</a></div><div class="ttdoc">Used only in debug version of dll. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:237</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178">eNvFlexCUDA</a></div><div class="ttdoc">Use CUDA compute for Flex, the application must link against the CUDA libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:307</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26ba"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba">NvFlexCollisionShapeType</a></div><div class="ttdeci">NvFlexCollisionShapeType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:952</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e">eNvFlexLogDebug</a></div><div class="ttdoc">Used only in debug version of dll. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:236</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aa392608715b2304f06606d498bd69312"><div class="ttname"><a href="_nv_flex_8h.html#aa392608715b2304f06606d498bd69312">NvFlexGetConvexMeshes</a></div><div class="ttdeci">NV_FLEX_API int NvFlexGetConvexMeshes(NvFlexLibrary *lib, NvFlexConvexMeshId *meshes, int n)</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178">eNvFlexCUDA</a></div><div class="ttdoc">Use CUDA compute for Flex, the application must link against the CUDA libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:306</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab452c355f92dda050d4b4dafb8e71b03"><div class="ttname"><a href="_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03">NvFlexUpdateConvexMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUpdateConvexMesh(NvFlexLibrary *lib, NvFlexConvexMeshId convex, NvFlexBuffer *planes, int numPlanes, const float *lower, const float *upper)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac2f8dff9857a86683aa6e55c058888d7"><div class="ttname"><a href="_nv_flex_8h.html#ac2f8dff9857a86683aa6e55c058888d7">NvFlexParams::relaxationMode</a></div><div class="ttdeci">NvFlexRelaxationMode relaxationMode</div><div class="ttdoc">How the relaxation is applied inside the solver. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:152</div></div>
<div class="ttc" id="_nv_flex_8h_html_af9bb710afb22ec5ed50679aef8717777"><div class="ttname"><a href="_nv_flex_8h.html#af9bb710afb22ec5ed50679aef8717777">NvFlexParams::lift</a></div><div class="ttdeci">float lift</div><div class="ttdoc">Lift force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in th...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:122</div></div>
<div class="ttc" id="_nv_flex_8h_html_a2ac0a898a565a2cdf13b80acd4a3555c"><div class="ttname"><a href="_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c">NvFlexGetDeviceAndContext</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetDeviceAndContext(NvFlexLibrary *lib, void **device, void **context)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a7e760844341b78a547ca4e29abf48806"><div class="ttname"><a href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806">NvFlexInitDesc::renderDevice</a></div><div class="ttdeci">void * renderDevice</div><div class="ttdoc">Direct3D device to use for simulation, if none is specified a new device and context will be created...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:319</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7">eNvFlexShapeBox</a></div><div class="ttdoc">A box shape, see FlexBoxGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:911</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a7e760844341b78a547ca4e29abf48806"><div class="ttname"><a href="_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806">NvFlexInitDesc::renderDevice</a></div><div class="ttdeci">void * renderDevice</div><div class="ttdoc">Direct3D device to use for simulation, if none is specified a new device and context will be created...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:318</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7">eNvFlexShapeBox</a></div><div class="ttdoc">A box shape, see FlexBoxGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:956</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6198445df7f341ec75f37e1dfb44830c"><div class="ttname"><a href="_nv_flex_8h.html#a6198445df7f341ec75f37e1dfb44830c">NvFlexParams::damping</a></div><div class="ttdeci">float damping</div><div class="ttdoc">Viscous drag force, applies a force proportional, and opposite to the particle velocity. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:117</div></div>
<div class="ttc" id="_nv_flex_8h_html_aa03d94be697cdc3aaa56e469d87255a4"><div class="ttname"><a href="_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4">NvFlexSetDynamicTriangles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetDynamicTriangles(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *normals, int numTris)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304c"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c">NvFlexCollisionShapeFlags</a></div><div class="ttdeci">NvFlexCollisionShapeFlags</div><div class="ttdef"><b>Definition:</b> NvFlex.h:917</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304c"><div class="ttname"><a href="_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c">NvFlexCollisionShapeFlags</a></div><div class="ttdeci">NvFlexCollisionShapeFlags</div><div class="ttdef"><b>Definition:</b> NvFlex.h:962</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab4f2eb16c8aba6371fbae51a991eaaa5"><div class="ttname"><a href="_nv_flex_8h.html#ab4f2eb16c8aba6371fbae51a991eaaa5">NvFlexParams::numPlanes</a></div><div class="ttdeci">int numPlanes</div><div class="ttdoc">Num collision planes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:150</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad48f83b8442323687d2268206e913496"><div class="ttname"><a href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a></div><div class="ttdeci">NV_FLEX_API NvFlexBuffer * NvFlexAllocBuffer(NvFlexLibrary *lib, int elementCount, int elementByteStride, NvFlexBufferType type)</div></div>
<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_params"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_params">NvFlexParams</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:95</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ae4203fb9cf4772c3186f96cc2d9f6ea8"><div class="ttname"><a href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8">NvFlexTimers::collideShapes</a></div><div class="ttdeci">float collideShapes</div><div class="ttdoc">Time spent colliding convex shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:209</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ae4203fb9cf4772c3186f96cc2d9f6ea8"><div class="ttname"><a href="_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8">NvFlexTimers::collideShapes</a></div><div class="ttdeci">float collideShapes</div><div class="ttdoc">Time spent colliding convex shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:208</div></div>
<div class="ttc" id="_nv_flex_8h_html_af7a56fc54644e7020e105f2ff41dfb60"><div class="ttname"><a href="_nv_flex_8h.html#af7a56fc54644e7020e105f2ff41dfb60">NvFlexParams::particleFriction</a></div><div class="ttdeci">float particleFriction</div><div class="ttdoc">Coefficient of friction used when colliding particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:107</div></div>
<div class="ttc" id="_nv_flex_8h_html_ac75370f005fd453fe8a324fe62be1b5c"><div class="ttname"><a href="_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c">NvFlexUpdateSolver</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUpdateSolver(NvFlexSolver *solver, float dt, int substeps, bool enableTimers)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a98b4df3721709c862ef5d09edcc6d4c3"><div class="ttname"><a href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3">NvFlexTimers::createGrid</a></div><div class="ttdeci">float createGrid</div><div class="ttdoc">Time spent creating grid. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:206</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a98b4df3721709c862ef5d09edcc6d4c3"><div class="ttname"><a href="_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3">NvFlexTimers::createGrid</a></div><div class="ttdeci">float createGrid</div><div class="ttdoc">Time spent creating grid. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:205</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32">eNvFlexPhaseGroupMask</a></div><div class="ttdoc">Bits [ 0, 19] represent the particle group for controlling collisions. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:162</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae2e480822cc06ec249ee2557f6cc8ee1"><div class="ttname"><a href="_nv_flex_8h.html#ae2e480822cc06ec249ee2557f6cc8ee1">NvFlexParams::buoyancy</a></div><div class="ttdeci">float buoyancy</div><div class="ttdoc">Gravity is scaled by this value for fluid particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:135</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e">eNvFlexLogAll</a></div><div class="ttdoc">All log types. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:238</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e">eNvFlexLogAll</a></div><div class="ttdoc">All log types. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:237</div></div>
<div class="ttc" id="_nv_flex_8h_html_aea4e7117722df53dfe44c676496117fa"><div class="ttname"><a href="_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa">NvFlexSetShapes</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetShapes(NvFlexSolver *solver, NvFlexBuffer *geometry, NvFlexBuffer *shapePositions, NvFlexBuffer *shapeRotations, NvFlexBuffer *shapePrevPositions, NvFlexBuffer *shapePrevRotations, NvFlexBuffer *shapeFlags, int numShapes)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943">eNvFlexD3D12</a></div><div class="ttdoc">Use DirectX 12 compute for Flex, the application must link against the D3D libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:309</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab6e2aa06b69e92cbd3b2bca19f18e794"><div class="ttname"><a href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794">NvFlexTriangleMeshGeometry::scale</a></div><div class="ttdeci">float scale[3]</div><div class="ttdoc">The scale of the object from local space to world space. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:879</div></div>
-<div class="ttc" id="_nv_flex_8h_html_abe52b62e7af361f387d67414b9e2cf9b"><div class="ttname"><a href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b">NvFlexTimers::solveDensities</a></div><div class="ttdeci">float solveDensities</div><div class="ttdoc">Time spent solving density constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:213</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943">eNvFlexD3D12</a></div><div class="ttdoc">Use DirectX 12 compute for Flex, the application must link against the D3D libraries. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:308</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab6e2aa06b69e92cbd3b2bca19f18e794"><div class="ttname"><a href="_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794">NvFlexTriangleMeshGeometry::scale</a></div><div class="ttdeci">float scale[3]</div><div class="ttdoc">The scale of the object from local space to world space. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:924</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abe52b62e7af361f387d67414b9e2cf9b"><div class="ttname"><a href="_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b">NvFlexTimers::solveDensities</a></div><div class="ttdeci">float solveDensities</div><div class="ttdoc">Time spent solving density constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:212</div></div>
<div class="ttc" id="_nv_flex_8h_html_a96a771dd328d019e6164e5f23d29ffcb"><div class="ttname"><a href="_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb">NvFlexGetSmoothParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetSmoothParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_aef768edc8e4df1a78a94a6c971541550"><div class="ttname"><a href="_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550">NvFlexGetAnisotropy</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetAnisotropy(NvFlexSolver *solver, NvFlexBuffer *q1, NvFlexBuffer *q2, NvFlexBuffer *q3, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a4cb4462803ebff105d151fd45b4efad6"><div class="ttname"><a href="_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6">NvFlexDestroyTriangleMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexDestroyTriangleMesh(NvFlexLibrary *lib, NvFlexTriangleMeshId mesh)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a482a7c3b197c4df656e9509fbd04032c"><div class="ttname"><a href="_nv_flex_8h.html#a482a7c3b197c4df656e9509fbd04032c">NvFlexParams::gravity</a></div><div class="ttdeci">float gravity[3]</div><div class="ttdoc">Constant acceleration applied to all particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:99</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69">eNvFlexStageIterationEnd</a></div><div class="ttdoc">Called at the end of each constraint iteration. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:247</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd">eNvFlexLogError</a></div><div class="ttdoc">Error messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:234</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69">eNvFlexStageIterationEnd</a></div><div class="ttdoc">Called at the end of each constraint iteration. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:246</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd"><div class="ttname"><a href="_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd">eNvFlexLogError</a></div><div class="ttdoc">Error messages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:233</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab559759820a4322aff061745ef26c867"><div class="ttname"><a href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer *buf)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a></div><div class="ttdoc">Bits [24, 31] hold flags representing what shape collision channels particles will collide with...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:164</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a75eade1512d023cb19da5b7ebbad10f3"><div class="ttname"><a href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3">NvFlexTimers::solveInflatables</a></div><div class="ttdeci">float solveInflatables</div><div class="ttdoc">Time spent solving pressure constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:218</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44">eNvFlexStageSubstepBegin</a></div><div class="ttdoc">Called at the beginning of each substep after the prediction step has been completed. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:248</div></div>
-<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5">eNvFlexFeatureModeSimpleSolids</a></div><div class="ttdoc">Simple per-particle collision (no per-particle SDF normals, no fluids) </div><div class="ttdef"><b>Definition:</b> NvFlex.h:357</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_init_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:315</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">eNvFlexPhaseShapeChannelMask</a></div><div class="ttdoc">Bits [24, 30] hold flags representing what shape collision channels particles will collide with...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:164</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a75eade1512d023cb19da5b7ebbad10f3"><div class="ttname"><a href="_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3">NvFlexTimers::solveInflatables</a></div><div class="ttdeci">float solveInflatables</div><div class="ttdoc">Time spent solving pressure constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:217</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44">eNvFlexStageSubstepBegin</a></div><div class="ttdoc">Called at the beginning of each substep after the prediction step has been completed. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:247</div></div>
+<div class="ttc" id="_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5"><div class="ttname"><a href="_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5">eNvFlexFeatureModeSimpleSolids</a></div><div class="ttdoc">Simple per-particle collision (no per-particle SDF normals, no fluids) </div><div class="ttdef"><b>Definition:</b> NvFlex.h:356</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_init_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_init_desc">NvFlexInitDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:314</div></div>
<div class="ttc" id="_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db"><div class="ttname"><a href="_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db">eNvFlexRelaxationGlobal</a></div><div class="ttdoc">The relaxation factor is a fixed multiplier on each constraint&#39;s position delta. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:87</div></div>
<div class="ttc" id="_nv_flex_8h_html_afbcbff4e4865105514c194398ab3a7b0"><div class="ttname"><a href="_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0">NvFlexGetVelocities</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetVelocities(NvFlexSolver *solver, NvFlexBuffer *v, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_capsule_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:851</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a3c4d2aa395ff8d0f70a6380448943be2"><div class="ttname"><a href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2">NvFlexTimers::total</a></div><div class="ttdeci">float total</div><div class="ttdoc">Sum of all timers above. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:226</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a5b9af9cf4d889b4772cb61cefda92a87"><div class="ttname"><a href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87">NvFlexSolverCallbackParams::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdoc">Pointer to the user data provided to NvFlexRegisterSolverCallback() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:270</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_capsule_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_capsule_geometry">NvFlexCapsuleGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:896</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a3c4d2aa395ff8d0f70a6380448943be2"><div class="ttname"><a href="_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2">NvFlexTimers::total</a></div><div class="ttdeci">float total</div><div class="ttdoc">Sum of all timers above. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:225</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a5b9af9cf4d889b4772cb61cefda92a87"><div class="ttname"><a href="_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87">NvFlexSolverCallbackParams::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdoc">Pointer to the user data provided to NvFlexRegisterSolverCallback() </div><div class="ttdef"><b>Definition:</b> NvFlex.h:269</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3a20cc2539983a009caaf77ec9ceab82"><div class="ttname"><a href="_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82">NvFlexGetDensities</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetDensities(NvFlexSolver *solver, NvFlexBuffer *densities, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a1241ff3522eafac4b402370a7a6525d8"><div class="ttname"><a href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8">NvFlexCapsuleGeometry::radius</a></div><div class="ttdeci">float radius</div><div class="ttdef"><b>Definition:</b> NvFlex.h:853</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a1241ff3522eafac4b402370a7a6525d8"><div class="ttname"><a href="_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8">NvFlexCapsuleGeometry::radius</a></div><div class="ttdeci">float radius</div><div class="ttdef"><b>Definition:</b> NvFlex.h:898</div></div>
<div class="ttc" id="_nv_flex_8h_html_abdfd0834422dd99154a27962614525e5"><div class="ttname"><a href="_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5">NvFlexGetDynamicTriangles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetDynamicTriangles(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *normals, int numTris)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_ad6ee1e23e0c49aad63df8f605182de3a"><div class="ttname"><a href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakeShapeFlags(NvFlexCollisionShapeType type, bool dynamic)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:938</div></div>
+<div class="ttc" id="_nv_flex_8h_html_ad6ee1e23e0c49aad63df8f605182de3a"><div class="ttname"><a href="_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a">NvFlexMakeShapeFlags</a></div><div class="ttdeci">NV_FLEX_API int NvFlexMakeShapeFlags(NvFlexCollisionShapeType type, bool dynamic)</div><div class="ttdef"><b>Definition:</b> NvFlex.h:983</div></div>
<div class="ttc" id="_nv_flex_8h_html_aab83daf46e5a9428a0ad76fb75e8ec7e"><div class="ttname"><a href="_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e">NvFlexRegisterOGLBuffer</a></div><div class="ttdeci">NV_FLEX_API NvFlexBuffer * NvFlexRegisterOGLBuffer(NvFlexLibrary *lib, int buf, int elementCount, int elementByteStride)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_detail_timer"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:1134</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_detail_timer"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_detail_timer">NvFlexDetailTimer</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:1182</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8"><div class="ttname"><a href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8">eNvFlexPhaseShapeChannel2</a></div><div class="ttdoc">Particle will collide with shapes with channel 2 set (see NvFlexMakeShapeFlags()) ...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:173</div></div>
<div class="ttc" id="_nv_flex_8h_html_a8a1b3c24aa73606bcd47a72473db9629"><div class="ttname"><a href="_nv_flex_8h.html#a8a1b3c24aa73606bcd47a72473db9629">NvFlexParams::relaxationFactor</a></div><div class="ttdeci">float relaxationFactor</div><div class="ttdoc">Control the convergence rate of the parallel solver, default: 1, values greater than 1 may lead to in...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:153</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae67c0cab2ecee8eb9485a26ef0fad6a9"><div class="ttname"><a href="_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9">NvFlexSetSprings</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetSprings(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *restLengths, NvFlexBuffer *stiffness, int numSprings)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9d825db54bc9a0bca998b3654db3b20e"><div class="ttname"><a href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e">NvFlexTimers::finalize</a></div><div class="ttdeci">float finalize</div><div class="ttdoc">Time spent finalizing state. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:224</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9b65813d2a2d3f99db162d39a62481f8"><div class="ttname"><a href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8">NvFlexSolverCallbackParams::sortedToOriginalMap</a></div><div class="ttdeci">const int * sortedToOriginalMap</div><div class="ttdoc">Device pointer that maps the original particle index to the index in the callback data structure...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:281</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a></div><div class="ttdeci">NvFlexComputeType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:305</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9d825db54bc9a0bca998b3654db3b20e"><div class="ttname"><a href="_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e">NvFlexTimers::finalize</a></div><div class="ttdeci">float finalize</div><div class="ttdoc">Time spent finalizing state. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:223</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9b65813d2a2d3f99db162d39a62481f8"><div class="ttname"><a href="_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8">NvFlexSolverCallbackParams::sortedToOriginalMap</a></div><div class="ttdeci">const int * sortedToOriginalMap</div><div class="ttdoc">Device pointer that maps the original particle index to the index in the callback data structure...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:280</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252"><div class="ttname"><a href="_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252">NvFlexComputeType</a></div><div class="ttdeci">NvFlexComputeType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:304</div></div>
+<div class="ttc" id="_nv_flex_8h_html_abbee38b5413bbfd1db914c66fcdfc616"><div class="ttname"><a href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlexGetNeighbors</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetNeighbors(NvFlexSolver *solver, NvFlexBuffer *neighbors, NvFlexBuffer *counts, NvFlexBuffer *apiToInternal, NvFlexBuffer *internalToApi)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a27a185172ad1951d40c476ade8307068"><div class="ttname"><a href="_nv_flex_8h.html#a27a185172ad1951d40c476ade8307068">NvFlexParams::dynamicFriction</a></div><div class="ttdeci">float dynamicFriction</div><div class="ttdoc">Coefficient of friction used when colliding against shapes. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:105</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_s_d_f_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:887</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a800620cc4888bbe5696c5f0e19b22bb9"><div class="ttname"><a href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9">NvFlexConvexMeshGeometry::scale</a></div><div class="ttdeci">float scale[3]</div><div class="ttdef"><b>Definition:</b> NvFlex.h:870</div></div>
-<div class="ttc" id="struct_nv_flex_solver_callback_html"><div class="ttname"><a href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:286</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_s_d_f_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry">NvFlexSDFGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:932</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a800620cc4888bbe5696c5f0e19b22bb9"><div class="ttname"><a href="_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9">NvFlexConvexMeshGeometry::scale</a></div><div class="ttdeci">float scale[3]</div><div class="ttdef"><b>Definition:</b> NvFlex.h:915</div></div>
+<div class="ttc" id="struct_nv_flex_solver_callback_html"><div class="ttname"><a href="struct_nv_flex_solver_callback.html">NvFlexSolverCallback</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:285</div></div>
<div class="ttc" id="_nv_flex_8h_html_a5be673031b100c3861fd9eb824fcf00f"><div class="ttname"><a href="_nv_flex_8h.html#a5be673031b100c3861fd9eb824fcf00f">NvFlexParams::diffuseBuoyancy</a></div><div class="ttdeci">float diffuseBuoyancy</div><div class="ttdoc">Scales force opposing gravity that diffuse particles receive. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:139</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a2f85189cbc3014b73164cf8c4eb87e0a"><div class="ttname"><a href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a">NvFlexTimers::updateBounds</a></div><div class="ttdeci">float updateBounds</div><div class="ttdoc">Time spent updating particle bounds. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:225</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a3ddbb30a2fde4a2e9ccec7854300b1d4"><div class="ttname"><a href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4">NvFlexDetailTimer::name</a></div><div class="ttdeci">char * name</div><div class="ttdef"><b>Definition:</b> NvFlex.h:1136</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a2f85189cbc3014b73164cf8c4eb87e0a"><div class="ttname"><a href="_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a">NvFlexTimers::updateBounds</a></div><div class="ttdeci">float updateBounds</div><div class="ttdoc">Time spent updating particle bounds. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:224</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a3ddbb30a2fde4a2e9ccec7854300b1d4"><div class="ttname"><a href="_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4">NvFlexDetailTimer::name</a></div><div class="ttdeci">char * name</div><div class="ttdef"><b>Definition:</b> NvFlex.h:1184</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab7c54d6c0b3d3595780e5179bf62ebc4"><div class="ttname"><a href="_nv_flex_8h.html#ab7c54d6c0b3d3595780e5179bf62ebc4">NvFlexParams::solidRestDistance</a></div><div class="ttdeci">float solidRestDistance</div><div class="ttdoc">The distance non-fluid particles attempt to maintain from each other, must be in the range (0...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:101</div></div>
<div class="ttc" id="_nv_flex_8h_html_a69a33d464c002a8916a5925c6ef32ae6"><div class="ttname"><a href="_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6">NvFlexSetSolverDescDefaults</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetSolverDescDefaults(NvFlexSolverDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3f93fba688338576ff3258b034525dc5"><div class="ttname"><a href="_nv_flex_8h.html#a3f93fba688338576ff3258b034525dc5">NvFlexParams::solidPressure</a></div><div class="ttdeci">float solidPressure</div><div class="ttdoc">Add pressure from solid surfaces to particles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:133</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4d10188e917ae045e0e903f3db1c638d"><div class="ttname"><a href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d">NvFlexTimers::solveVelocities</a></div><div class="ttdeci">float solveVelocities</div><div class="ttdoc">Time spent solving velocity constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:214</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3">eNvFlexStageCount</a></div><div class="ttdoc">Number of stages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:251</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4d10188e917ae045e0e903f3db1c638d"><div class="ttname"><a href="_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d">NvFlexTimers::solveVelocities</a></div><div class="ttdeci">float solveVelocities</div><div class="ttdoc">Time spent solving velocity constraints. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:213</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3"><div class="ttname"><a href="_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3">eNvFlexStageCount</a></div><div class="ttdoc">Number of stages. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:250</div></div>
<div class="ttc" id="_nv_flex_8h_html_afc306cb48c313ee518461d60c1014485"><div class="ttname"><a href="_nv_flex_8h.html#afc306cb48c313ee518461d60c1014485">NvFlexParams::restitution</a></div><div class="ttdeci">float restitution</div><div class="ttdoc">Coefficient of restitution used when colliding against shapes, particle collisions are always inelast...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:108</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_triangle_mesh_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:877</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_triangle_mesh_geometry"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry">NvFlexTriangleMeshGeometry</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:922</div></div>
<div class="ttc" id="_nv_flex_8h_html_a572c9bf93128466e27d57f225f4d0188"><div class="ttname"><a href="_nv_flex_8h.html#a572c9bf93128466e27d57f225f4d0188">NvFlexParams::numIterations</a></div><div class="ttdeci">int numIterations</div><div class="ttdoc">Number of solver iterations to perform per-substep. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:97</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae6671f352bd77e296609d0bc2a57fd11"><div class="ttname"><a href="_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11">NvFlexRestoreContext</a></div><div class="ttdeci">NV_FLEX_API void NvFlexRestoreContext(NvFlexLibrary *lib)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a581b458848039220203547af53de128f"><div class="ttname"><a href="_nv_flex_8h.html#a581b458848039220203547af53de128f">NvFlexGetParams</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetParams(NvFlexSolver *solver, NvFlexParams *params)</div></div>
@@ -795,21 +809,21 @@
<div class="ttc" id="_nv_flex_8h_html_afd6aff58269d6c359df2453c96397840"><div class="ttname"><a href="_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840">NvFlexGetSolverDesc</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetSolverDesc(NvFlexSolver *solver, NvFlexSolverDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_aeecd11525503649b579ae262b671fbc8"><div class="ttname"><a href="_nv_flex_8h.html#aeecd11525503649b579ae262b671fbc8">NvFlexParams::particleCollisionMargin</a></div><div class="ttdeci">float particleCollisionMargin</div><div class="ttdoc">Increases the radius used during neighbor finding, this is useful if particles are expected to move s...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:146</div></div>
<div class="ttc" id="_nv_flex_8h_html_acdde802d58e1558c03e449e04ae33f15"><div class="ttname"><a href="_nv_flex_8h.html#acdde802d58e1558c03e449e04ae33f15">NvFlexParams::diffuseThreshold</a></div><div class="ttdeci">float diffuseThreshold</div><div class="ttdoc">Particles with kinetic energy + divergence above this threshold will spawn new diffuse particles...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:138</div></div>
-<div class="ttc" id="_nv_flex_8h_html_af842f041f92c608b3ebfa2092caea889"><div class="ttname"><a href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889">NvFlexCopyDesc::elementCount</a></div><div class="ttdeci">int elementCount</div><div class="ttdef"><b>Definition:</b> NvFlex.h:504</div></div>
+<div class="ttc" id="_nv_flex_8h_html_af842f041f92c608b3ebfa2092caea889"><div class="ttname"><a href="_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889">NvFlexCopyDesc::elementCount</a></div><div class="ttdeci">int elementCount</div><div class="ttdef"><b>Definition:</b> NvFlex.h:516</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576">eNvFlexBufferDevice</a></div><div class="ttdoc">A device memory buffer, mapping this on CUDA will return a device memory pointer, and will return a b...</div><div class="ttdef"><b>Definition:</b> NvFlex.h:79</div></div>
<div class="ttc" id="_nv_flex_8h_html_aab5f90f4024d71d08c3f9327c6d8c184"><div class="ttname"><a href="_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184">NvFlexGetSprings</a></div><div class="ttdeci">NV_FLEX_API void NvFlexGetSprings(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *restLengths, NvFlexBuffer *stiffness, int numSprings)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a125cfd9817437bb4f4bcb9418efa3dda"><div class="ttname"><a href="_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda">NvFlexSetRestParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetRestParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>
<div class="ttc" id="_nv_flex_8h_html_ae2b271f123db0054512936f2acc6467f"><div class="ttname"><a href="_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f">NvFlexSetVelocities</a></div><div class="ttdeci">NV_FLEX_API void NvFlexSetVelocities(NvFlexSolver *solver, NvFlexBuffer *v, const NvFlexCopyDesc *desc)</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce">eNvFlexShapeConvexMesh</a></div><div class="ttdoc">A convex mesh shape, see FlexConvexMeshGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:912</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a8cb34cbcf9def6817d6d5d3c07177052"><div class="ttname"><a href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052">NvFlexTimers::updateTriangles</a></div><div class="ttdeci">float updateTriangles</div><div class="ttdoc">Time spent updating dynamic triangles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:222</div></div>
-<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_copy_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:500</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce"><div class="ttname"><a href="_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce">eNvFlexShapeConvexMesh</a></div><div class="ttdoc">A convex mesh shape, see FlexConvexMeshGeometry. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:957</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a8cb34cbcf9def6817d6d5d3c07177052"><div class="ttname"><a href="_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052">NvFlexTimers::updateTriangles</a></div><div class="ttdeci">float updateTriangles</div><div class="ttdoc">Time spent updating dynamic triangles. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:221</div></div>
+<div class="ttc" id="_nv_flex_8h_html_struct_nv_flex_copy_desc"><div class="ttname"><a href="_nv_flex_8h.html#struct_nv_flex_copy_desc">NvFlexCopyDesc</a></div><div class="ttdef"><b>Definition:</b> NvFlex.h:512</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a></div><div class="ttdeci">NvFlexBufferType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:76</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a23b8779c1516647ef5ed7f8010d619ff"><div class="ttname"><a href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff">NvFlexInitDesc::enableExtensions</a></div><div class="ttdeci">bool enableExtensions</div><div class="ttdoc">Enable or disable NVIDIA/AMD extensions in DirectX, can lead to improved performance. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:318</div></div>
-<div class="ttc" id="_nv_flex_8h_html_a7ab5aa68da7ca1f69211a900f1a1c586"><div class="ttname"><a href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a></div><div class="ttdeci">unsigned int NvFlexConvexMeshId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:730</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a23b8779c1516647ef5ed7f8010d619ff"><div class="ttname"><a href="_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff">NvFlexInitDesc::enableExtensions</a></div><div class="ttdeci">bool enableExtensions</div><div class="ttdoc">Enable or disable NVIDIA/AMD extensions in DirectX, can lead to improved performance. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:317</div></div>
+<div class="ttc" id="_nv_flex_8h_html_a7ab5aa68da7ca1f69211a900f1a1c586"><div class="ttname"><a href="_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586">NvFlexConvexMeshId</a></div><div class="ttdeci">unsigned int NvFlexConvexMeshId</div><div class="ttdef"><b>Definition:</b> NvFlex.h:742</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/_nv_flex_device_8h.html b/doc/_static/api/_nv_flex_device_8h.html
index 9f0be26..867eaa4 100644
--- a/doc/_static/api/_nv_flex_device_8h.html
+++ b/doc/_static/api/_nv_flex_device_8h.html
@@ -115,7 +115,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/_nv_flex_device_8h_source.html b/doc/_static/api/_nv_flex_device_8h_source.html
index 8986294..597c6a9 100644
--- a/doc/_static/api/_nv_flex_device_8h_source.html
+++ b/doc/_static/api/_nv_flex_device_8h_source.html
@@ -91,7 +91,7 @@
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/_nv_flex_ext_8h.html b/doc/_static/api/_nv_flex_ext_8h.html
index 8b89124..b12e47a 100644
--- a/doc/_static/api/_nv_flex_ext_8h.html
+++ b/doc/_static/api/_nv_flex_ext_8h.html
@@ -57,6 +57,8 @@ Data Structures</h2></td></tr>
<tr class="separator:struct_nv_flex_ext_asset"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct_nv_flex_ext_instance"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a></td></tr>
<tr class="separator:struct_nv_flex_ext_instance"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:struct_nv_flex_ext_soft_joint"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a></td></tr>
+<tr class="separator:struct_nv_flex_ext_soft_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct_nv_flex_ext_tearing_particle_clone"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></td></tr>
<tr class="separator:struct_nv_flex_ext_tearing_particle_clone"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct_nv_flex_ext_tearing_mesh_edit"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></td></tr>
@@ -157,6 +159,12 @@ Functions</h2></td></tr>
<tr class="separator:ad08da77f432ca56bc59647bf73da86cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa36d43b9e53b9b66d43c2bc5eb5abf98"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExtSetForceFields</a> (<a class="el" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a> *callback, const <a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a> *forceFields, int numForceFields)</td></tr>
<tr class="separator:aa36d43b9e53b9b66d43c2bc5eb5abf98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af52527c58c7bd671d26b2985b078aff4"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API <a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint</a> (<a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *container, const int *particleIndices, const float *particleLocalPositions, const int numJointParticles, const float stiffness)</td></tr>
+<tr class="separator:af52527c58c7bd671d26b2985b078aff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a021a25caa64e7f9e9542ea0bc7e6d632"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExtDestroySoftJoint</a> (<a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *container, <a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a> *joint)</td></tr>
+<tr class="separator:a021a25caa64e7f9e9542ea0bc7e6d632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fea23644fb7b0840132eee46ea971e4"><td class="memItemLeft" align="right" valign="top">NV_FLEX_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExtSoftJointSetTransform</a> (<a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *container, <a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a> *joint, const float *position, const float *rotation)</td></tr>
+<tr class="separator:a3fea23644fb7b0840132eee46ea971e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The main include file for the Flex extensions API, this is a collection of helper functions for asset creation, scene management, and sample code that builds on the Flex core API. </p>
@@ -431,6 +439,70 @@ User data pointer. </td></tr>
</div>
</div>
+<a name="struct_nv_flex_ext_soft_joint" id="struct_nv_flex_ext_soft_joint"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct NvFlexExtSoftJoint</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Represents a soft joint with a radius overlapping different flex objects Each soft joint can be spawned into a container using <a class="el" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint()</a> </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9b81cabbc738fc2650c978bd39ae3bad"></a>int *</td>
+<td class="fieldname">
+particleIndices</td>
+<td class="fielddoc">
+Global indices. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a284e220726302e761f7cf5aa07884723"></a>float *</td>
+<td class="fieldname">
+particleLocalPositions</td>
+<td class="fielddoc">
+Relative offsets from the particles of the joint to the center. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a7850f47d32a8fe6107aae7a098de8f01"></a>int</td>
+<td class="fieldname">
+shapeIndex</td>
+<td class="fielddoc">
+Index in the container's shape body constraints array. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a77c2b96e59d92c49f902c2707df095f0"></a>int</td>
+<td class="fieldname">
+numParticles</td>
+<td class="fielddoc">
+Number of particles in the joint. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0a01f7b650db1077ffc165762703552b"></a>float</td>
+<td class="fieldname">
+shapeTranslations[3]</td>
+<td class="fielddoc">
+Joint shape matching group translations (vec3s) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aad1bc1104e48d8839d1b9c4c41b8ed42"></a>float</td>
+<td class="fieldname">
+shapeRotations[4]</td>
+<td class="fielddoc">
+Joint shape matching group rotations (quaternions) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a53b814424d9b4cd111a95a2b8ea16f14"></a>float</td>
+<td class="fieldname">
+stiffness</td>
+<td class="fielddoc">
+Joint stiffness. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad5a3a0aed59d8fb5dedbabe189749bc3"></a>bool</td>
+<td class="fieldname">
+initialized</td>
+<td class="fielddoc">
+Joint status flag. </td></tr>
+</table>
+
+</div>
+</div>
<a name="struct_nv_flex_ext_tearing_particle_clone" id="struct_nv_flex_ext_tearing_particle_clone"></a>
<div class="memitem">
<div class="memproto">
@@ -2136,10 +2208,148 @@ Linear or no falloff. </td></tr>
</div>
</div>
+<a class="anchor" id="af52527c58c7bd671d26b2985b078aff4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API <a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* NvFlexExtCreateSoftJoint </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *&#160;</td>
+ <td class="paramname"><em>container</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int *&#160;</td>
+ <td class="paramname"><em>particleIndices</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float *&#160;</td>
+ <td class="paramname"><em>particleLocalPositions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int&#160;</td>
+ <td class="paramname"><em>numJointParticles</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float&#160;</td>
+ <td class="paramname"><em>stiffness</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Create a soft joint, the container will internally store a reference to the joint array</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">container</td><td>The container to spawn into </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">particleIndices</td><td>A pointer to an array of particle indices </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">particleLocalPositions</td><td>A pointer to an array of particle local positions </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">numJointParticles</td><td>The number of particles in the joint </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">stiffness</td><td>The stiffness of the joint </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the soft joint </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a021a25caa64e7f9e9542ea0bc7e6d632"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API void NvFlexExtDestroySoftJoint </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *&#160;</td>
+ <td class="paramname"><em>container</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Destroy a soft joint</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">container</td><td>The container the joint belongs to </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">joint</td><td>The soft joint to destroy </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a3fea23644fb7b0840132eee46ea971e4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NV_FLEX_API void NvFlexExtSoftJointSetTransform </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> *&#160;</td>
+ <td class="paramname"><em>container</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float *&#160;</td>
+ <td class="paramname"><em>position</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float *&#160;</td>
+ <td class="paramname"><em>rotation</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Transform all the local particles of the soft joint</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">container</td><td>The container to spawn into </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">joint</td><td>The soft joint to destroy </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>A pointer to a vec3 storing the soft joint new position </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rotation</td><td>A pointer to a quaternion storing the soft joint new rotation </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/_nv_flex_ext_8h_source.html b/doc/_static/api/_nv_flex_ext_8h_source.html
index 18c994b..2fde2da 100644
--- a/doc/_static/api/_nv_flex_ext_8h_source.html
+++ b/doc/_static/api/_nv_flex_ext_8h_source.html
@@ -354,134 +354,153 @@
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7"> 364</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7">userData</a>; </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;};</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4"> 370</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720">NvFlexExtCreateWeldedMeshIndices</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keywordtype">int</span>* uniqueVerts, <span class="keywordtype">int</span>* originalToUniqueMap, <span class="keywordtype">float</span> threshold);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee">NvFlexExtCreateClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> tetherStiffness, <span class="keywordtype">float</span> tetherGive, <span class="keywordtype">float</span> pressure);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4">NvFlexExtCreateTearingClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">int</span> maxParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> pressure);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExtDestroyTearingCloth</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 433</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></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"><a class="line" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397"> 435</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">srcIndex</a>; </div>
-<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa"> 436</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">destIndex</a>;</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;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 446</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;{</div>
-<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4"> 448</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">triIndex</a>; <span class="comment">// index into the triangle indices array to update</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8"> 449</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">newParticleIndex</a>; <span class="comment">// new value for the index</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;};</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExtTearClothMesh</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keywordtype">float</span> maxStrain, <span class="keywordtype">int</span> maxSplits, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a>* particleCopies, <span class="keywordtype">int</span>* numParticleCopies, <span class="keywordtype">int</span> maxCopies, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a>* triangleEdits, <span class="keywordtype">int</span>* numTriangleEdits, <span class="keywordtype">int</span> maxEdits);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce">NvFlexExtCreateRigidFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> radius, <span class="keywordtype">float</span> expand);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExtCreateSoftFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> particleSpacing, <span class="keywordtype">float</span> volumeSampling, <span class="keywordtype">float</span> surfaceSampling, <span class="keywordtype">float</span> clusterSpacing, <span class="keywordtype">float</span> clusterRadius, <span class="keywordtype">float</span> clusterStiffness, <span class="keywordtype">float</span> linkRadius, <span class="keywordtype">float</span> linkStiffness, <span class="keywordtype">float</span> globalStiffness, <span class="keywordtype">float</span> clusterPlasticThreshold, <span class="keywordtype">float</span> clusterPlasticCreep);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745">NvFlexExtDestroyAsset</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExtCreateSoftMeshSkinning</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">float</span>* bones, <span class="keywordtype">int</span> numBones, <span class="keywordtype">float</span> falloff, <span class="keywordtype">float</span> maxDistance, <span class="keywordtype">float</span>* skinningWeights, <span class="keywordtype">int</span>* skinningIndices);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* <a class="code" href="_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658">NvFlexExtCreateContainer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">int</span> maxParticles);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5">NvFlexExtDestroyContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d">NvFlexExtAllocParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span>* indices);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70">NvFlexExtFreeParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div>
+<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 371</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a></div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;{</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad"> 373</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad">particleIndices</a>; </div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723"> 374</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723">particleLocalPositions</a>; </div>
+<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01"> 375</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01">shapeIndex</a>; </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0"> 376</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0">numParticles</a>; </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"><a class="line" href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b"> 378</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b">shapeTranslations</a>[3]; </div>
+<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42"> 379</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42">shapeRotations</a>[4]; </div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14"> 381</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14">stiffness</a>; </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"><a class="line" href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3"> 383</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3">initialized</a>; </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;};</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4"> 389</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720">NvFlexExtCreateWeldedMeshIndices</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keywordtype">int</span>* uniqueVerts, <span class="keywordtype">int</span>* originalToUniqueMap, <span class="keywordtype">float</span> threshold);</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee">NvFlexExtCreateClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> tetherStiffness, <span class="keywordtype">float</span> tetherGive, <span class="keywordtype">float</span> pressure);</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4">NvFlexExtCreateTearingClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">int</span> maxParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> pressure);</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExtDestroyTearingCloth</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
+<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 452</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;{</div>
+<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397"> 454</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">srcIndex</a>; </div>
+<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa"> 455</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">destIndex</a>;</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;};</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 465</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;{</div>
+<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4"> 467</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">triIndex</a>; <span class="comment">// index into the triangle indices array to update</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8"> 468</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">newParticleIndex</a>; <span class="comment">// new value for the index</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;};</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExtTearClothMesh</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keywordtype">float</span> maxStrain, <span class="keywordtype">int</span> maxSplits, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a>* particleCopies, <span class="keywordtype">int</span>* numParticleCopies, <span class="keywordtype">int</span> maxCopies, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a>* triangleEdits, <span class="keywordtype">int</span>* numTriangleEdits, <span class="keywordtype">int</span> maxEdits);</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce">NvFlexExtCreateRigidFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> radius, <span class="keywordtype">float</span> expand);</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExtCreateSoftFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> particleSpacing, <span class="keywordtype">float</span> volumeSampling, <span class="keywordtype">float</span> surfaceSampling, <span class="keywordtype">float</span> clusterSpacing, <span class="keywordtype">float</span> clusterRadius, <span class="keywordtype">float</span> clusterStiffness, <span class="keywordtype">float</span> linkRadius, <span class="keywordtype">float</span> linkStiffness, <span class="keywordtype">float</span> globalStiffness, <span class="keywordtype">float</span> clusterPlasticThreshold, <span class="keywordtype">float</span> clusterPlasticCreep);</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;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745">NvFlexExtDestroyAsset</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExtCreateSoftMeshSkinning</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">float</span>* bones, <span class="keywordtype">int</span> numBones, <span class="keywordtype">float</span> falloff, <span class="keywordtype">float</span> maxDistance, <span class="keywordtype">float</span>* skinningWeights, <span class="keywordtype">int</span>* skinningIndices);</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* <a class="code" href="_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658">NvFlexExtCreateContainer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">int</span> maxParticles);</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5">NvFlexExtDestroyContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db">NvFlexExtGetActiveList</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span>* indices);</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d">NvFlexExtAllocParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span>* indices);</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 569</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;{</div>
-<div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba"> 571</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">particles</a>; </div>
-<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148"> 572</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">restParticles</a>; </div>
-<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f"> 573</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">velocities</a>; </div>
-<div class="line"><a name="l00574"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270"> 574</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">phases</a>; </div>
-<div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779"> 575</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">normals</a>; </div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70">NvFlexExtFreeParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices);</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701"> 577</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">lower</a>; </div>
-<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac"> 578</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">upper</a>; </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;};</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a> <a class="code" href="_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb">NvFlexExtMapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59">NvFlexExtUnmapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 590</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;{</div>
-<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde"> 592</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">indices</a>; </div>
-<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78"> 593</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">normals</a>; </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;};</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db">NvFlexExtGetActiveList</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span>* indices);</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div>
+<div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 588</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;{</div>
+<div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba"> 590</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">particles</a>; </div>
+<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148"> 591</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">restParticles</a>; </div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f"> 592</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">velocities</a>; </div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270"> 593</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">phases</a>; </div>
+<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779"> 594</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">normals</a>; </div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a> <a class="code" href="_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de">NvFlexExtMapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783">NvFlexExtUnmapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 608</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;{</div>
-<div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2"> 610</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">rotations</a>; </div>
-<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4"> 611</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">positions</a>; </div>
-<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95"> 612</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">n</a>; </div>
+<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701"> 596</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">lower</a>; </div>
+<div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac"> 597</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">upper</a>; </div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;};</div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a> <a class="code" href="_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb">NvFlexExtMapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59">NvFlexExtUnmapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div>
+<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 609</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;{</div>
+<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde"> 611</a></span>&#160; <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">indices</a>; </div>
+<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78"> 612</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">normals</a>; </div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;};</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a> <a class="code" href="_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc">NvFlexExtMapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a> <a class="code" href="_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de">NvFlexExtMapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69">NvFlexExtUnmapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783">NvFlexExtUnmapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* <a class="code" href="_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973">NvFlexExtCreateInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a>* particleData, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keyword">const</span> <span class="keywordtype">float</span>* transform, <span class="keywordtype">float</span> vx, <span class="keywordtype">float</span> vy, <span class="keywordtype">float</span> vz, <span class="keywordtype">int</span> phase, <span class="keywordtype">float</span> invMassScale);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExtDestroyInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* instance);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34">NvFlexExtNotifyAssetChanged</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b">NvFlexExtTickContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">float</span> dt, <span class="keywordtype">int</span> numSubsteps, <span class="keywordtype">bool</span> enableTimers=<span class="keyword">false</span>);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c">NvFlexExtPushToDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58">NvFlexExtPullFromDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628">NvFlexExtUpdateInstances</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e"> 715</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;{</div>
-<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"> 718</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a> = 0,</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"> 721</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a> = 1,</div>
+<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 627</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;{</div>
+<div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2"> 629</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">rotations</a>; </div>
+<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4"> 630</a></span>&#160; <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">positions</a>; </div>
+<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95"> 631</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">n</a>; </div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;};</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a> <a class="code" href="_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc">NvFlexExtMapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69">NvFlexExtUnmapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* <a class="code" href="_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973">NvFlexExtCreateInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a>* particleData, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keyword">const</span> <span class="keywordtype">float</span>* transform, <span class="keywordtype">float</span> vx, <span class="keywordtype">float</span> vy, <span class="keywordtype">float</span> vz, <span class="keywordtype">int</span> phase, <span class="keywordtype">float</span> invMassScale);</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExtDestroyInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* instance);</div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34">NvFlexExtNotifyAssetChanged</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b">NvFlexExtTickContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">float</span> dt, <span class="keywordtype">int</span> numSubsteps, <span class="keywordtype">bool</span> enableTimers=<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div>
+<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c">NvFlexExtPushToDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58">NvFlexExtPullFromDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"> 724</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a> = 2,</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;};</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 730</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;{</div>
-<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0"> 732</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">mPosition</a>[3]; </div>
-<div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38"> 733</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">mRadius</a>; </div>
-<div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b"> 734</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">mStrength</a>; </div>
-<div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951"> 735</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a> <a class="code" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">mMode</a>; </div>
-<div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02"> 736</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">mLinearFalloff</a>; </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;};</div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628">NvFlexExtUpdateInstances</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div>
+<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div>
+<div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e"> 734</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;{</div>
+<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"> 737</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a> = 0,</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f"> 743</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a> <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* <a class="code" href="_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf">NvFlexExtCreateForceFieldCallback</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb">NvFlexExtDestroyForceFieldCallback</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExtSetForceFields</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a>* forceFields, <span class="keywordtype">int</span> numForceFields);</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;} <span class="comment">// extern &quot;C&quot;</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="preprocessor">#endif // NV_FLEX_EXT_H</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;</div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a785f5a041fb93cf460cde7153f87fa02"><div class="ttname"><a href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">NvFlexExtForceField::mLinearFalloff</a></div><div class="ttdeci">bool mLinearFalloff</div><div class="ttdoc">Linear or no falloff. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:736</div></div>
+<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"> 740</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a> = 1,</div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;</div>
+<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"> 743</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a> = 2,</div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;};</div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div>
+<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 749</a></span>&#160;<span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;{</div>
+<div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0"> 751</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">mPosition</a>[3]; </div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38"> 752</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">mRadius</a>; </div>
+<div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b"> 753</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">mStrength</a>; </div>
+<div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951"> 754</a></span>&#160; <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a> <a class="code" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">mMode</a>; </div>
+<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02"> 755</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">mLinearFalloff</a>; </div>
+<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;};</div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div>
+<div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f"> 762</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a> <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>;</div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* <a class="code" href="_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf">NvFlexExtCreateForceFieldCallback</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
+<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb">NvFlexExtDestroyForceFieldCallback</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback);</div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExtSetForceFields</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a>* forceFields, <span class="keywordtype">int</span> numForceFields);</div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* <a class="code" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <span class="keywordtype">int</span>* particleIndices, <span class="keyword">const</span> <span class="keywordtype">float</span>* particleLocalPositions, <span class="keyword">const</span> <span class="keywordtype">int</span> numJointParticles, <span class="keyword">const</span> <span class="keywordtype">float</span> stiffness);</div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;</div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExtDestroySoftJoint</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* joint);</div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExtSoftJointSetTransform</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* joint, <span class="keyword">const</span> <span class="keywordtype">float</span>* position, <span class="keyword">const</span> <span class="keywordtype">float</span>* rotation);</div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;</div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;} <span class="comment">// extern &quot;C&quot;</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="preprocessor">#endif // NV_FLEX_EXT_H</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;</div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a785f5a041fb93cf460cde7153f87fa02"><div class="ttname"><a href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">NvFlexExtForceField::mLinearFalloff</a></div><div class="ttdeci">bool mLinearFalloff</div><div class="ttdoc">Linear or no falloff. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:755</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ade3c494ee6e75e54a6ba73d6bc100bd9"><div class="ttname"><a href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9">NvFlexVector::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:86</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a24fa4e3807b492cd5fbdc6c1c235062b"><div class="ttname"><a href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">NvFlexVector::type</a></div><div class="ttdeci">NvFlexBufferType type</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:76</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4eceb2845977219379afdd06397a6706"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706">NvFlexExtAsset::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of particles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:315</div></div>
@@ -490,11 +509,11 @@
<div class="ttc" id="_nv_flex_ext_8h_html_a4ffe9bcd59a6cfc8900ac136f5123304"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304">NvFlexExtMovingFrameApply</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameApply(NvFlexExtMovingFrame *frame, float *positions, float *velocities, int numParticles, float linearScale, float angularScale, float dt)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3d0a712689ce07a5652d48ea25fa05b9"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9">NvFlexExtInstance::shapeRotations</a></div><div class="ttdeci">float * shapeRotations</div><div class="ttdoc">Shape matching group rotations (quaternions) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:360</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ae5818b10d20083ee9ed0aa7826ea7ab8"><div class="ttname"><a href="struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8">NvFlexVector::NvFlexVector</a></div><div class="ttdeci">NvFlexVector(NvFlexLibrary *l, const T *ptr, int size, NvFlexBufferType type=eNvFlexBufferHost)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:58</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a4e845f47484e00a272ad351b4bf28e95"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">NvFlexExtShapeData::n</a></div><div class="ttdeci">int n</div><div class="ttdoc">Number of valid tranforms. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:612</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a4e845f47484e00a272ad351b4bf28e95"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">NvFlexExtShapeData::n</a></div><div class="ttdeci">int n</div><div class="ttdoc">Number of valid tranforms. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:631</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ab08ce71766df91fc9201a61a48054d0c"><div class="ttname"><a href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c">NvFlexVector::lib</a></div><div class="ttdeci">NvFlexLibrary * lib</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:70</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0ac3c8cc1bb87eaa50690f44e56a74da"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da">NvFlexExtAsset::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Local space particle positions, x,y,z,1/mass. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:314</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a96b73b81c5db272d950efe3f03a8cef8"><div class="ttname"><a href="_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8">NvFlexExtAsset::shapeOffsets</a></div><div class="ttdeci">int * shapeOffsets</div><div class="ttdoc">Each entry stores the end of the shape&#39;s indices in the indices array (exclusive prefix sum of shape ...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:327</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a8cf124de0fc370757cb890f83984ced8"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">NvFlexExtTearingMeshEdit::newParticleIndex</a></div><div class="ttdeci">int newParticleIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:449</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a8cf124de0fc370757cb890f83984ced8"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">NvFlexExtTearingMeshEdit::newParticleIndex</a></div><div class="ttdeci">int newParticleIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:468</div></div>
<div class="ttc" id="_nv_flex_8h_html_a054cb27646a389ea257d1bbde46a6e97"><div class="ttname"><a href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUnmap(NvFlexBuffer *buffer)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a2b5634f64bd0d8d86f894885a1c16a33"><div class="ttname"><a href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExtDestroyInstance</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyInstance(NvFlexExtContainer *container, const NvFlexExtInstance *instance)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a780022c1b8425074ce08328e8e8c35cc"><div class="ttname"><a href="_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc">NvFlexExtMovingFrameUpdate</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameUpdate(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation, float dt)</div></div>
@@ -503,26 +522,28 @@
<div class="ttc" id="_nv_flex_ext_8h_html_a9020959583f85486e060a7b5e611476d"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d">NvFlexExtAsset::springRestLengths</a></div><div class="ttdeci">float * springRestLengths</div><div class="ttdoc">Spring rest-lengths. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:321</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a1933b633e9055d9adf8b62c4aa8a3bc0"><div class="ttname"><a href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">NvFlexVector::size</a></div><div class="ttdeci">int size() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:162</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab4caadf5a6b19674849bfce91d986e7b"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b">NvFlexExtTickContainer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtTickContainer(NvFlexExtContainer *container, float dt, int numSubsteps, bool enableTimers=false)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_particle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:569</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_particle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:588</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aca9a5ecc1fd26fedf90f8f17e87e3ca8"><div class="ttname"><a href="_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8">NvFlexExtInstance::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of simulation particles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:353</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_af0cd639c21be28640fe5e1dd94931d59"><div class="ttname"><a href="_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59">NvFlexExtUnmapParticleData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapParticleData(NvFlexExtContainer *container)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_afaf84632a42346a718009bcda5efc8b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a></div><div class="ttdeci">struct NvFlexExtContainer NvFlexExtContainer</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:370</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_afaf84632a42346a718009bcda5efc8b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a></div><div class="ttdeci">struct NvFlexExtContainer NvFlexExtContainer</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:389</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a769d5ad0723a3fceac7951967e8b4d03"><div class="ttname"><a href="struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03">NvFlexVector::operator[]</a></div><div class="ttdeci">T &amp; operator[](int index)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:128</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_af52527c58c7bd671d26b2985b078aff4"><div class="ttname"><a href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtSoftJoint * NvFlexExtCreateSoftJoint(NvFlexExtContainer *container, const int *particleIndices, const float *particleLocalPositions, const int numJointParticles, const float stiffness)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8000e722ce864bbfbce0f303f39186d7"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7">NvFlexExtInstance::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdoc">User data pointer. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:364</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a89ea7bbd26bec46f1b82d84257de1f58"><div class="ttname"><a href="_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58">NvFlexExtPullFromDevice</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtPullFromDevice(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a36a3fd5e42c5d8005f72bcc43217cf37"><div class="ttname"><a href="struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37">NvFlexVector::resize</a></div><div class="ttdeci">void resize(int newCount, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:211</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aeee311155e99ce95c506078964a7dc3c"><div class="ttname"><a href="_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c">NvFlexExtAsset::triangleIndices</a></div><div class="ttdeci">int * triangleIndices</div><div class="ttdoc">Indexed triangle mesh indices for clothing. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:337</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ac28b5fd10fd519265c66cf4a0ce8e6ae"><div class="ttname"><a href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae">NvFlexVector::capacity</a></div><div class="ttdeci">int capacity</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:75</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1a0c7a0c03148b1586c4fb48f14a565f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f">NvFlexExtInstance::particleIndices</a></div><div class="ttdeci">int * particleIndices</div><div class="ttdoc">Simulation particle indices. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:352</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a7ad225a762dcf91b7155c7229dd08d38"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">NvFlexExtForceField::mRadius</a></div><div class="ttdeci">float mRadius</div><div class="ttdoc">Radius of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:733</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a7ad225a762dcf91b7155c7229dd08d38"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">NvFlexExtForceField::mRadius</a></div><div class="ttdeci">float mRadius</div><div class="ttdoc">Radius of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:752</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad858d4df98a4300668f2b8048881c0d5"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5">NvFlexExtAsset::numTriangles</a></div><div class="ttdeci">int numTriangles</div><div class="ttdoc">Number of triangles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:338</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6"><div class="ttname"><a href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6">eNvFlexMapWait</a></div><div class="ttdoc">Calling thread will be blocked until buffer is ready for access, default. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:69</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a53b814424d9b4cd111a95a2b8ea16f14"><div class="ttname"><a href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14">NvFlexExtSoftJoint::stiffness</a></div><div class="ttdeci">float stiffness</div><div class="ttdoc">Joint stiffness. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:381</div></div>
<div class="ttc" id="_nv_flex_8h_html_afaeb57f4ee7e54b1ae1b912a465ed39e"><div class="ttname"><a href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a></div><div class="ttdeci">struct NvFlexSolver NvFlexSolver</div><div class="ttdef"><b>Definition:</b> NvFlex.h:57</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8bef033b2a8567dfcc954e22534147ee"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee">NvFlexExtCreateClothFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateClothFromMesh(const float *particles, int numParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_force_field"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:730</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_force_field"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:749</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4810f46c27fd0cfacfb1f4be9dff0479"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479">NvFlexExtAsset::numShapeIndices</a></div><div class="ttdeci">int numShapeIndices</div><div class="ttdoc">Total number of indices for shape constraints. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:326</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a88054283907d3386f1a30cdc4475acb0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExtDestroyTearingCloth</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyTearingCloth(NvFlexExtAsset *asset)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a6517fee9c5e151673ecd5ad91cbf2ae2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">NvFlexExtShapeData::rotations</a></div><div class="ttdeci">float * rotations</div><div class="ttdoc">Receives a pointer to the array quaternion rotation data in [x, y z, w] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:610</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a6517fee9c5e151673ecd5ad91cbf2ae2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">NvFlexExtShapeData::rotations</a></div><div class="ttdeci">float * rotations</div><div class="ttdoc">Receives a pointer to the array quaternion rotation data in [x, y z, w] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:629</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7fc268a27306f6fc68dd1c106cfa62db"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db">NvFlexExtGetActiveList</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtGetActiveList(NvFlexExtContainer *container, int *indices)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa67489d3beb86e2b566e0fa2e978ed11"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11">NvFlexExtInstance::shapeIndex</a></div><div class="ttdeci">int shapeIndex</div><div class="ttdoc">Index in the container&#39;s shape body constraints array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:356</div></div>
<div class="ttc" id="struct_nv_flex_vector_html"><div class="ttname"><a href="struct_nv_flex_vector.html">NvFlexVector</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:45</div></div>
@@ -539,7 +560,7 @@
<div class="ttc" id="_nv_flex_ext_8h_html_a95fbd8d303fe90992b95b63a29eb5344"><div class="ttname"><a href="_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344">NvFlexExtMovingFrame::omega</a></div><div class="ttdeci">float omega[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:237</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a6e3f12e9e92abb31b115cf31b33e34bb"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExtCreateSoftMeshSkinning</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtCreateSoftMeshSkinning(const float *vertices, int numVertices, const float *bones, int numBones, float falloff, float maxDistance, float *skinningWeights, int *skinningIndices)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a73f78b1efc76c96666a96a79064670c5"><div class="ttname"><a href="struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5">NvFlexVector::empty</a></div><div class="ttdeci">bool empty() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:164</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_mesh_edit"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:446</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_mesh_edit"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:465</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a49906c9e3466d40383cddf627fe26658"><div class="ttname"><a href="_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658">NvFlexExtCreateContainer</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtContainer * NvFlexExtCreateContainer(NvFlexLibrary *lib, NvFlexSolver *solver, int maxParticles)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3bf10e2c9370602142b7be01e920f973"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973">NvFlexExtCreateInstance</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtInstance * NvFlexExtCreateInstance(NvFlexExtContainer *container, NvFlexExtParticleData *particleData, const NvFlexExtAsset *asset, const float *transform, float vx, float vy, float vz, int phase, float invMassScale)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad1af111e19f7ca92fd913c25c4d9288b"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b">NvFlexExtMovingFrame::rotation</a></div><div class="ttdeci">float rotation[4]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:234</div></div>
@@ -548,46 +569,53 @@
<div class="ttc" id="_nv_flex_ext_8h_html_ab51f04114586b5bf0f6fc5816fda9c69"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69">NvFlexExtUnmapShapeData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapShapeData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a50a3933d3f7b77d0500c702b1fa9ba9a"><div class="ttname"><a href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a></div><div class="ttdeci">struct NvFlexBuffer NvFlexBuffer</div><div class="ttdef"><b>Definition:</b> NvFlex.h:62</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a90f2d3ba5be20e70e7efead911ee7acc"><div class="ttname"><a href="_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc">NvFlexExtMapShapeData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtShapeData NvFlexExtMapShapeData(NvFlexExtContainer *container)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a></div><div class="ttdoc">Apply field value as an impulse. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:721</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a780c0bac62cc5dd8d04da11cff07eeba"><div class="ttname"><a href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">NvFlexExtParticleData::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Receives a pointer to the particle position / mass data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:571</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a></div><div class="ttdoc">Apply field value as an impulse. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:740</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a780c0bac62cc5dd8d04da11cff07eeba"><div class="ttname"><a href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">NvFlexExtParticleData::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Receives a pointer to the particle position / mass data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:590</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1e8252d5e5f66b3d8920c1371f23cc05"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05">NvFlexExtAsset::springCoefficients</a></div><div class="ttdeci">float * springCoefficients</div><div class="ttdoc">Spring coefficients. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:320</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3a9ce6bba709625f6c338bd3070bd012"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExtCreateSoftFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateSoftFromMesh(const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a69962fe23c7fef594fb5f36a175ff148"><div class="ttname"><a href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">NvFlexExtParticleData::restParticles</a></div><div class="ttdeci">float * restParticles</div><div class="ttdoc">Receives a pointer to the particle&#39;s rest position (used for self collision culling) ...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:572</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_acd73f347463a114da73bb1ab5eff00b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">NvFlexExtShapeData::positions</a></div><div class="ttdeci">float * positions</div><div class="ttdoc">Receives a pointer to an array of shape body translations in [x, y, z] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:611</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a69962fe23c7fef594fb5f36a175ff148"><div class="ttname"><a href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">NvFlexExtParticleData::restParticles</a></div><div class="ttdeci">float * restParticles</div><div class="ttdoc">Receives a pointer to the particle&#39;s rest position (used for self collision culling) ...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:591</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_acd73f347463a114da73bb1ab5eff00b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">NvFlexExtShapeData::positions</a></div><div class="ttdeci">float * positions</div><div class="ttdoc">Receives a pointer to an array of shape body translations in [x, y, z] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:630</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_moving_frame"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:231</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a3871fbd5422c9b3f41bd5dc2046e1aa7"><div class="ttname"><a href="struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7">NvFlexVector::operator[]</a></div><div class="ttdeci">const T &amp; operator[](int index) const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:120</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_afca9914468beb61f6c98bc052e2af5e0"><div class="ttname"><a href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">NvFlexVector::unmap</a></div><div class="ttdeci">void unmap()</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:109</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_instance"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:350</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4695d37db8b61495f200bfd88a2be628"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628">NvFlexExtUpdateInstances</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUpdateInstances(NvFlexExtContainer *container)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a9e6134ffeca22636dcd467fa4dee1ba0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">NvFlexExtForceField::mPosition</a></div><div class="ttdeci">float mPosition[3]</div><div class="ttdoc">Center of force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:732</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a806a707d6b32c41ab561a4893f43ddde"><div class="ttname"><a href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">NvFlexExtTriangleData::indices</a></div><div class="ttdeci">int * indices</div><div class="ttdoc">Receives a pointer to the array of triangle index data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:592</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a56bf3b1fe603c79b871ead2efb65cc78"><div class="ttname"><a href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">NvFlexExtTriangleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:593</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_ad5a3a0aed59d8fb5dedbabe189749bc3"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3">NvFlexExtSoftJoint::initialized</a></div><div class="ttdeci">bool initialized</div><div class="ttdoc">Joint status flag. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:383</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a9e6134ffeca22636dcd467fa4dee1ba0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">NvFlexExtForceField::mPosition</a></div><div class="ttdeci">float mPosition[3]</div><div class="ttdoc">Center of force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:751</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a806a707d6b32c41ab561a4893f43ddde"><div class="ttname"><a href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">NvFlexExtTriangleData::indices</a></div><div class="ttdeci">int * indices</div><div class="ttdoc">Receives a pointer to the array of triangle index data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:611</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a56bf3b1fe603c79b871ead2efb65cc78"><div class="ttname"><a href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">NvFlexExtTriangleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:612</div></div>
<div class="ttc" id="_nv_flex_8h_html"><div class="ttname"><a href="_nv_flex_8h.html">NvFlex.h</a></div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a3fea23644fb7b0840132eee46ea971e4"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExtSoftJointSetTransform</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtSoftJointSetTransform(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint, const float *position, const float *rotation)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a5efc0113d5432eb959437e6e3a98cc5f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExtTearClothMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtTearClothMesh(NvFlexExtAsset *asset, float maxStrain, int maxSplits, NvFlexExtTearingParticleClone *particleCopies, int *numParticleCopies, int maxCopies, NvFlexExtTearingMeshEdit *triangleEdits, int *numTriangleEdits, int maxEdits)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0705c9d2b5960057b37f097083d96f33"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33">NvFlexExtMovingFrame::acceleration</a></div><div class="ttdeci">float acceleration[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:239</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a></div><div class="ttdoc">Apply field value as a force. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:718</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a9b81cabbc738fc2650c978bd39ae3bad"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad">NvFlexExtSoftJoint::particleIndices</a></div><div class="ttdeci">int * particleIndices</div><div class="ttdoc">Global indices. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:373</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a></div><div class="ttdoc">Apply field value as a force. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:737</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad4d5551b97bd31b9e1ca5c57f2c82452"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452">NvFlexExtAsset::inflatableStiffness</a></div><div class="ttdeci">float inflatableStiffness</div><div class="ttdoc">How stiff the inflatable is. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:344</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3078976e98f370a9fbdb11db80f1f318"><div class="ttname"><a href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a></div><div class="ttdeci">struct NvFlexLibrary NvFlexLibrary</div><div class="ttdef"><b>Definition:</b> NvFlex.h:52</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a46b80c02097ebc40bf777708e8f17ed4"><div class="ttname"><a href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">NvFlexExtTearingMeshEdit::triIndex</a></div><div class="ttdeci">int triIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:448</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_afcacbd584e2041855af50eae3f287779"><div class="ttname"><a href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">NvFlexExtParticleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to the particle normal data with 16 byte stride in format [nx, ny...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:575</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a46b80c02097ebc40bf777708e8f17ed4"><div class="ttname"><a href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">NvFlexExtTearingMeshEdit::triIndex</a></div><div class="ttdeci">int triIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:467</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_afcacbd584e2041855af50eae3f287779"><div class="ttname"><a href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">NvFlexExtParticleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to the particle normal data with 16 byte stride in format [nx, ny...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:594</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a77c2b96e59d92c49f902c2707df095f0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0">NvFlexExtSoftJoint::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of particles in the joint. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:376</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1646bf409084777cd0ff5d4fcccf07de"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de">NvFlexExtMapTriangleData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtTriangleData NvFlexExtMapTriangleData(NvFlexExtContainer *container)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a9034efff0f1b158a12a9ed6991d620fa"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">NvFlexExtTearingParticleClone::destIndex</a></div><div class="ttdeci">int destIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:436</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a0b9729f9896faba45c861a1e8d15290b"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">NvFlexExtForceField::mStrength</a></div><div class="ttdeci">float mStrength</div><div class="ttdoc">Strength of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:734</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a9034efff0f1b158a12a9ed6991d620fa"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">NvFlexExtTearingParticleClone::destIndex</a></div><div class="ttdeci">int destIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:455</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a0b9729f9896faba45c861a1e8d15290b"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">NvFlexExtForceField::mStrength</a></div><div class="ttdeci">float mStrength</div><div class="ttdoc">Strength of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:753</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7d35ea2def3a05a5f85a5cdfd5abdc56"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56">NvFlexExtMovingFrame::position</a></div><div class="ttdeci">float position[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:233</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a0a01f7b650db1077ffc165762703552b"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b">NvFlexExtSoftJoint::shapeTranslations</a></div><div class="ttdeci">float shapeTranslations[3]</div><div class="ttdoc">Joint shape matching group translations (vec3s) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:378</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a6c4a1f4acb4d6275c9e1ac01d4e35ab1"><div class="ttname"><a href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">NvFlexVector::resize</a></div><div class="ttdeci">void resize(int newCount)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:201</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_asset"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:311</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a7850f47d32a8fe6107aae7a098de8f01"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01">NvFlexExtSoftJoint::shapeIndex</a></div><div class="ttdeci">int shapeIndex</div><div class="ttdoc">Index in the container&#39;s shape body constraints array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:375</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a425f4e472bb83797498c904ab228209c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c">NvFlexExtPushToDevice</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtPushToDevice(NvFlexExtContainer *container)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a1117ce527b6b483cc756ab5352f6dc3f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a></div><div class="ttdeci">struct NvFlexExtForceFieldCallback NvFlexExtForceFieldCallback</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:743</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a1117ce527b6b483cc756ab5352f6dc3f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a></div><div class="ttdeci">struct NvFlexExtForceFieldCallback NvFlexExtForceFieldCallback</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:762</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ad462ae46f0270161c79572762b558124"><div class="ttname"><a href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">NvFlexVector::count</a></div><div class="ttdeci">int count</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:74</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68e"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div><div class="ttdeci">NvFlexExtForceMode</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:715</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68e"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div><div class="ttdeci">NvFlexExtForceMode</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:734</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0fd9407aad5001d3a9fe90e989da1aad"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad">NvFlexExtAsset::shapeCoefficients</a></div><div class="ttdeci">float * shapeCoefficients</div><div class="ttdoc">The stiffness coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:328</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_aad1bc1104e48d8839d1b9c4c41b8ed42"><div class="ttname"><a href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42">NvFlexExtSoftJoint::shapeRotations</a></div><div class="ttdeci">float shapeRotations[4]</div><div class="ttdoc">Joint shape matching group rotations (quaternions) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:379</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a56640fd10b06a4024a4bf01c306c436b"><div class="ttname"><a href="struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b">NvFlexVector::map</a></div><div class="ttdeci">void map(int flags=eNvFlexMapWait)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:100</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a></div><div class="ttdoc">Apply field value as a velocity change. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:724</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a></div><div class="ttdoc">Apply field value as a velocity change. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:743</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_addad82b3598059ffde7b3b5babe17bd4"><div class="ttname"><a href="_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4">NvFlexExtCreateTearingClothFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateTearingClothFromMesh(const float *particles, int numParticles, int maxParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_shape_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:608</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_shape_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:627</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a6a20d814e3b083b069daa0f20a3e756e"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e">NvFlexExtMovingFrameInit</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameInit(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab556b9c29acfda73e14c68edc43be7e3"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3">NvFlexExtAsset::inflatablePressure</a></div><div class="ttdeci">float inflatablePressure</div><div class="ttdoc">How much over the rest volume the inflatable should attempt to maintain. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:343</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_ad722c319fe60d8a0933df217ba04b2ac"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">NvFlexExtParticleData::upper</a></div><div class="ttdeci">const float * upper</div><div class="ttdoc">Receive a pointer to the particle upper bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:578</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_ad722c319fe60d8a0933df217ba04b2ac"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">NvFlexExtParticleData::upper</a></div><div class="ttdeci">const float * upper</div><div class="ttdoc">Receive a pointer to the particle upper bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:597</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad48f83b8442323687d2268206e913496"><div class="ttname"><a href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a></div><div class="ttdeci">NV_FLEX_API NvFlexBuffer * NvFlexAllocBuffer(NvFlexLibrary *lib, int elementCount, int elementByteStride, NvFlexBufferType type)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ac2ef832cadd91e257ba80eb97d936340"><div class="ttname"><a href="_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340">NvFlexExtInstance::inflatableIndex</a></div><div class="ttdeci">int inflatableIndex</div><div class="ttdoc">Index in the container&#39;s inflatables array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:357</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab0a259d159116b7fba9b229784b02c70"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70">NvFlexExtFreeParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtFreeParticles(NvFlexExtContainer *container, int n, const int *indices)</div></div>
@@ -595,38 +623,41 @@
<div class="ttc" id="_nv_flex_ext_8h_html_a82a15dfd40b338a07cf4517f55f16720"><div class="ttname"><a href="_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720">NvFlexExtCreateWeldedMeshIndices</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtCreateWeldedMeshIndices(const float *vertices, int numVertices, int *uniqueVerts, int *originalToUniqueMap, float threshold)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3fa8bd4b7d4096602e611faf0bb62dfb"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb">NvFlexExtMapParticleData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtParticleData NvFlexExtMapParticleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_acd29b9b2b27e53e3640c24da6959e3cd"><div class="ttname"><a href="struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd">NvFlexVector::assign</a></div><div class="ttdeci">void assign(const T *srcPtr, int newCount)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:146</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a021a25caa64e7f9e9542ea0bc7e6d632"><div class="ttname"><a href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExtDestroySoftJoint</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroySoftJoint(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aac7ec52c127730c381d4b8cbac8134bf"><div class="ttname"><a href="_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf">NvFlexExtAsset::shapePlasticThresholds</a></div><div class="ttdeci">float * shapePlasticThresholds</div><div class="ttdoc">The plastic threshold coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:333</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa4f19c17fa4ae35ceda90c8b3d1fcca4"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4">NvFlexExtInstance::asset</a></div><div class="ttdeci">const NvFlexExtAsset * asset</div><div class="ttdoc">Source asset used to create this instance. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:362</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_aa4422fcaa24d5bbd71aa7772639512b9"><div class="ttname"><a href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9">NvFlexVector::mappedPtr</a></div><div class="ttdeci">T * mappedPtr</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:73</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ae03f4690a66ba4e06e4b2519c688aaba"><div class="ttname"><a href="_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba">NvFlexExtMovingFrame::delta</a></div><div class="ttdeci">float delta[4][4]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:242</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_af911b47ddb538a0542f6e2c38a82d701"><div class="ttname"><a href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">NvFlexExtParticleData::lower</a></div><div class="ttdeci">const float * lower</div><div class="ttdoc">Receive a pointer to the particle lower bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:577</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_af911b47ddb538a0542f6e2c38a82d701"><div class="ttname"><a href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">NvFlexExtParticleData::lower</a></div><div class="ttdeci">const float * lower</div><div class="ttdoc">Receive a pointer to the particle lower bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:596</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3288fee0b909e9e768d9abc9b8da74cf"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf">NvFlexExtInstance::triangleIndex</a></div><div class="ttdeci">int triangleIndex</div><div class="ttdoc">Index in the container&#39;s triangle array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:355</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_triangle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:590</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a3d7dba5a4d9fce7230bc20a8bb567951"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">NvFlexExtForceField::mMode</a></div><div class="ttdeci">NvFlexExtForceMode mMode</div><div class="ttdoc">Mode of field application. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:735</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_triangle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:609</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a3d7dba5a4d9fce7230bc20a8bb567951"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">NvFlexExtForceField::mMode</a></div><div class="ttdeci">NvFlexExtForceMode mMode</div><div class="ttdoc">Mode of field application. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:754</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7c036ccca83df3659529858068e0593d"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d">NvFlexExtAllocParticles</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtAllocParticles(NvFlexExtContainer *container, int n, int *indices)</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a7fa35a822a4e856fee45b3263e679270"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">NvFlexExtParticleData::phases</a></div><div class="ttdeci">int * phases</div><div class="ttdoc">Receives a pointer to the particle phase data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:574</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a7fa35a822a4e856fee45b3263e679270"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">NvFlexExtParticleData::phases</a></div><div class="ttdeci">int * phases</div><div class="ttdoc">Receives a pointer to the particle phase data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:593</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab559759820a4322aff061745ef26c867"><div class="ttname"><a href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer *buf)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_afc07cf2edbf4d5bf504890b312a98bd7"><div class="ttname"><a href="_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7">NvFlexExtAsset::numShapes</a></div><div class="ttdeci">int numShapes</div><div class="ttdoc">The number of shape matching constraints. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:330</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a89e582ae93e0256b06f22d9abf361783"><div class="ttname"><a href="_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783">NvFlexExtUnmapTriangleData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapTriangleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a225da2c753ca0bb95b570c303f0cd761"><div class="ttname"><a href="struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761">NvFlexVector::copyto</a></div><div class="ttdeci">void copyto(T *dest, int count)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:155</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a36c33fafe13c5fd5773bf9a2af2dd745"><div class="ttname"><a href="_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745">NvFlexExtDestroyAsset</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyAsset(NvFlexExtAsset *asset)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9342d21bf875d0f1a9d287ced08c087a"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a">NvFlexExtAsset::shapePlasticCreeps</a></div><div class="ttdeci">float * shapePlasticCreeps</div><div class="ttdoc">The plastic creep coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:334</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_a431c97a2756c45752dd7508f0810a397"><div class="ttname"><a href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">NvFlexExtTearingParticleClone::srcIndex</a></div><div class="ttdeci">int srcIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:435</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a431c97a2756c45752dd7508f0810a397"><div class="ttname"><a href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">NvFlexExtTearingParticleClone::srcIndex</a></div><div class="ttdeci">int srcIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:454</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa6fb48cb1199af96a29de7616f7a4d18"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18">NvFlexExtInstance::shapeTranslations</a></div><div class="ttdeci">float * shapeTranslations</div><div class="ttdoc">Shape matching group translations (vec3s) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:359</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_acc246770a0f65f1e50b43c618955dc84"><div class="ttname"><a href="_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84">NvFlexExtMovingFrame::velocity</a></div><div class="ttdeci">float velocity[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:236</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_particle_clone"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:433</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_particle_clone"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:452</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_aa408aa5327d07f69fc12314df2d5dcfb"><div class="ttname"><a href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb">NvFlexVector::buffer</a></div><div class="ttdeci">NvFlexBuffer * buffer</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:71</div></div>
-<div class="ttc" id="_nv_flex_ext_8h_html_adbb39b1f8b0705bb3e19d2cb6145640f"><div class="ttname"><a href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">NvFlexExtParticleData::velocities</a></div><div class="ttdeci">float * velocities</div><div class="ttdoc">Receives a pointer to the particle velocity data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:573</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_adbb39b1f8b0705bb3e19d2cb6145640f"><div class="ttname"><a href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">NvFlexExtParticleData::velocities</a></div><div class="ttdeci">float * velocities</div><div class="ttdoc">Receives a pointer to the particle velocity data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:592</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a37fbf38300ea57635af4b60c934e9f46"><div class="ttname"><a href="struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46">NvFlexVector::back</a></div><div class="ttdeci">const T &amp; back() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:166</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_soft_joint"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:371</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ac1ed9ff49120d0691352399c8173bdcf"><div class="ttname"><a href="_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf">NvFlexExtCreateForceFieldCallback</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtForceFieldCallback * NvFlexExtCreateForceFieldCallback(NvFlexSolver *solver)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a960073478e49b229d1d19ac64c5b23f7"><div class="ttname"><a href="_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7">NvFlexExtAsset::inflatable</a></div><div class="ttdeci">bool inflatable</div><div class="ttdoc">Whether an inflatable constraint should be added. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:341</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ae5f81891f59382b133319dc3bcea8ba0"><div class="ttname"><a href="_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0">NvFlexExtAsset::numSprings</a></div><div class="ttdeci">int numSprings</div><div class="ttdoc">Number of springs. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:322</div></div>
+<div class="ttc" id="_nv_flex_ext_8h_html_a284e220726302e761f7cf5aa07884723"><div class="ttname"><a href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723">NvFlexExtSoftJoint::particleLocalPositions</a></div><div class="ttdeci">float * particleLocalPositions</div><div class="ttdoc">Relative offsets from the particles of the joint to the center. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:374</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad9343d07f49098ee205a1ed48dc9db34"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34">NvFlexExtNotifyAssetChanged</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtNotifyAssetChanged(NvFlexExtContainer *container, const NvFlexExtAsset *asset)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a></div><div class="ttdeci">NvFlexBufferType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:76</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html
index 3f3697d..a8f9508 100644
--- a/doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -52,7 +52,7 @@ Files</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/files.html b/doc/_static/api/files.html
index 7f6b61c..e83298d 100644
--- a/doc/_static/api/files.html
+++ b/doc/_static/api/files.html
@@ -45,7 +45,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/globals.html b/doc/_static/api/globals.html
index 6039eb7..0fa917e 100644
--- a/doc/_static/api/globals.html
+++ b/doc/_static/api/globals.html
@@ -124,9 +124,6 @@
<li>eNvFlexPhaseShapeChannel6
: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">NvFlex.h</a>
</li>
-<li>eNvFlexPhaseShapeChannel7
-: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a">NvFlex.h</a>
-</li>
<li>eNvFlexPhaseShapeChannelMask
: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">NvFlex.h</a>
</li>
@@ -281,6 +278,9 @@
<li>NvFlexExtCreateSoftFromMesh()
: <a class="el" href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExt.h</a>
</li>
+<li>NvFlexExtCreateSoftJoint()
+: <a class="el" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExt.h</a>
+</li>
<li>NvFlexExtCreateSoftMeshSkinning()
: <a class="el" href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExt.h</a>
</li>
@@ -302,6 +302,9 @@
<li>NvFlexExtDestroyInstance()
: <a class="el" href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExt.h</a>
</li>
+<li>NvFlexExtDestroySoftJoint()
+: <a class="el" href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExt.h</a>
+</li>
<li>NvFlexExtDestroyTearingCloth()
: <a class="el" href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExt.h</a>
</li>
@@ -347,6 +350,9 @@
<li>NvFlexExtSetForceFields()
: <a class="el" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExt.h</a>
</li>
+<li>NvFlexExtSoftJointSetTransform()
+: <a class="el" href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExt.h</a>
+</li>
<li>NvFlexExtTearClothMesh()
: <a class="el" href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExt.h</a>
</li>
@@ -392,6 +398,9 @@
<li>NvFlexGetConvexMeshBounds()
: <a class="el" href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlex.h</a>
</li>
+<li>NvFlexGetConvexMeshes()
+: <a class="el" href="_nv_flex_8h.html#aa392608715b2304f06606d498bd69312">NvFlex.h</a>
+</li>
<li>NvFlexGetDensities()
: <a class="el" href="_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82">NvFlex.h</a>
</li>
@@ -410,11 +419,14 @@
<li>NvFlexGetDiffuseParticles()
: <a class="el" href="_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9">NvFlex.h</a>
</li>
+<li>NvFlexGetDistanceFields()
+: <a class="el" href="_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f">NvFlex.h</a>
+</li>
<li>NvFlexGetDynamicTriangles()
: <a class="el" href="_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5">NvFlex.h</a>
</li>
<li>NvFlexGetNeighbors()
-: <a class="el" href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlex.h</a>
+: <a class="el" href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlex.h</a>
</li>
<li>NvFlexGetNormals()
: <a class="el" href="_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7">NvFlex.h</a>
@@ -443,6 +455,9 @@
<li>NvFlexGetSolverLibrary()
: <a class="el" href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlex.h</a>
</li>
+<li>NvFlexGetSolvers()
+: <a class="el" href="_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef">NvFlex.h</a>
+</li>
<li>NvFlexGetSprings()
: <a class="el" href="_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184">NvFlex.h</a>
</li>
@@ -452,6 +467,9 @@
<li>NvFlexGetTriangleMeshBounds()
: <a class="el" href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlex.h</a>
</li>
+<li>NvFlexGetTriangleMeshes()
+: <a class="el" href="_nv_flex_8h.html#ab1924ab797971290931b32258b847767">NvFlex.h</a>
+</li>
<li>NvFlexGetVelocities()
: <a class="el" href="_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0">NvFlex.h</a>
</li>
@@ -585,7 +603,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/globals_enum.html b/doc/_static/api/globals_enum.html
index 99f3b98..0d9d68b 100644
--- a/doc/_static/api/globals_enum.html
+++ b/doc/_static/api/globals_enum.html
@@ -69,7 +69,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/globals_eval.html b/doc/_static/api/globals_eval.html
index 22e284d..78660a7 100644
--- a/doc/_static/api/globals_eval.html
+++ b/doc/_static/api/globals_eval.html
@@ -124,9 +124,6 @@
<li>eNvFlexPhaseShapeChannel6
: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2">NvFlex.h</a>
</li>
-<li>eNvFlexPhaseShapeChannel7
-: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0679f1deab7afc547900e30aae0b711a">NvFlex.h</a>
-</li>
<li>eNvFlexPhaseShapeChannelMask
: <a class="el" href="_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038">NvFlex.h</a>
</li>
@@ -191,7 +188,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/globals_func.html b/doc/_static/api/globals_func.html
index 2ede00b..d368677 100644
--- a/doc/_static/api/globals_func.html
+++ b/doc/_static/api/globals_func.html
@@ -94,6 +94,9 @@
<li>NvFlexExtCreateSoftFromMesh()
: <a class="el" href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExt.h</a>
</li>
+<li>NvFlexExtCreateSoftJoint()
+: <a class="el" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExt.h</a>
+</li>
<li>NvFlexExtCreateSoftMeshSkinning()
: <a class="el" href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExt.h</a>
</li>
@@ -115,6 +118,9 @@
<li>NvFlexExtDestroyInstance()
: <a class="el" href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExt.h</a>
</li>
+<li>NvFlexExtDestroySoftJoint()
+: <a class="el" href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExt.h</a>
+</li>
<li>NvFlexExtDestroyTearingCloth()
: <a class="el" href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExt.h</a>
</li>
@@ -154,6 +160,9 @@
<li>NvFlexExtSetForceFields()
: <a class="el" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExt.h</a>
</li>
+<li>NvFlexExtSoftJointSetTransform()
+: <a class="el" href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExt.h</a>
+</li>
<li>NvFlexExtTearClothMesh()
: <a class="el" href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExt.h</a>
</li>
@@ -196,6 +205,9 @@
<li>NvFlexGetConvexMeshBounds()
: <a class="el" href="_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff">NvFlex.h</a>
</li>
+<li>NvFlexGetConvexMeshes()
+: <a class="el" href="_nv_flex_8h.html#aa392608715b2304f06606d498bd69312">NvFlex.h</a>
+</li>
<li>NvFlexGetDensities()
: <a class="el" href="_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82">NvFlex.h</a>
</li>
@@ -214,11 +226,14 @@
<li>NvFlexGetDiffuseParticles()
: <a class="el" href="_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9">NvFlex.h</a>
</li>
+<li>NvFlexGetDistanceFields()
+: <a class="el" href="_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f">NvFlex.h</a>
+</li>
<li>NvFlexGetDynamicTriangles()
: <a class="el" href="_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5">NvFlex.h</a>
</li>
<li>NvFlexGetNeighbors()
-: <a class="el" href="_nv_flex_8h.html#ade1ef600ada4d7567e515258b289e209">NvFlex.h</a>
+: <a class="el" href="_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616">NvFlex.h</a>
</li>
<li>NvFlexGetNormals()
: <a class="el" href="_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7">NvFlex.h</a>
@@ -247,6 +262,9 @@
<li>NvFlexGetSolverLibrary()
: <a class="el" href="_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343">NvFlex.h</a>
</li>
+<li>NvFlexGetSolvers()
+: <a class="el" href="_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef">NvFlex.h</a>
+</li>
<li>NvFlexGetSprings()
: <a class="el" href="_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184">NvFlex.h</a>
</li>
@@ -256,6 +274,9 @@
<li>NvFlexGetTriangleMeshBounds()
: <a class="el" href="_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2">NvFlex.h</a>
</li>
+<li>NvFlexGetTriangleMeshes()
+: <a class="el" href="_nv_flex_8h.html#ab1924ab797971290931b32258b847767">NvFlex.h</a>
+</li>
<li>NvFlexGetVelocities()
: <a class="el" href="_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0">NvFlex.h</a>
</li>
@@ -368,7 +389,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/globals_type.html b/doc/_static/api/globals_type.html
index 1e6db85..506389f 100644
--- a/doc/_static/api/globals_type.html
+++ b/doc/_static/api/globals_type.html
@@ -63,7 +63,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/index.html b/doc/_static/api/index.html
index 4066cf8..399c54e 100644
--- a/doc/_static/api/index.html
+++ b/doc/_static/api/index.html
@@ -43,7 +43,7 @@
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/struct_nv_flex_solver_callback.html b/doc/_static/api/struct_nv_flex_solver_callback.html
index 041be39..5950e88 100644
--- a/doc/_static/api/struct_nv_flex_solver_callback.html
+++ b/doc/_static/api/struct_nv_flex_solver_callback.html
@@ -77,7 +77,7 @@ Data Fields</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/api/struct_nv_flex_vector.html b/doc/_static/api/struct_nv_flex_vector.html
index 135150d..5a88299 100644
--- a/doc/_static/api/struct_nv_flex_vector.html
+++ b/doc/_static/api/struct_nv_flex_vector.html
@@ -713,7 +713,7 @@ template&lt;typename T &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Fri Jun 9 2017 09:57:25 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/doc/_static/application.css b/doc/_static/application.css
index 66d0a72..e7479bf 100644
--- a/doc/_static/application.css
+++ b/doc/_static/application.css
@@ -7,6 +7,7 @@ figure,
footer,
header,
hgroup,
+topic,
main,
nav,
section,
@@ -7717,6 +7718,9 @@ body {
background-position: center 0;
background-repeat: no-repeat;
height: 50px
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
}
.masthead .container {
padding: 0;
@@ -8988,3 +8992,93 @@ pre.prettyprint {
text-decoration: none;
background-color: #f5f5f5;
}
+
+.topic {
+ padding: 1em 1em 1em 1em;
+ color: #004e49;
+ background-color: white;
+}
+
+.topic-title {
+ color: white;
+ background-color: #004e49;
+ padding: 0em 0em 0em 0.3em;
+}
+
+.sidebar {
+ margin: 0 0 1em 1em;
+ padding: 1em;
+ color: #004e49;
+ background-color: white;
+ display: inline-block;
+ float: right;
+ width: 33%;
+}
+
+.sidebar-title {
+ color: white;
+ background-color: #004e49;
+ padding: 0em 0em 0em 0.3em;
+}
+
+.float-right {
+ margin: 0 0 1em 1em;
+ padding: 1em;
+ color: #004e49;
+ background-color: white;
+ display: inline-block;
+ float: right;
+ width: inherit;
+}
+.float-left {
+ margin: 0 0 1em 1em;
+ padding: 1em;
+ color: #004e49;
+ background-color: white;
+ display: inline-block;
+ float: left;
+ width: inherit;
+}
+iv.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.admonition p {
+ margin-bottom: 5px;
+}
+
+div.admonition pre {
+ margin-bottom: 5px;
+}
+
+div.admonition ul, div.admonition ol {
+ margin-bottom: 5px;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+