aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMiles Macklin <[email protected]>2018-03-19 15:10:24 +1300
committerMiles Macklin <[email protected]>2018-03-19 15:10:24 +1300
commit8ee05c79ae1748ef132a12e4fb0af284899faec6 (patch)
tree82bd5aa1892e28ce7886b6cfeafe66a47ff38e67 /doc
parentFlex 1.2 (beta 2) (diff)
downloadflex-8ee05c79ae1748ef132a12e4fb0af284899faec6.tar.xz
flex-8ee05c79ae1748ef132a12e4fb0af284899faec6.zip
Flex 1.2.0 release
Diffstat (limited to 'doc')
-rw-r--r--doc/_sources/index.txt2
-rw-r--r--doc/_sources/manual.txt11
-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
-rw-r--r--doc/genindex.html24
-rw-r--r--doc/index.html26
-rw-r--r--doc/manual.html123
-rw-r--r--doc/releasenotes.html34
-rw-r--r--doc/search.html24
-rw-r--r--doc/searchindex.js2
25 files changed, 1429 insertions, 718 deletions
diff --git a/doc/_sources/index.txt b/doc/_sources/index.txt
index 35f0ae0..68f2346 100644
--- a/doc/_sources/index.txt
+++ b/doc/_sources/index.txt
@@ -31,7 +31,7 @@ Supported Platforms
-------------------
* Windows 32/64 bit
-* Linux 64 bit (tested with Ubuntu 14.04 LTS)
+* Linux 64 bit (tested with Ubuntu 16.04 LTS)
Requirements
------------
diff --git a/doc/_sources/manual.txt b/doc/_sources/manual.txt
index d4d916b..e68efaf 100644
--- a/doc/_sources/manual.txt
+++ b/doc/_sources/manual.txt
@@ -51,6 +51,8 @@ The example code below shows how to initialize the library, create a new solver
NvFlexBuffer* particleBuffer = NvFlexAllocBuffer(library, n, sizeof(float4), eNvFlexBufferHost);
NvFlexBuffer* velocityBuffer = NvFlexAllocBuffer(library, n, sizeof(float4), eNvFlexBufferHost);
NvFlexBuffer* phaseBuffer = NvFlexAllocBuffer(library, n, sizeof(int), eNvFlexBufferHost);
+
+ int numParticles = 0;
while(!done)
{
@@ -60,10 +62,10 @@ The example code below shows how to initialize the library, create a new solver
int* phases = (int*)NvFlexMap(phaseBuffer, eNvFlexMapWait);
// spawn (user method)
- SpawnParticles(particles, velocities, phases);
+ numParticles = SpawnParticles(particles, velocities, phases, numParticles);
// render (user method)
- RenderParticles(particles, velocities, phases);
+ RenderParticles(particles, velocities, phases, numParticles);
// unmap buffers
NvFlexUnmap(particleBuffer);
@@ -74,6 +76,9 @@ The example code below shows how to initialize the library, create a new solver
NvFlexSetParticles(solver, particleBuffer, NULL);
NvFlexSetVelocities(solver, velocityBuffer, NULL);
NvFlexSetPhases(solver, phaseBuffer, NULL);
+
+ // set active count
+ NvFlexSetActiveCount(solver, numParticles);
// tick
NvFlexUpdateSolver(solver, dt, 1, false);
@@ -181,7 +186,7 @@ The API comes with a helper function, **NvFlexMakePhase()**, that generates phas
Active Set
**********
-Each solver has a fixed maximum number of particles specified at creation time (see **NvFlexCreateSolver()**), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the *active set*. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver.
+Each solver has a fixed maximum number of particles specified at creation time (see **NvFlexCreateSolver()**), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the *active set*. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver. By default the active indices array is initialized with successive numbers from 0 to maxParticles-1, so by just setting the active count value to N user can make the firts N particles active.
The example code below shows how to create an active set which enables simulation on the first 10 particles in the solver::
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: ":";
+}
+
diff --git a/doc/genindex.html b/doc/genindex.html
index c055e44..8668b3c 100644
--- a/doc/genindex.html
+++ b/doc/genindex.html
@@ -185,6 +185,30 @@
</div>
</div>
</footer>
+
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ processEscapes: true,
+ skipTags: ["script","noscript","style","textarea"]
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] },
+ TeX: {
+ Macros: {
+ Lrg: ['\\displaystyle{#1}', 1, ""]
+ }
+ }
+ });
+</script>
+
+
+<script type="text/javascript" async
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
<script>
var treestatename = 'GWDocsTreeState';
var protocol = location.href.split('/')[0].toLowerCase();
diff --git a/doc/index.html b/doc/index.html
index b7003c8..d13d9be 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -175,7 +175,7 @@ the solver API and usage.</p>
<h2>Supported Platforms<a class="headerlink" href="#supported-platforms" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Windows 32/64 bit</li>
-<li>Linux 64 bit (tested with Ubuntu 14.04 LTS)</li>
+<li>Linux 64 bit (tested with Ubuntu 16.04 LTS)</li>
</ul>
</div>
<div class="section" id="requirements">
@@ -220,6 +220,30 @@ the solver API and usage.</p>
</div>
</div>
</footer>
+
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ processEscapes: true,
+ skipTags: ["script","noscript","style","textarea"]
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] },
+ TeX: {
+ Macros: {
+ Lrg: ['\\displaystyle{#1}', 1, ""]
+ }
+ }
+ });
+</script>
+
+
+<script type="text/javascript" async
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
<script>
var treestatename = 'GWDocsTreeState';
var protocol = location.href.split('/')[0].toLowerCase();
diff --git a/doc/manual.html b/doc/manual.html
index 6652a87..a4db03b 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -180,58 +180,63 @@
<div class="section" id="quick-start">
<span id="quick"></span><h3>Quick Start<a class="headerlink" href="#quick-start" title="Permalink to this headline">¶</a></h3>
<p>The example code below shows how to initialize the library, create a new solver (similar to a scene in PhysX), and how to tick the solver:</p>
-<div class="highlight-cpp"><div class="highlight"><pre><span class="n">NvFlexLibrary</span><span class="o">*</span> <span class="n">library</span> <span class="o">=</span> <span class="n">NvFlexInit</span><span class="p">();</span>
+<div class="highlight-cpp"><div class="highlight"><pre> <span class="n">NvFlexLibrary</span><span class="o">*</span> <span class="n">library</span> <span class="o">=</span> <span class="n">NvFlexInit</span><span class="p">();</span>
-<span class="c1">// create new solver</span>
-<span class="n">NvFlexSolverDesc</span> <span class="n">solverDesc</span><span class="p">;</span>
-<span class="n">NvFlexSetSolverDescDefaults</span><span class="p">(</span><span class="o">&amp;</span><span class="n">solverDesc</span><span class="p">);</span>
-<span class="n">solverDesc</span><span class="p">.</span><span class="n">maxParticles</span> <span class="o">=</span> <span class="n">n</span><span class="p">;</span>
-<span class="n">solverDesc</span><span class="p">.</span><span class="n">maxDiffuseParticles</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+ <span class="c1">// create new solver</span>
+ <span class="n">NvFlexSolverDesc</span> <span class="n">solverDesc</span><span class="p">;</span>
+ <span class="n">NvFlexSetSolverDescDefaults</span><span class="p">(</span><span class="o">&amp;</span><span class="n">solverDesc</span><span class="p">);</span>
+ <span class="n">solverDesc</span><span class="p">.</span><span class="n">maxParticles</span> <span class="o">=</span> <span class="n">n</span><span class="p">;</span>
+ <span class="n">solverDesc</span><span class="p">.</span><span class="n">maxDiffuseParticles</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
-<span class="n">NvFlexSolver</span><span class="o">*</span> <span class="n">solver</span> <span class="o">=</span> <span class="n">NvFlexCreateSolver</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">solverDesc</span><span class="p">);</span>
+ <span class="n">NvFlexSolver</span><span class="o">*</span> <span class="n">solver</span> <span class="o">=</span> <span class="n">NvFlexCreateSolver</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">solverDesc</span><span class="p">);</span>
-<span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">particleBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">float4</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
-<span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">velocityBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">float4</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
-<span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">phaseBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
+ <span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">particleBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">float4</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
+ <span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">velocityBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">float4</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
+ <span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">phaseBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
-<span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">done</span><span class="p">)</span>
-<span class="p">{</span>
- <span class="c1">// map buffers for reading / writing</span>
- <span class="n">float4</span><span class="o">*</span> <span class="n">particles</span> <span class="o">=</span> <span class="p">(</span><span class="n">float4</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
- <span class="n">float3</span><span class="o">*</span> <span class="n">velocities</span> <span class="o">=</span> <span class="p">(</span><span class="n">float3</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
- <span class="kt">int</span><span class="o">*</span> <span class="n">phases</span> <span class="o">=</span> <span class="p">(</span><span class="kt">int</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
-
- <span class="c1">// spawn (user method)</span>
- <span class="n">SpawnParticles</span><span class="p">(</span><span class="n">particles</span><span class="p">,</span> <span class="n">velocities</span><span class="p">,</span> <span class="n">phases</span><span class="p">);</span>
-
- <span class="c1">// render (user method)</span>
- <span class="n">RenderParticles</span><span class="p">(</span><span class="n">particles</span><span class="p">,</span> <span class="n">velocities</span><span class="p">,</span> <span class="n">phases</span><span class="p">);</span>
-
- <span class="c1">// unmap buffers</span>
- <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">);</span>
- <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">);</span>
- <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">);</span>
-
- <span class="c1">// write to device (async)</span>
- <span class="n">NvFlexSetParticles</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">particleBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="n">NvFlexSetVelocities</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">velocityBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="n">NvFlexSetPhases</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">phaseBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
-
- <span class="c1">// tick</span>
- <span class="n">NvFlexUpdateSolver</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">dt</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">false</span><span class="p">);</span>
-
- <span class="c1">// read back (async)</span>
- <span class="n">NvFlexGetParticles</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">particleBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="n">NvFlexGetVelocities</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">velocityBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="n">NvFlexGetPhases</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">phaseBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
-<span class="p">}</span>
+<span class="kt">int</span> <span class="n">numParticles</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+
+ <span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">done</span><span class="p">)</span>
+ <span class="p">{</span>
+ <span class="c1">// map buffers for reading / writing</span>
+ <span class="n">float4</span><span class="o">*</span> <span class="n">particles</span> <span class="o">=</span> <span class="p">(</span><span class="n">float4</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
+ <span class="n">float3</span><span class="o">*</span> <span class="n">velocities</span> <span class="o">=</span> <span class="p">(</span><span class="n">float3</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
+ <span class="kt">int</span><span class="o">*</span> <span class="n">phases</span> <span class="o">=</span> <span class="p">(</span><span class="kt">int</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
+
+ <span class="c1">// spawn (user method)</span>
+ <span class="n">numParticles</span> <span class="o">=</span> <span class="n">SpawnParticles</span><span class="p">(</span><span class="n">particles</span><span class="p">,</span> <span class="n">velocities</span><span class="p">,</span> <span class="n">phases</span><span class="p">,</span> <span class="n">numParticles</span><span class="p">);</span>
+
+ <span class="c1">// render (user method)</span>
+ <span class="n">RenderParticles</span><span class="p">(</span><span class="n">particles</span><span class="p">,</span> <span class="n">velocities</span><span class="p">,</span> <span class="n">phases</span><span class="p">,</span> <span class="n">numParticles</span><span class="p">);</span>
+
+ <span class="c1">// unmap buffers</span>
+ <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">);</span>
+ <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">);</span>
+ <span class="n">NvFlexUnmap</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">);</span>
+
+ <span class="c1">// write to device (async)</span>
+ <span class="n">NvFlexSetParticles</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">particleBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="n">NvFlexSetVelocities</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">velocityBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="n">NvFlexSetPhases</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">phaseBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+
+ <span class="c1">// set active count</span>
+ <span class="n">NvFlexSetActiveCount</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">numParticles</span><span class="p">);</span>
+
+ <span class="c1">// tick</span>
+ <span class="n">NvFlexUpdateSolver</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">dt</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">false</span><span class="p">);</span>
-<span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">);</span>
-<span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">);</span>
-<span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">);</span>
+ <span class="c1">// read back (async)</span>
+ <span class="n">NvFlexGetParticles</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">particleBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="n">NvFlexGetVelocities</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">velocityBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="n">NvFlexGetPhases</span><span class="p">(</span><span class="n">solver</span><span class="p">,</span> <span class="n">phaseBuffer</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="p">}</span>
-<span class="n">NvFlexDestroySolver</span><span class="p">(</span><span class="n">solver</span><span class="p">);</span>
-<span class="n">NvFlexShutdown</span><span class="p">(</span><span class="n">library</span><span class="p">);</span>
+ <span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">particleBuffer</span><span class="p">);</span>
+ <span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">velocityBuffer</span><span class="p">);</span>
+ <span class="n">NvFlexFreeBuffer</span><span class="p">(</span><span class="n">phaseBuffer</span><span class="p">);</span>
+
+ <span class="n">NvFlexDestroySolver</span><span class="p">(</span><span class="n">solver</span><span class="p">);</span>
+ <span class="n">NvFlexShutdown</span><span class="p">(</span><span class="n">library</span><span class="p">);</span>
</pre></div>
</div>
<p>Although Flex allows you to combine effects in one solver it often makes sense to create a separate one for each type of effect. For example, if you have a scene with clothing and fluids, but they don&#8217;t need to interact, you may have one solver for each. This approach provides more flexibility when setting parameters.</p>
@@ -306,7 +311,7 @@
</div>
<div class="section" id="active-set">
<span id="active"></span><h3>Active Set<a class="headerlink" href="#active-set" title="Permalink to this headline">¶</a></h3>
-<p>Each solver has a fixed maximum number of particles specified at creation time (see <strong>NvFlexCreateSolver()</strong>), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the <em>active set</em>. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver.</p>
+<p>Each solver has a fixed maximum number of particles specified at creation time (see <strong>NvFlexCreateSolver()</strong>), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the <em>active set</em>. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver. By default the active indices array is initialized with successive numbers from 0 to maxParticles-1, so by just setting the active count value to N user can make the firts N particles active.</p>
<p>The example code below shows how to create an active set which enables simulation on the first 10 particles in the solver:</p>
<div class="highlight-cpp"><div class="highlight"><pre><span class="n">NvFlexBuffer</span><span class="o">*</span> <span class="n">activeBuffer</span> <span class="o">=</span> <span class="n">NvFlexAllocBuffer</span><span class="p">(</span><span class="n">library</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">),</span> <span class="n">eNvFlexBufferHost</span><span class="p">);</span>
<span class="kt">int</span><span class="o">*</span> <span class="n">activeIndices</span> <span class="o">=</span> <span class="p">(</span><span class="kt">int</span><span class="o">*</span><span class="p">)</span><span class="n">NvFlexMap</span><span class="p">(</span><span class="n">activeBuffer</span><span class="p">,</span> <span class="n">eNvFlexMapWait</span><span class="p">);</span>
@@ -731,6 +736,30 @@ simulation. Diffuse particles can be created through the <strong>NvFlexSetDiffus
</div>
</div>
</footer>
+
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ processEscapes: true,
+ skipTags: ["script","noscript","style","textarea"]
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] },
+ TeX: {
+ Macros: {
+ Lrg: ['\\displaystyle{#1}', 1, ""]
+ }
+ }
+ });
+</script>
+
+
+<script type="text/javascript" async
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
<script>
var treestatename = 'GWDocsTreeState';
var protocol = location.href.split('/')[0].toLowerCase();
diff --git a/doc/releasenotes.html b/doc/releasenotes.html
index bef3053..1d95bc5 100644
--- a/doc/releasenotes.html
+++ b/doc/releasenotes.html
@@ -159,19 +159,29 @@
<div class="section" id="id1">
<h2>1.2.0<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
+<li>Improved collision against moving shapes, solver now correctly interpolates shape transforms for substeps</li>
+<li>Improved Linux support, removed GLUT/GLEW dependencies</li>
+<li>New API for adding soft-joints (dynamic shape-matching constraints) via. the extensions API, see NvFlexExtCreateSoftJoint()</li>
<li>New API to retrieve particle neighbor information, see NvFlexGetNeighbors()</li>
<li>New API to support shape collision filtering, collision channels can be assigned to particles and shapes to specify which pairs collide, see NvFlexPhase</li>
<li>New API to support per-shape plastic deformation, it is now possible to specify plastic creep and threshold coefficient on a per-shape basis (previous global settings), see NvFlexSetRigids()</li>
<li>New API to selectively disable solver features, this can lead to improved performance, see NvFlexFeatureMode, replaces global FlexParams::fluid option</li>
<li>New API to allow sub-range particle buffer updates, see NvFlexCopyDesc</li>
<li>New API for asynchronous compute, see NvFlexInitDesc</li>
+<li>New API change, NvFlexUpdateTriangleMesh() now takes vertices with 16-byte stride to remove CPU synchronization step in D3D implementations</li>
+<li>Fix for NvFlexParams::anisotropyScale, this change improves the fitting of ellipsoids to fluid particle distributions, it should now typically be left at 1.0</li>
+<li>Fix for NvFlexGetTimers() reporting incorrect values on D3D12</li>
+<li>Fix for vsync in D3D12</li>
+<li>Fix for crash when using Flex with NVIDIA driver 384.76</li>
<li>Fix for unnecessary synchronization when calling NvFlexMap() on a device buffer</li>
<li>Fix numerical precision for shape-matching constraints with large coordinates</li>
<li>Fix for uninitialized contact indices returned from NvFlexGetContacts() if NvFlexUpdateSolver() has not been called</li>
<li>Fix for SDF collision in D3D12</li>
+<li>Fix for free after delete in CUDA when using SDFs</li>
<li>Fix for D3D warning when using NvFlexSetRigids()</li>
<li>Add D3D12 rendering support to the demo</li>
<li>Add support for device NvFlexBuffers on D3D</li>
+<li>Enable NvToolkit profiling zones so to provide annotations in NSight profiles by default, this requires nvToolsExt64_1.dll be present</li>
</ul>
</div>
<div class="section" id="id2">
@@ -381,6 +391,30 @@
</div>
</div>
</footer>
+
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ processEscapes: true,
+ skipTags: ["script","noscript","style","textarea"]
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] },
+ TeX: {
+ Macros: {
+ Lrg: ['\\displaystyle{#1}', 1, ""]
+ }
+ }
+ });
+</script>
+
+
+<script type="text/javascript" async
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
<script>
var treestatename = 'GWDocsTreeState';
var protocol = location.href.split('/')[0].toLowerCase();
diff --git a/doc/search.html b/doc/search.html
index d567591..3c1d4ed 100644
--- a/doc/search.html
+++ b/doc/search.html
@@ -179,6 +179,30 @@
</div>
</div>
</footer>
+
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ processEscapes: true,
+ skipTags: ["script","noscript","style","textarea"]
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] },
+ TeX: {
+ Macros: {
+ Lrg: ['\\displaystyle{#1}', 1, ""]
+ }
+ }
+ });
+</script>
+
+
+<script type="text/javascript" async
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
<script>
var treestatename = 'GWDocsTreeState';
var protocol = location.href.split('/')[0].toLowerCase();
diff --git a/doc/searchindex.js b/doc/searchindex.js
index 43b7314..a0b7e74 100644
--- a/doc/searchindex.js
+++ b/doc/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:42,terms:{applic:[0,1,2],represent:[1,2],all:[1,2],code:[1,2],edg:2,chain:2,queri:[1,2],lack:2,hennix:2,prefix:1,mile:2,upgrad:1,computation:2,skin:1,follow:[0,1,2],nvflexconvexmeshid:2,bvh:1,nvlab:2,nvflexinitdesc:1,accur:2,depend:2,nvflexcreatetrianglemesh:2,doe:2,graph:2,show:2,specif:2,send:2,particlesbuff:2,granular:2,flexgetnorm:1,program:2,nvflexsolv:2,sens:2,sent:2,inject:2,passiv:2,"case":2,sourc:2,envflexrelaxationloc:2,inact:2,tickgam:2,fals:2,rod:1,nvflexflush:1,mous:1,diffusethreshold:2,mechan:2,broadli:2,govern:2,veri:2,affect:2,flexgetanisotropi:1,bottleneck:2,strand:2,flexregistersolvercallback:1,imgui:2,maxdiffuseparticl:2,stiff:2,tear:[1,2],gui:1,iter:2,anisotropyscal:2,halfheight:2,pbf:2,hydrodynam:2,small:2,nvflexupdatesolv:[1,2],anisotropi:[1,2],refer:0,stiffer:2,align:2,pleas:0,upper:2,smaller:[1,2],slower:2,natur:2,dimens:2,eas:2,direct:2,jump:2,fold:2,second:[1,2],cost:2,design:0,priorti:2,pass:[1,2],download:0,improv:[1,2],mesasg:1,even:2,index:2,what:2,appear:2,compar:2,cast:2,neg:2,section:2,abl:2,"while":2,melt:2,uniform:2,current:[1,2],version:[0,1,2],consecut:2,"new":[1,2],nvflexsetactivecount:2,ever:2,method:[1,2],contrast:2,thin:[1,2],manag:2,simplifi:1,full:[1,2],deriv:2,gener:[0,1,2],coeffici:[1,2],here:[0,2],nvflexmap:[1,2],water:2,middl:2,studio:0,ubuntu:0,"const":2,along:2,becom:2,realloc:1,implicit:2,valu:[1,2],wait:2,box:2,broken:2,larger:2,host:1,flexgetparam:1,precis:[1,2],converg:[1,2],amount:2,behav:2,pick:1,typic:2,magnitud:2,flexsetspr:1,nvflexmakeshapeflag:2,flexgetdens:1,solverdesc:2,via:[1,2],although:2,lengthsbuff:2,appli:1,approxim:2,citat:2,releas:0,api:[0,1,2],visibl:2,instabl:1,nvflexsetdiffuseparticl:2,unit:2,environment:2,from:[0,1,2],perf:1,would:2,memori:[1,2],nvflexbuff:[1,2],skelet:2,flextrianglemeshid:2,two:[1,2],particl:0,next:2,predict:1,compactobject:1,overhead:2,asset:2,recommend:2,taken:2,nvflexerror:1,prev:1,type:[1,2],until:2,nvflexfreebuff:2,more:[0,1,2],sort:[1,2],flat:2,desir:[1,2],said:2,numtriangl:2,nvflexcreateconvexmesh:2,relat:2,ital:2,about:2,nvflexsetdynamictriangl:2,enhanc:2,warn:1,glass:2,visual:[0,1,2],envflexphaseselfcollid:2,stick:2,hold:2,must:[1,2],high:[1,2],account:1,graphic:[0,2],retriev:[1,2],restor:2,tunnel:[1,2],debri:2,work:[1,2],uniqu:2,other:[1,2],can:[1,2],www:2,d3d12:1,d3d11:0,veloc:[1,2],problemat:2,control:[1,2],weaker:2,kinet:2,slip:2,give:2,process:2,synchron:[1,2],share:2,shard:2,indic:[1,2],sph:2,tae:2,bend:2,want:2,geometrybuff:2,sharp:2,serial:2,keep:2,occur:2,envflexphasefluid:2,ratio:2,delai:1,alwai:2,surfac:2,end:2,divid:2,nvflexgetnorm:2,anoth:2,write:[1,2],how:2,mikko:2,nvflexextcreaterigidfrommesh:2,confin:[1,2],tile:2,place:2,bit:[0,2],rotationsbuff:2,simpl:2,numiter:2,buoyanc:1,updat:[0,1,2],map:2,product:[0,1],referenc:[1,2],convexmesh:2,max:1,after:2,nvflexinit:[1,2],paticl:2,less:2,befor:[1,2],flexgetvort:1,nvflexsetspr:2,date:2,multipl:[1,2],"5cm":2,secondari:2,arch:2,flutter:2,physic:2,spawnparticl:2,stabil:2,alloc:[1,2],drop:2,essenti:2,practic:2,interpol:2,shapecollisionmargin:2,correspond:2,element:2,caus:[1,2],callback:[1,2],"switch":1,fluidrestdist:2,combin:2,allow:[1,2],volum:[1,2],radeon:0,order:2,flexbuff:[1,2],includ:[0,1,2],polyhedron:2,deform:[1,2],softwar:0,over:[1,2],move:[1,2],becaus:[1,2],trade:2,increas:2,vec4:2,paper:2,through:[1,2],same:2,flexibl:2,pointer:2,directx:[0,1,2],paramet:[1,2],divis:1,style:[1,2],rock:2,group:2,thumb:2,bunni:2,fix:[1,2],better:[1,2],window:[0,1],flexextasset:1,creat:[1,2],onc:2,main:2,might:2,soa:2,them:[1,2],good:2,"return":[1,2],thei:[1,2],envflexphasegroupmask:2,handl:[1,2],safe:2,initi:[1,2],scene:[1,2],half:2,front:2,nvflexconvexmeshgeometri:2,discuss:2,oper:2,envflexbufferhost:2,name:1,realist:2,solver:0,stb_truetyp:2,instruct:2,separ:[1,2],achiev:2,mode:2,each:[1,2],debug:1,done:2,d3d:1,higher:[0,2],side:2,bone:2,mean:2,clamp:1,voxel:2,harm:2,"9cm":2,weight:2,tension:2,interop:2,replac:1,chunk:2,nvflexext:2,idea:2,consum:2,ensur:2,finish:2,"static":[1,2],connect:2,velocitybuff:2,happen:2,differ:2,accord:2,orient:[1,2],out:[1,2],variabl:2,slide:2,architectur:2,physx:[1,2],springindic:2,space:[1,2],goe:2,flexextcreateinst:1,inertiabia:1,nvflexcreatesdf:2,identifi:2,angular:2,content:2,"m\u00fcller":2,vector:2,suitabl:2,rel:2,flexsynchron:1,nvflexset:2,common:2,model:[1,2],linear:[1,2],found:2,driver:0,"10cm":2,gameplai:2,flexexttearclothmesh:1,standalon:2,reason:2,base:[0,1,2],nvflexcollisiongeometri:2,latest:0,ask:2,org:2,hand:2,nvflexcreatesolv:2,card:0,basi:1,raster:1,nvflexshutdown:2,launch:[1,2],recast:2,could:[1,2],area:2,sm3:1,timer:2,nvflexgettim:2,menableccd:1,caption:2,length:[1,2],turk:2,due:2,outsid:1,memononen:2,geometri:[1,2],nvflexsetshap:[1,2],scheme:2,lifetim:1,onto:2,top:2,first:2,origin:2,brickwork:2,prioritis:1,yong:2,render:[1,2],prevent:[1,2],carri:2,articl:2,arrai:[1,2],qualiti:2,number:[1,2],system:2,mai:2,unlik:2,cfm:2,nvflexallocbuff:[1,2],wrapper:2,stabl:1,ring:2,nvflexextmovingframeinit:1,miss:[1,2],primari:2,stage:2,size:2,given:2,springlength:2,envflexshapespher:2,advect:2,data:[1,2],interact:[1,2],contact:[1,2],sometim:2,least:[0,2],parallel:[1,2],master:2,flexalloc:1,accept:2,nvflextim:2,gpu:[0,1,2],libsdl:2,john:2,filter:[1,2],store:[1,2],too:2,adhes:[1,2],adher:2,assign:1,interti:1,option:[1,2],relationship:2,especi:2,quat:2,aabb:2,copi:[1,2],circumst:2,specifi:[1,2],part:2,somewhat:2,incred:2,attempt:2,exactli:2,than:[1,2],center:2,nvflextrianglemeshgeometri:2,conveni:2,unmap:2,stb:2,shrapnel:2,provid:[0,2],remov:1,zero:[1,2],structur:2,banana:2,project:1,greg:2,nvflexmakephas:2,substep:2,posit:[1,2],nvflexdestroysolv:2,toward:2,ccw:2,result:2,fashion:2,comput:[1,2],behavior:[1,2],nvflexgetcontact:1,nvflexgetsmoothparticl:2,splat:2,ani:2,rai:2,raw:2,seed:2,complet:[1,2],increment:2,cohes:[1,2],need:[1,2],seen:2,nvflexsolverdesc:2,"null":2,featur:[1,2],overconstrain:1,nvflexextcreatesoftfrommesh:2,strength:2,engin:2,squar:2,equival:2,inform:[0,1,2],destroi:1,self:[1,2],simul:[0,1,2],accuraci:2,note:[0,2],also:[1,2],maintain:2,take:[1,2],which:[1,2],interior:2,springcoeffici:2,properti:[1,2],graviti:2,channel:1,nvflex:[1,2],closer:2,pipelin:2,flexinit:1,unless:2,nvflexsetphas:2,normal:[1,2],track:2,flexwaitf:1,object:[1,2],compress:2,recastnavig:2,mmaxspe:1,most:2,plai:1,regular:2,pop:[1,2],pair:[1,2],nvflexsetact:2,cpu:[1,2],segment:2,why:2,sub:[1,2],tradit:2,mdiffuselifetim:1,ballist:2,eject:2,cloth:0,dens:2,flow:2,drive:1,destruct:[1,2],quantiti:2,piplin:1,width:2,wind:2,occasion:2,axi:2,blend:1,microsoft:0,translat:[1,2],viscou:1,shot:2,mostli:2,rayleigh:1,carefulli:2,text:2,random:2,cheap:2,nvflexgetdevicenam:1,friction:[1,2],bring:2,directli:2,particularli:2,flexextsetforcefield:1,flexgetrigidtransform:1,threshold:[1,2],corner:2,font:2,fine:[1,2],maxacceler:1,rotat:[1,2],impact:2,absolut:1,onli:2,explicitli:[1,2],locat:2,just:[1,2],ellipsoid:2,transact:2,configur:2,written:2,fluid:0,should:[1,2],solidrestdist:2,nvflexparam:[1,2],clothphas:2,factor:2,nvflexsetparticl:2,folder:1,local:[1,2],gooei:2,meant:1,custom:1,get:2,kinemat:1,likewis:2,memcpi:[1,2],cheaper:2,flexsetrigid:1,obviou:2,report:1,reconstruct:2,updatebuff:2,parachut:2,layout:2,nvflexmemori:1,think:2,enabl:[1,2],organ:2,possibl:[1,2],"public":1,network:2,"float":2,integr:2,contain:2,anisotrop:2,where:2,view:1,unexpectedli:2,kernel:[1,2],numvertic:2,nvflexerrorcallback:1,nvflexgetneighbor:1,frame:[1,2],still:2,sprai:2,consraint:2,maximum:[1,2],resist:2,nvflexgetphas:2,flagsbuff:2,sean:2,randomspawnposit:2,fail:1,close:2,charact:2,best:2,float3:2,infinit:[1,2],nvflexgetparticl:2,nvflexunmap:2,detect:[1,2],collisiondist:2,correctli:1,tend:2,enough:2,stall:1,outstand:2,bruno:2,simplest:2,progress:2,awai:2,experi:2,approach:2,eflexmapwait:2,coefficientsbuff:2,spars:1,extend:1,numer:[1,2],fluidphas:2,screen:2,fundament:2,weak:2,conjunct:2,popul:2,extens:[0,1,2],matthia:2,solv:[1,2],come:2,flexsetrestposit:1,barrett:2,both:2,doxygen:0,irregular:2,similar:[1,2],howev:2,randomspawnveloc:2,against:[1,2],vortic:[1,2],flexgetbound:1,instanc:[1,2],grain:1,nvflexget:2,trimesh:2,pdf:1,unstructur:2,com:2,acceler:[1,2],simpli:2,pose:1,point:2,wall:2,format:[1,2],unrealist:2,height:2,header:1,uniniti:1,path:1,averag:[1,2],guid:2,summar:2,panel:1,torsion:2,quit:2,vertic:2,slowli:2,eflexphaseselfcollid:2,coupl:2,stretch:2,damp:[1,2],devic:[0,1,2],invers:[1,2],laplacian:[1,2],sinc:2,trigger:[1,2],treat:2,interest:2,basic:2,minertiabia:1,nvflextrianglemeshid:2,addit:[1,2],"abstract":2,strategi:2,rather:2,flight:2,"25m":1,resolut:2,unnecessarili:2,coordin:[1,2],lift:[1,2],nvflexsetveloc:2,togeth:2,minim:2,rang:[1,2],present:2,nvflexsetinflat:[1,2],determinist:2,multi:1,subsequ:2,packag:0,solid:[0,1,2],mdamp:1,erron:2,heidelberg:2,rope:0,defin:2,calcul:[1,2],unifi:[0,1,2],abov:[0,1],error:[1,2],activebuff:2,spawn:2,real:[0,2],planar:1,flexsettriangl:1,have:[1,2],helper:2,wiggl:2,almost:2,demo:[0,1,2],tabl:2,nvflexgetanisotropi:2,non:2,equal:2,cluster:[1,2],itself:2,renderparticl:2,flexcreatesolv:1,cook:1,crash:1,overpressur:2,queue:1,develop:0,author:2,perform:[1,2],suggest:2,make:2,belong:[1,2],cross:1,tetrahedr:2,binari:1,complex:2,split:2,flexsetshap:1,collid:[1,2],android:1,difficult:2,overal:2,http:2,see:[0,1,2],cubic:2,optim:1,foam:2,hang:2,effect:2,amd:0,capabl:[0,2],app:1,nvflexcapsulegeometri:2,user:[1,2],kim:2,mani:2,extern:2,robust:[1,2],stack:2,tune:2,manisotropymax:1,lower:[1,2],appropri:2,off:2,lib:2,builder:1,min:1,well:2,versatil:2,anim:2,exampl:2,expens:2,thi:[0,1,2],diverg:2,ccd:[1,2],everyth:2,dimension:1,usual:2,construct:2,manifold:2,execut:2,eflexhost:1,when:[1,2],bilater:1,rest:[1,2],detail:[1,2],shape:[1,2],aspect:2,world:2,touch:1,jitter:[1,2],envflexmapwait:2,speed:2,renam:1,nvflexsetsolverdescdefault:2,blow:2,versu:1,now:1,struct:2,expos:[1,2],mshapecollisionmargin:1,help:[1,2],maxparticl:2,add:[1,2],discret:2,pile:2,cub:[1,2],densiti:[1,2],lookup:2,nvflexsdfgeometri:2,mmaxveloc:1,match:[1,2],build:[0,2],earli:1,nvflexdevic:1,dissip:2,around:2,nvlexallocbuff:2,read:2,piec:2,bia:1,test:[0,1,2],game:[0,2],grid:1,know:2,consid:2,marcu:2,apart:2,tick:2,associ:2,flexparam:1,nvflexcopydesc:1,redund:2,measur:2,trash:2,like:[1,2],semi:2,whitespac:1,arbitrari:2,manual:0,integ:2,noth:2,collect:2,benefit:2,necessari:1,singl:1,lose:2,output:2,flexextpushtodevic:1,per:[1,2],unnecessari:1,underli:2,exceed:2,tran:2,often:[1,2],erelaxationmod:1,captur:1,linux:[0,1],some:[1,2],begin:2,interlock:2,interpenetr:1,global:[1,2],nvflexdistancefieldid:2,previou:[1,2],flush:1,home:0,sizeof:2,librari:0,distribut:2,textur:[1,2],flexext:1,scale:2,siggraph:2,lead:1,phasebuff:2,broad:2,fpic:1,though:2,definit:2,februari:2,overlap:2,multipli:1,mononen:2,larg:[1,2],select:1,toolkit:0,condit:2,either:2,msvc:1,core:[0,2],sensibl:1,run:[1,2],flexsetconvex:1,vertex:[1,2],nvflexspheregeometri:2,"enum":1,usag:[0,1],nvflexextcreateclothfrommesh:2,quaternion:1,convent:[1,2],stride:2,async:[1,2],flexextcreatesoftfrommesh:1,between:[1,2],describ:2,continu:2,plastic:1,stone:2,compet:2,nvflexbuffertyp:1,face:2,freedom:2,materi:2,commun:2,acm:2,page:0,union:2,degre:2,cuda:[0,1,2],neighbor:[1,2],act:2,convinc:2,geforc:0,behaviour:1,disabl:1,block:2,reduct:1,compil:1,effici:[1,2],activeindic:2,within:2,bound:1,automat:2,chm:1,down:2,right:2,been:[1,2],positionsbuff:2,float4:2,chang:[1,2],mark:2,bullet:2,merg:2,surround:2,accordingli:2,deal:2,suffici:2,opengl:2,eflexmemoryhost:1,transfer:2,squishi:2,transform:[1,2],fast:[1,2],fight:2,avail:0,topolog:2,much:[1,2],interfac:0,low:2,under:2,forward:2,call:[1,2],flexmakephas:1,individu:2,etc:[1,2],"function":[1,2],ghost:1,creation:[1,2],form:2,droplet:2,forc:[1,2],nuttapong:2,indicesbuff:2,back:[1,2],github:[1,2],nvflexgetveloc:2,sdf:[1,2],link:[1,2],gain:1,trajectori:1,sdl:2,don:2,line:2,level:[1,2],"true":2,bug:1,sdk:[0,2],count:[1,2],pull:2,made:[1,2],algorithm:1,consist:[1,2],relaxationfactor:2,"default":[1,2],rate:2,access:2,smooth:[1,2],intern:[1,2],asynchron:[1,2],below:2,sum:2,flexextens:1,otherwis:2,problem:[1,2],quickli:2,rigidphas:2,motion:2,care:2,expect:2,instead:1,taylor:1,alongsid:2,pin:1,classic:2,"int":2,energi:2,dure:[1,2],buckl:2,futur:2,repres:2,incomplet:1,implement:[1,2],chentanez:2,restitut:[1,2],ship:2,proport:2,check:1,fill:2,incorrect:1,manisotropymin:1,readi:[0,2],incorrectli:1,nvflexphas:1,bindless:1,floor:2,nan:1,ext:1,dynam:[1,2],event:2,longer:2,wai:2,diffuseballist:2,creep:1,nvflexsetrigid:[1,2],diffusesortaxi:2,you:2,flexsetf:1,envflexrelaxationglob:2,nice:1,potenti:[1,2],ratcliff:2,nvflexlibrari:2,nvflexupdatetrianglemesh:2,leak:1,time:0,drift:1,push:2,drag:[1,2],particlecollisionmargin:2,warp:1,tessel:2,pool:2,nvflexboxgeometri:2,reduc:1,nvflexfeaturemod:1,receiv:2,faster:2,macklin:2,cooker:2,flexgetcontact:1,snippet:2,flag:[1,2],rule:2,jihun:2,delta:2,mass:[1,2],"long":2,particlebuff:2,far:2,envflexshapetrianglemesh:2,avoid:[1,2]},objtypes:{},objnames:{},filenames:["index","releasenotes","manual"],titles:["NVIDIA Flex","Release Notes","Manual"],objects:{},titleterms:{distanc:2,plane:2,acknowledg:2,radiu:2,sign:2,sphere:2,set:2,design:2,capsul:2,convex:2,librari:2,prioriti:2,note:1,triangl:2,start:2,support:0,activ:2,profil:2,platform:0,collis:2,particl:2,spring:2,document:0,refer:2,flex:0,relax:2,buffer:2,nvidia:0,fluid:2,inflat:2,bodi:2,cloth:2,step:2,diffus:2,rigid:2,phase:2,requir:0,introduct:2,known:2,thread:2,constraint:2,soft:2,solver:2,manual:2,issu:2,releas:1,mesh:2,limit:2,time:2,quick:2,field:2,margin:2}}) \ No newline at end of file
+Search.setIndex({envversion:42,terms:{applic:[0,1,2],represent:[1,2],all:[1,2],code:[1,2],edg:2,chain:2,queri:[1,2],lack:2,hennix:2,prefix:1,mile:2,upgrad:1,computation:2,skin:1,follow:[0,1,2],nvflexconvexmeshid:2,bvh:1,nvlab:2,nvflexinitdesc:1,accur:2,depend:[1,2],nvflexcreatetrianglemesh:2,doe:2,graph:2,show:2,rock:2,send:2,particlesbuff:2,granular:2,flexgetnorm:1,program:2,nvflexsolv:2,sens:2,sent:2,inject:2,passiv:2,"case":2,sourc:2,envflexrelaxationloc:2,inact:2,tickgam:2,fals:2,rod:1,nvflexflush:1,mous:1,diffusethreshold:2,mechan:2,broadli:2,govern:2,veri:2,affect:2,flexgetanisotropi:1,bottleneck:2,strand:2,flexregistersolvercallback:1,imgui:2,secondari:2,maxdiffuseparticl:2,solver:0,tear:[1,2],gui:1,iter:2,anisotropyscal:[1,2],halfheight:2,pbf:2,hydrodynam:2,small:2,nvflexupdatesolv:[1,2],anisotropi:[1,2],refer:0,stiffer:2,align:2,pleas:0,upper:2,smaller:[1,2],slower:2,natur:2,dimens:2,eas:2,direct:2,annot:1,jump:2,fold:2,second:[1,2],cost:2,design:0,priorti:2,pass:[1,2],download:0,improv:[1,2],mesasg:1,even:2,index:2,what:2,appear:2,compar:2,cast:2,neg:2,section:2,abl:2,"while":2,melt:2,uniform:2,current:[1,2],delet:1,version:[0,1,2],nvtoolkit:1,consecut:2,"new":[1,2],nvflexsetactivecount:2,ever:2,method:[1,2],contrast:2,thin:[1,2],manag:2,simplifi:1,full:[1,2],deriv:2,gener:[0,1,2],coeffici:[1,2],here:[0,2],nvflexmap:[1,2],water:2,middl:2,studio:0,ubuntu:0,"const":2,along:2,becom:2,realloc:1,implicit:2,valu:[1,2],wait:2,box:2,zone:1,broken:2,larger:2,host:1,flexgetparam:1,precis:[1,2],converg:[1,2],amount:2,behav:2,pick:1,typic:[1,2],magnitud:2,flexsetspr:1,nvflexmakeshapeflag:2,flexgetdens:1,solverdesc:2,via:[1,2],although:2,lengthsbuff:2,appli:1,approxim:2,citat:2,releas:0,api:[0,1,2],visibl:2,instabl:1,nvflexsetdiffuseparticl:2,unit:2,environment:2,from:[0,1,2],perf:1,would:2,memori:[1,2],nvflexbuff:[1,2],skelet:2,flextrianglemeshid:2,two:[1,2],particl:0,next:2,predict:1,compactobject:1,overhead:2,asset:2,recommend:2,taken:2,nvflexerror:1,prev:1,type:[1,2],until:2,nvflexfreebuff:2,more:[0,1,2],sort:[1,2],flat:2,desir:[1,2],said:2,numtriangl:2,nvflexcreateconvexmesh:2,relat:2,ital:2,about:2,nvflexsetdynamictriangl:2,enhanc:2,warn:1,glass:2,visual:[0,1,2],envflexphaseselfcollid:2,stick:2,hold:2,must:[1,2],high:[1,2],account:1,graphic:[0,2],retriev:[1,2],restor:2,tunnel:[1,2],debri:2,work:[1,2],uniqu:2,other:[1,2],can:[1,2],www:2,d3d12:1,d3d11:0,veloc:[1,2],problemat:2,control:[1,2],weaker:2,kinet:2,slip:2,give:2,process:2,synchron:[1,2],share:2,shard:2,indic:[1,2],sph:2,tae:2,bend:2,want:2,geometrybuff:2,sharp:2,serial:2,keep:2,occur:2,envflexphasefluid:2,ratio:2,delai:1,alwai:2,surfac:2,end:2,divid:2,nvflexgetnorm:2,anoth:2,write:[1,2],how:2,mikko:2,nvflexextcreaterigidfrommesh:2,confin:[1,2],tile:2,place:2,bit:[0,2],rotationsbuff:2,simpl:2,numiter:2,buoyanc:1,updat:[0,1,2],map:2,product:[0,1],referenc:[1,2],convexmesh:2,max:1,after:[1,2],nvflexinit:[1,2],paticl:2,less:2,befor:[1,2],flexgetvort:1,nvflexsetspr:2,date:2,multipl:[1,2],"5cm":2,stiff:2,arch:2,flutter:2,physic:2,spawnparticl:2,stabil:2,alloc:[1,2],github:[1,2],essenti:2,practic:2,interpol:[1,2],shapecollisionmargin:2,correspond:2,element:2,caus:[1,2],callback:[1,2],"switch":1,fluidrestdist:2,combin:2,allow:[1,2],volum:[1,2],radeon:0,order:2,flexbuff:[1,2],includ:[0,1,2],polyhedron:2,deform:[1,2],softwar:0,over:[1,2],move:[1,2],becaus:[1,2],trade:2,increas:2,vec4:2,paper:2,through:[1,2],same:2,left:1,flexibl:2,pointer:2,directx:[0,1,2],paramet:[1,2],divis:1,style:[1,2],group:2,thumb:2,fit:1,fix:[1,2],better:[1,2],window:[0,1],flexextasset:1,creat:[1,2],onc:2,glew:1,main:2,might:2,soa:2,them:[1,2],good:2,"return":[1,2],thei:[1,2],envflexphasegroupmask:2,handl:[1,2],safe:2,initi:[1,2],scene:[1,2],half:2,front:2,nvflexconvexmeshgeometri:2,discuss:2,oper:2,envflexbufferhost:2,name:1,realist:2,tran:2,stb_truetyp:2,instruct:2,separ:[1,2],achiev:2,nsight:1,mode:2,each:[1,2],debug:1,done:2,d3d:1,higher:[0,2],side:2,bone:2,mean:2,clamp:1,voxel:2,harm:2,"9cm":2,weight:2,tension:2,interop:2,replac:1,chunk:2,nvflexext:2,idea:2,consum:2,ensur:2,finish:2,"static":[1,2],connect:2,velocitybuff:2,happen:2,differ:2,accord:2,orient:[1,2],out:[1,2],variabl:2,slide:2,architectur:2,physx:[1,2],springindic:2,space:[1,2],goe:2,flexextcreateinst:1,inertiabia:1,nvflexcreatesdf:2,identifi:2,angular:2,content:2,"m\u00fcller":2,vector:2,suitabl:2,rel:2,flexsynchron:1,nvflexset:2,common:2,model:[1,2],linear:[1,2],found:2,driver:[0,1],"10cm":2,gameplai:2,flexexttearclothmesh:1,free:1,like:[1,2],standalon:2,reason:2,base:[0,1,2],nvflexcollisiongeometri:2,latest:0,ask:2,org:2,"byte":1,hand:2,nvflexcreatesolv:2,card:0,basi:1,raster:1,nvflexshutdown:2,launch:[1,2],recast:2,could:[1,2],area:2,sm3:1,success:2,timer:2,nvflexgettim:[1,2],menableccd:1,caption:2,length:[1,2],turk:2,due:2,outsid:1,memononen:2,geometri:[1,2],nvflexsetshap:[1,2],scheme:2,lifetim:1,onto:2,top:2,first:2,origin:2,brickwork:2,prioritis:1,yong:2,render:[1,2],prevent:[1,2],carri:2,articl:2,arrai:[1,2],qualiti:2,number:[1,2],system:2,mai:2,unlik:2,cfm:2,nvflexallocbuff:[1,2],wrapper:2,stabl:1,ring:2,nvflexextmovingframeinit:1,miss:[1,2],primari:2,stage:2,size:2,given:2,springlength:2,complet:[1,2],envflexshapespher:2,advect:2,data:[1,2],interact:[1,2],contact:[1,2],sometim:2,least:[0,2],parallel:[1,2],master:2,flexalloc:1,accept:2,nvflextim:2,gpu:[0,1,2],libsdl:2,john:2,filter:[1,2],store:[1,2],too:2,adhes:[1,2],adher:2,assign:1,interti:1,option:[1,2],relationship:2,especi:2,quat:2,aabb:2,copi:[1,2],circumst:2,specifi:[1,2],part:2,somewhat:2,incred:2,attempt:2,exactli:2,than:[1,2],center:2,nvflextrianglemeshgeometri:2,conveni:2,unmap:2,stb:2,shrapnel:2,provid:[0,1,2],remov:1,zero:[1,2],structur:2,banana:2,project:1,greg:2,nvflexmakephas:2,substep:[1,2],posit:[1,2],nvflexdestroysolv:2,toward:2,ccw:2,result:2,fashion:2,comput:[1,2],behavior:[1,2],nvflexgetcontact:1,nvflexgetsmoothparticl:2,splat:2,ani:2,rai:2,raw:2,seed:2,nvflexextcreatesoftjoint:1,increment:2,cohes:[1,2],need:[1,2],seen:2,nvflexsolverdesc:2,"null":2,featur:[1,2],overconstrain:1,nvflexextcreatesoftfrommesh:2,strength:2,engin:2,squar:2,equival:2,inform:[0,1,2],destroi:1,self:[1,2],simul:[0,1,2],accuraci:2,note:[0,2],also:[1,2],maintain:2,take:[1,2],which:[1,2],interior:2,springcoeffici:2,properti:[1,2],graviti:2,channel:1,nvflex:[1,2],closer:2,pipelin:2,flexinit:1,unless:2,nvflexsetphas:2,normal:[1,2],track:2,flexwaitf:1,object:[1,2],compress:2,recastnavig:2,mmaxspe:1,most:2,plai:1,regular:2,pop:[1,2],pair:[1,2],nvflexsetact:2,cpu:[1,2],segment:2,why:2,sub:[1,2],tradit:2,mdiffuselifetim:1,ballist:2,eject:2,cloth:0,dens:2,flow:2,drive:1,destruct:[1,2],quantiti:2,piplin:1,width:2,wind:2,occasion:2,axi:2,blend:1,microsoft:0,translat:[1,2],viscou:1,shot:2,mostli:2,rayleigh:1,carefulli:2,text:2,random:2,cheap:2,nvflexgetdevicenam:1,friction:[1,2],bring:2,directli:2,particularli:2,flexextsetforcefield:1,flexgetrigidtransform:1,threshold:[1,2],corner:2,font:2,fine:[1,2],maxacceler:1,rotat:[1,2],impact:2,absolut:1,onli:2,explicitli:[1,2],locat:2,just:[1,2],ellipsoid:[1,2],transact:2,configur:2,written:2,fluid:0,should:[1,2],solidrestdist:2,nvflexparam:[1,2],clothphas:2,factor:2,nvflexsetparticl:2,folder:1,local:[1,2],gooei:2,meant:1,custom:1,get:2,kinemat:1,likewis:2,memcpi:[1,2],cheaper:2,joint:1,obviou:2,numparticl:2,report:1,reconstruct:2,updatebuff:2,parachut:2,layout:2,nvflexmemori:1,think:2,enabl:[1,2],organ:2,possibl:[1,2],"public":1,network:2,"float":2,integr:2,contain:2,anisotrop:2,where:2,view:1,unexpectedli:2,kernel:[1,2],vsync:1,numvertic:2,nvflexerrorcallback:1,nvflexgetneighbor:1,frame:[1,2],still:2,sprai:2,consraint:2,maximum:[1,2],resist:2,nvflexgetphas:2,flagsbuff:2,sean:2,randomspawnposit:2,fail:1,close:2,charact:2,best:2,float3:2,infinit:[1,2],nvflexgetparticl:2,nvflexunmap:2,detect:[1,2],collisiondist:2,correctli:1,dll:1,enough:2,stall:1,outstand:2,bruno:2,simplest:2,progress:2,awai:2,experi:2,approach:2,eflexmapwait:2,coefficientsbuff:2,spars:1,extend:1,numer:[1,2],fluidphas:2,screen:2,fundament:2,weak:2,conjunct:2,popul:2,extens:[0,1,2],matthia:2,solv:[1,2],come:2,flexsetrestposit:1,barrett:2,both:2,doxygen:0,irregular:2,similar:[1,2],howev:2,randomspawnveloc:2,against:[1,2],vortic:[1,2],flexgetbound:1,instanc:[1,2],grain:1,nvflexget:2,trimesh:2,pdf:1,unstructur:2,com:2,acceler:[1,2],simpli:2,pose:1,point:2,wall:2,format:[1,2],unrealist:2,height:2,header:1,uniniti:1,path:1,averag:[1,2],guid:2,summar:2,panel:1,torsion:2,quit:2,nvtoolsext64_1:1,vertic:[1,2],slowli:2,eflexphaseselfcollid:2,coupl:2,stretch:2,damp:[1,2],devic:[0,1,2],invers:[1,2],laplacian:[1,2],sinc:2,trigger:[1,2],treat:2,interest:2,basic:2,minertiabia:1,nvflextrianglemeshid:2,addit:[1,2],"abstract":2,strategi:2,rather:2,flight:2,"25m":1,resolut:2,unnecessarili:2,coordin:[1,2],lift:[1,2],nvflexsetveloc:2,togeth:2,minim:2,firt:2,rang:[1,2],present:[1,2],nvflexsetinflat:[1,2],determinist:2,multi:1,subsequ:2,packag:0,solid:[0,1,2],mdamp:1,erron:2,heidelberg:2,rope:0,defin:2,calcul:[1,2],unifi:[0,1,2],abov:[0,1],error:[1,2],activebuff:2,spawn:2,real:[0,2],planar:1,flexsettriangl:1,have:[1,2],helper:2,wiggl:2,almost:2,demo:[0,1,2],tabl:2,nvflexgetanisotropi:2,non:2,equal:2,cluster:[1,2],itself:2,renderparticl:2,flexcreatesolv:1,cook:1,crash:1,overpressur:2,queue:1,develop:0,author:2,perform:[1,2],suggest:2,make:2,belong:[1,2],bunni:2,tetrahedr:2,binari:1,complex:2,split:2,flexsetshap:1,collid:[1,2],android:1,difficult:2,overal:2,http:2,see:[0,1,2],cubic:2,optim:1,foam:2,hang:2,effect:2,amd:0,capabl:[0,2],app:1,nvflexcapsulegeometri:2,user:[1,2],kim:2,mani:2,extern:2,robust:[1,2],stack:2,tune:2,manisotropymax:1,lower:[1,2],appropri:2,off:2,lib:2,cross:1,builder:1,min:1,well:2,versatil:2,anim:2,exampl:2,expens:2,thi:[0,1,2],diverg:2,ccd:[1,2],everyth:2,dimension:1,usual:2,construct:2,manifold:2,execut:2,eflexhost:1,when:[1,2],glut:1,bilater:1,rest:[1,2],detail:[1,2],shape:[1,2],aspect:2,world:2,touch:1,jitter:[1,2],envflexmapwait:2,speed:2,renam:1,nvflexsetsolverdescdefault:2,blow:2,versu:1,now:1,struct:2,expos:[1,2],mshapecollisionmargin:1,help:[1,2],maxparticl:2,add:[1,2],discret:2,pile:2,cub:[1,2],densiti:[1,2],lookup:2,nvflexsdfgeometri:2,mmaxveloc:1,match:[1,2],build:[0,2],earli:1,nvflexdevic:1,dissip:2,around:2,nvlexallocbuff:2,read:2,piec:2,bia:1,test:[0,1,2],game:[0,2],grid:1,know:2,consid:2,marcu:2,apart:2,tick:2,associ:2,flexparam:1,nvflexcopydesc:1,redund:2,measur:2,trash:2,semi:2,specif:2,whitespac:1,arbitrari:2,manual:0,tend:2,integ:2,noth:2,collect:2,benefit:2,necessari:1,singl:1,lose:2,output:2,flexextpushtodevic:1,per:[1,2],unnecessari:1,underli:2,exceed:2,drop:2,often:[1,2],erelaxationmod:1,captur:1,linux:[0,1],some:[1,2],begin:2,interlock:2,interpenetr:1,global:[1,2],nvflexdistancefieldid:2,previou:[1,2],flush:1,home:0,sizeof:2,flexsetrigid:1,librari:0,distribut:[1,2],textur:[1,2],flexext:1,scale:2,siggraph:2,lead:1,phasebuff:2,broad:2,fpic:1,though:2,definit:2,februari:2,overlap:2,multipli:1,mononen:2,larg:[1,2],select:1,toolkit:0,condit:2,either:2,msvc:1,core:[0,2],sensibl:1,run:[1,2],flexsetconvex:1,vertex:[1,2],nvflexspheregeometri:2,"enum":1,usag:[0,1],nvflexextcreateclothfrommesh:2,quaternion:1,convent:[1,2],stride:[1,2],async:[1,2],flexextcreatesoftfrommesh:1,between:[1,2],describ:2,continu:2,plastic:1,stone:2,compet:2,nvflexbuffertyp:1,face:2,freedom:2,materi:2,commun:2,acm:2,page:0,union:2,degre:2,cuda:[0,1,2],neighbor:[1,2],act:2,convinc:2,geforc:0,behaviour:1,disabl:1,block:2,reduct:1,compil:1,effici:[1,2],activeindic:2,within:2,bound:1,automat:2,chm:1,down:2,right:2,been:[1,2],positionsbuff:2,float4:2,chang:[1,2],mark:2,bullet:2,merg:2,surround:2,accordingli:2,deal:2,suffici:2,opengl:2,eflexmemoryhost:1,transfer:2,squishi:2,transform:[1,2],fast:[1,2],fight:2,avail:0,topolog:2,much:[1,2],interfac:0,low:2,under:2,forward:2,call:[1,2],flexmakephas:1,individu:2,etc:[1,2],"function":[1,2],ghost:1,creation:[1,2],form:2,droplet:2,forc:[1,2],nuttapong:2,indicesbuff:2,back:[1,2],nvflexgetveloc:2,sdf:[1,2],link:[1,2],gain:1,trajectori:1,sdl:2,don:2,line:2,level:[1,2],"true":2,bug:1,sdk:[0,2],count:[1,2],pull:2,made:[1,2],algorithm:1,consist:[1,2],relaxationfactor:2,"default":[1,2],rate:2,access:2,smooth:[1,2],intern:[1,2],asynchron:[1,2],below:2,sum:2,flexextens:1,otherwis:2,problem:[1,2],quickli:2,rigidphas:2,motion:2,care:2,expect:2,instead:1,taylor:1,alongsid:2,pin:1,classic:2,"int":2,energi:2,dure:[1,2],buckl:2,futur:2,repres:2,incomplet:1,implement:[1,2],chentanez:2,restitut:[1,2],ship:2,proport:2,check:1,fill:2,incorrect:1,manisotropymin:1,readi:[0,2],incorrectli:1,nvflexphas:1,bindless:1,floor:2,nan:1,ext:1,dynam:[1,2],event:2,longer:2,wai:2,diffuseballist:2,creep:1,nvflexsetrigid:[1,2],diffusesortaxi:2,you:2,flexsetf:1,envflexrelaxationglob:2,nice:1,potenti:[1,2],ratcliff:2,nvflexlibrari:2,nvflexupdatetrianglemesh:[1,2],leak:1,time:0,drift:1,push:2,drag:[1,2],particlecollisionmargin:2,warp:1,tessel:2,pool:2,nvflexboxgeometri:2,reduc:1,nvflexfeaturemod:1,receiv:2,faster:2,macklin:2,cooker:2,flexgetcontact:1,snippet:2,flag:[1,2],rule:2,jihun:2,delta:2,mass:[1,2],"long":2,particlebuff:2,far:2,envflexshapetrianglemesh:2,avoid:[1,2]},objtypes:{},objnames:{},filenames:["index","releasenotes","manual"],titles:["NVIDIA Flex","Release Notes","Manual"],objects:{},titleterms:{distanc:2,plane:2,acknowledg:2,radiu:2,sign:2,sphere:2,set:2,design:2,capsul:2,convex:2,librari:2,prioriti:2,note:1,triangl:2,start:2,support:0,activ:2,profil:2,platform:0,collis:2,particl:2,spring:2,document:0,refer:2,flex:0,relax:2,buffer:2,nvidia:0,fluid:2,inflat:2,bodi:2,cloth:2,step:2,diffus:2,rigid:2,phase:2,requir:0,introduct:2,known:2,thread:2,constraint:2,soft:2,solver:2,manual:2,issu:2,releas:1,mesh:2,limit:2,time:2,quick:2,field:2,margin:2}}) \ No newline at end of file