diff options
| author | bgaldrikian <[email protected]> | 2018-10-25 00:12:07 -0700 |
|---|---|---|
| committer | bgaldrikian <[email protected]> | 2018-10-25 00:12:07 -0700 |
| commit | a3f92a1c7a1cc1553bd9581845ef2542d55ee58f (patch) | |
| tree | 65d7b052c81faca989db10cf2681f4209fe6dc76 /docs | |
| parent | Merge pull request #14 from neithy/master (diff) | |
| download | blast-a3f92a1c7a1cc1553bd9581845ef2542d55ee58f.tar.xz blast-a3f92a1c7a1cc1553bd9581845ef2542d55ee58f.zip | |
Fix for crash bug during ESS authoringv1.1.4_releasev1.1.4_rc2
Doc updates for AuthoringTool and ApexImporter
Updated release notes
Diffstat (limited to 'docs')
| -rwxr-xr-x | docs/_source/apex_importer.txt | 20 | ||||
| -rwxr-xr-x | docs/_source/authoring_tool.txt | 65 | ||||
| -rwxr-xr-x | docs/api_docs/files/pageauthoring.html | 63 | ||||
| -rwxr-xr-x | docs/api_docs/files/pageimporter.html | 14 | ||||
| -rwxr-xr-x | docs/api_docs/files/pagereleasenotes.html | 4 | ||||
| -rwxr-xr-x | docs/release_notes.txt | 4 | ||||
| -rwxr-xr-x | docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html | 63 | ||||
| -rwxr-xr-x | docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h_source.html | 2 |
8 files changed, 133 insertions, 102 deletions
diff --git a/docs/_source/apex_importer.txt b/docs/_source/apex_importer.txt index fca0b67..2eeec36 100755 --- a/docs/_source/apex_importer.txt +++ b/docs/_source/apex_importer.txt @@ -15,23 +15,22 @@ Along with creating a Blast&tm; asset (*.blast), ApexImporter creates an *.obj o Blast&tm; asset data can be saved in different ways:
-1) LL-asset which is Low Level asset data (NvBlastAsset with --ll).
+ 1) LL-asset which is Low Level asset data (NvBlastAsset with --ll).
-2) Tk-asset which is Toolkit asset data (Nv::Blast::TkAsset with --tk).
+ 2) Tk-asset which is Toolkit asset data (Nv::Blast::TkAsset with --tk).
-3) ExtPx-asset which incorporates Blast&tm; data and collision geometry for physics engine (Nv::Blast::ExtPxAsset with --px). Default mode.
+ 3) ExtPx-asset which incorporates Blast&tm; data and collision geometry for physics engine (Nv::Blast::ExtPxAsset with --px). Default mode.
ExtPxAsset assets or *.fbx files that contain collision geometry and can be used in \ref pagesampleassetviewer.
\verbatim
USAGE:
- ApexImporter [--nonskinned] [--fbxcollision] [--fbx] [--obj]
- [--fbxascii] [--ll] [--tk] [--px] [-d] [-m <0 -
- EXACT, 1 - FORCED, for detailed description see
- docs.>] -n <output asset name> [-o <output
- directory>] -f <infile> [--] [--version] [-h]
-
+ ApexImporter [--nonskinned] [--fbxcollision] [--jsoncollision]
+ [--fbx] [--obj] [--fbxascii] [--ll] [--tk] [--px] [-d]
+ [-m <0 - EXACT, 1 - FORCED, for detailed description see docs.>]
+ -n <output asset name> [-o <output directory>]
+ -f <infile> [--] [--version] [-h]
Where:
@@ -41,6 +40,9 @@ Where: --fbxcollision
Append collision geometry to FBX file
+ --jsoncollision
+ Save collision geometry to a json file
+
--fbx
Output a FBX mesh to the output directory
diff --git a/docs/_source/authoring_tool.txt b/docs/_source/authoring_tool.txt index cfa6145..43fd40b 100755 --- a/docs/_source/authoring_tool.txt +++ b/docs/_source/authoring_tool.txt @@ -11,7 +11,7 @@ Additionally, the user can choose how Blast&tm; data should be saved (in .blast 2) Tk-asset which is Toolkit asset data (Nv::Blast::TkAsset).
- 3) ExtPx-asset which incorporates Blast&tm; data and collision geometry for physics engine (Nv::Blast::ExtPxAsset).
+ 3) ExtPx-asset which incorporates Blast&tm; data and collision geometry for physics engine (Nv::Blast::ExtPxAsset).
.blast and .obj files may be consumed by the \ref pagesampleassetviewer.
@@ -24,23 +24,30 @@ This tool uses the Authoring Tools Extension (\ref pageextauthoring). Therefore USAGE:
- AuthoringTool_x64.exe [--ovar <by default
- 0.0>] [--avar <by default 0.0>]
- [--slices <by default 1 1 1>]
- [--radius <by default 1.0>]
- [--clusters <by default 5>]
- [--cells <by default 5>] [--mode <v
- - voronoi, c - clustered voronoi, s
- - slicing.>] [--nonskinned]
- [--fbxcollision] [--fbx] [--obj]
- [--fbxascii] [--tk] [--px]
- [--clean] [--outputDir <by default
- directory of the input file>] [--]
- [--version] [-h] <infile> <output
- asset name>
-
+ AuthoringTool_x64 [--agg <by default 1>] [--cutoutBitmap <by defualt empty>]
+ [--normal <by default 1 0 0>] [--point <by default 0 0 0>]
+ [--ovar <by default 0.0>] [--avar <by default 0.0>]
+ [--slices <by default 1 1 1>] [--radius <by default 1.0>]
+ [--clusters <by default 5>] [--cells <by default 5>]
+ [--mode <v - voronoi, c - clustered voronoi, s - slicing,
+ p - plane cut, u - cutout, i - chunks from islands.>]
+ [--interiorMat <by default -1>] [--nonskinned] [--jsoncollision]
+ [--fbxcollision] [--fbx] [--obj] [--fbxascii] [--ll] [--tk] [--px]
+ [--clean] [--outputDir <by default directory of the input file>]
+ [--] [--version] [-h] <infile> <output asset name>
Where:
+ --agg <by default 1>
+ Maximum number of collision hulls per chunk (aggregate)
+
+ --cutoutBitmap <by defualt empty>
+ Path to *.bmp file with cutout bitmap
+
+ --normal <by default 1 0 0>
+ Plane surface normal
+
+ --point <by default 0 0 0>
+ Plane surface point
--ovar <by default 0.0>
Slicing offset variation
@@ -60,12 +67,20 @@ Where: --cells <by default 5>
Voronoi cells count
- --mode <v - voronoi, c - clustered voronoi, s - slicing.>
+ --mode <v - voronoi, c - clustered voronoi, s - slicing, p - plane cut,
+ u - cutout, i - chunks from islands.>
Fracturing mode
+ --interiorMat <by default -1>
+ Use to setup interior material id, by default new material for
+ internal surface will be created.
+
--nonskinned
Output a non-skinned FBX file
+ --jsoncollision
+ Save collision geometry to a json file
+
--fbxcollision
Add collision geometry to FBX file
@@ -78,13 +93,15 @@ Where: --fbxascii
Output FBX as an ascii file (defaults to binary output)
+ --ll
+ Output LL Blast (NvBlastAsset) to the .blast file in the output
+ directory.
+
--tk
- Output TkAsset to the .blast file in the output directory instead of
- LL Blast asset (NvBlastAsset).
+ Output TkAsset to the .blast file in the output directory.
--px
- Output ExtPxAsset to the .blast file in the output directory instead
- of LL Blast asset (NvBlastAsset).
+ Output ExtPxAsset to the .blast file in the output directory.
--clean
Try cleaning mesh before fracturing
@@ -107,12 +124,6 @@ Where: <output asset name>
(required) Output asset name
-
- Blast SDK: Authoring Tool
-
-
-
-
\endverbatim
<br>
diff --git a/docs/api_docs/files/pageauthoring.html b/docs/api_docs/files/pageauthoring.html index 5c42fa3..967fbf2 100755 --- a/docs/api_docs/files/pageauthoring.html +++ b/docs/api_docs/files/pageauthoring.html @@ -33,23 +33,30 @@ This tool uses the Authoring Tools Extension (<a class="el" href="pageextauthori USAGE: - AuthoringTool_x64.exe [--ovar <by default - 0.0>] [--avar <by default 0.0>] - [--slices <by default 1 1 1>] - [--radius <by default 1.0>] - [--clusters <by default 5>] - [--cells <by default 5>] [--mode <v - - voronoi, c - clustered voronoi, s - - slicing.>] [--nonskinned] - [--fbxcollision] [--fbx] [--obj] - [--fbxascii] [--tk] [--px] - [--clean] [--outputDir <by default - directory of the input file>] [--] - [--version] [-h] <infile> <output - asset name> - + AuthoringTool_x64 [--agg <by default 1>] [--cutoutBitmap <by defualt empty>] + [--normal <by default 1 0 0>] [--point <by default 0 0 0>] + [--ovar <by default 0.0>] [--avar <by default 0.0>] + [--slices <by default 1 1 1>] [--radius <by default 1.0>] + [--clusters <by default 5>] [--cells <by default 5>] + [--mode <v - voronoi, c - clustered voronoi, s - slicing, + p - plane cut, u - cutout, i - chunks from islands.>] + [--interiorMat <by default -1>] [--nonskinned] [--jsoncollision] + [--fbxcollision] [--fbx] [--obj] [--fbxascii] [--ll] [--tk] [--px] + [--clean] [--outputDir <by default directory of the input file>] + [--] [--version] [-h] <infile> <output asset name> Where: + --agg <by default 1> + Maximum number of collision hulls per chunk (aggregate) + + --cutoutBitmap <by defualt empty> + Path to *.bmp file with cutout bitmap + + --normal <by default 1 0 0> + Plane surface normal + + --point <by default 0 0 0> + Plane surface point --ovar <by default 0.0> Slicing offset variation @@ -69,12 +76,20 @@ Where: --cells <by default 5> Voronoi cells count - --mode <v - voronoi, c - clustered voronoi, s - slicing.> + --mode <v - voronoi, c - clustered voronoi, s - slicing, p - plane cut, + u - cutout, i - chunks from islands.> Fracturing mode + --interiorMat <by default -1> + Use to setup interior material id, by default new material for + internal surface will be created. + --nonskinned Output a non-skinned FBX file + --jsoncollision + Save collision geometry to a json file + --fbxcollision Add collision geometry to FBX file @@ -87,13 +102,15 @@ Where: --fbxascii Output FBX as an ascii file (defaults to binary output) + --ll + Output LL Blast (NvBlastAsset) to the .blast file in the output + directory. + --tk - Output TkAsset to the .blast file in the output directory instead of - LL Blast asset (NvBlastAsset). + Output TkAsset to the .blast file in the output directory. --px - Output ExtPxAsset to the .blast file in the output directory instead - of LL Blast asset (NvBlastAsset). + Output ExtPxAsset to the .blast file in the output directory. --clean Try cleaning mesh before fracturing @@ -116,12 +133,6 @@ Where: <output asset name> (required) Output asset name - - Blast SDK: Authoring Tool - - - - </pre></div><p> <br> See <a class="el" href="pagecopyrights.html">Copyrights</a> for license information regarding third-party software used by ApexImporter.<p> diff --git a/docs/api_docs/files/pageimporter.html b/docs/api_docs/files/pageimporter.html index d520352..2c069bd 100755 --- a/docs/api_docs/files/pageimporter.html +++ b/docs/api_docs/files/pageimporter.html @@ -34,12 +34,11 @@ ExtPxAsset assets or *.fbx files that contain collision geometry and can be used <div class="fragment"><pre class="fragment"> USAGE: - ApexImporter [--nonskinned] [--fbxcollision] [--fbx] [--obj] - [--fbxascii] [--ll] [--tk] [--px] [-d] [-m <0 - - EXACT, 1 - FORCED, for detailed description see - docs.>] -n <output asset name> [-o <output - directory>] -f <infile> [--] [--version] [-h] - + ApexImporter [--nonskinned] [--fbxcollision] [--jsoncollision] + [--fbx] [--obj] [--fbxascii] [--ll] [--tk] [--px] [-d] + [-m <0 - EXACT, 1 - FORCED, for detailed description see docs.>] + -n <output asset name> [-o <output directory>] + -f <infile> [--] [--version] [-h] Where: @@ -49,6 +48,9 @@ Where: --fbxcollision Append collision geometry to FBX file + --jsoncollision + Save collision geometry to a json file + --fbx Output a FBX mesh to the output directory diff --git a/docs/api_docs/files/pagereleasenotes.html b/docs/api_docs/files/pagereleasenotes.html index 8d37a2f..1775f17 100755 --- a/docs/api_docs/files/pagereleasenotes.html +++ b/docs/api_docs/files/pagereleasenotes.html @@ -24,7 +24,7 @@ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -Blast(tm) SDK 1.1.4 (03-Oct-2018) +Blast(tm) SDK 1.1.4 (24-Oct-2018) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Changes @@ -45,9 +45,11 @@ Bug fixes * Authoring tools: ** Fixed .obj material loading when obj folder is same as working directory. ** Degenerate face generation fix. +** Fixed memory leak in FractureTool. * Proper memory releasing in samples. * Single-actor serialization bugfix when actor has world bonds. * Updated PhysX package for Win64 (vc14 and vc15) and Linux64 to 3.4.24990349, improving GRB behavior and fixing GRB crash/failure on Volta and Turing. +* Documented JSON collision export option introduced in previous version. Known Issues ------------ diff --git a/docs/release_notes.txt b/docs/release_notes.txt index 39ffc3d..15595bd 100755 --- a/docs/release_notes.txt +++ b/docs/release_notes.txt @@ -3,7 +3,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Blast(tm) SDK 1.1.4 (03-Oct-2018)
+Blast(tm) SDK 1.1.4 (24-Oct-2018)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Changes
@@ -24,9 +24,11 @@ Bug fixes * Authoring tools:
** Fixed .obj material loading when obj folder is same as working directory.
** Degenerate face generation fix.
+** Fixed memory leak in FractureTool.
* Proper memory releasing in samples.
* Single-actor serialization bugfix when actor has world bonds.
* Updated PhysX package for Win64 (vc14 and vc15) and Linux64 to 3.4.24990349, improving GRB behavior and fixing GRB crash/failure on Volta and Turing.
+* Documented JSON collision export option introduced in previous version.
Known Issues
------------
diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html index 7e8d00a..c46a337 100755 --- a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h-source.html @@ -109,39 +109,40 @@ <a name="l00075"></a>00075 <a name="l00076"></a>00076 <a name="l00077"></a>00077 <span class="keyword">private</span>: -<a name="l00078"></a>00078 <span class="keywordtype">float</span> processWithMidplanes(<a class="code" href="class_nv_1_1_blast_1_1_triangle_processor.html">TriangleProcessor</a>* trProcessor, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mA, uint32_t mavc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mB, uint32_t mbvc, -<a name="l00079"></a>00079 <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1p, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull2p, physx::PxVec3& <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a>, physx::PxVec3& centroid, <span class="keywordtype">float</span> maxSeparation); -<a name="l00080"></a>00080 -<a name="l00081"></a>00081 int32_t createFullBondListAveraged( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls, -<a name="l00082"></a>00082 <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = <span class="keyword">nullptr</span>); -<a name="l00083"></a>00083 int32_t createFullBondListExact( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, -<a name="l00084"></a>00084 <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf); -<a name="l00085"></a>00085 int32_t createFullBondListExactInternal(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, -<a name="l00086"></a>00086 std::vector<PlaneChunkIndexer>& planeTriangleMapping , <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs); -<a name="l00087"></a>00087 int32_t createBondForcedInternal( <span class="keyword">const</span> std::vector<physx::PxVec3>& hull0, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1,<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull0, -<a name="l00088"></a>00088 <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <span class="keywordtype">float</span> overlapping); -<a name="l00089"></a>00089 -<a name="l00090"></a>00090 <span class="keywordtype">void</span> buildGeometryCache(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry); -<a name="l00091"></a>00091 <span class="keywordtype">void</span> resetGeometryCache(); -<a name="l00092"></a>00092 -<a name="l00093"></a>00093 physx::PxCooking* mPxCooking; -<a name="l00094"></a>00094 physx::PxPhysicsInsertionCallback* mPxInsertionCallback; -<a name="l00095"></a>00095 +<a name="l00078"></a>00078 <span class="keywordtype">float</span> processWithMidplanes(<a class="code" href="class_nv_1_1_blast_1_1_triangle_processor.html">TriangleProcessor</a>* trProcessor, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mA, uint32_t mavc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mB, uint32_t mbvc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>* hull1, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>* hull2, +<a name="l00079"></a>00079 <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1p, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull2p, +<a name="l00080"></a>00080 physx::PxVec3& <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#1c8d1bbcf531b04e6ff52f5357987794">normal</a>, physx::PxVec3& centroid, <span class="keywordtype">float</span> maxSeparation); +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 int32_t createFullBondListAveraged( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls, +<a name="l00083"></a>00083 <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = <span class="keyword">nullptr</span>); +<a name="l00084"></a>00084 int32_t createFullBondListExact( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, +<a name="l00085"></a>00085 <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf); +<a name="l00086"></a>00086 int32_t createFullBondListExactInternal(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, +<a name="l00087"></a>00087 std::vector<PlaneChunkIndexer>& planeTriangleMapping , <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs); +<a name="l00088"></a>00088 int32_t createBondForcedInternal( <span class="keyword">const</span> std::vector<physx::PxVec3>& hull0, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1,<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull0, +<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <span class="keywordtype">float</span> overlapping); +<a name="l00090"></a>00090 +<a name="l00091"></a>00091 <span class="keywordtype">void</span> buildGeometryCache(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry); +<a name="l00092"></a>00092 <span class="keywordtype">void</span> resetGeometryCache(); +<a name="l00093"></a>00093 +<a name="l00094"></a>00094 physx::PxCooking* mPxCooking; +<a name="l00095"></a>00095 physx::PxPhysicsInsertionCallback* mPxInsertionCallback; <a name="l00096"></a>00096 -<a name="l00097"></a>00097 std::vector<std::vector<Triangle> > mGeometryCache; -<a name="l00098"></a>00098 -<a name="l00099"></a>00099 std::vector<PlaneChunkIndexer> mPlaneCache; -<a name="l00100"></a>00100 std::vector<CollisionHull*> mCHullCache; -<a name="l00101"></a>00101 std::vector<std::vector<physx::PxVec3> > mHullsPointsCache; -<a name="l00102"></a>00102 std::vector<physx::PxBounds3 > mBoundsCache; -<a name="l00103"></a>00103 +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 std::vector<std::vector<Triangle> > mGeometryCache; +<a name="l00099"></a>00099 +<a name="l00100"></a>00100 std::vector<PlaneChunkIndexer> mPlaneCache; +<a name="l00101"></a>00101 std::vector<CollisionHull*> mCHullCache; +<a name="l00102"></a>00102 std::vector<std::vector<physx::PxVec3> > mHullsPointsCache; +<a name="l00103"></a>00103 std::vector<physx::PxBounds3 > mBoundsCache; <a name="l00104"></a>00104 -<a name="l00105"></a>00105 }; -<a name="l00106"></a>00106 -<a name="l00107"></a>00107 } <span class="comment">// namespace Blast</span> -<a name="l00108"></a>00108 } <span class="comment">// namespace Nv</span> -<a name="l00109"></a>00109 -<a name="l00110"></a>00110 <span class="preprocessor">#endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span> +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 }; +<a name="l00107"></a>00107 +<a name="l00108"></a>00108 } <span class="comment">// namespace Blast</span> +<a name="l00109"></a>00109 } <span class="comment">// namespace Nv</span> +<a name="l00110"></a>00110 +<a name="l00111"></a>00111 <span class="preprocessor">#endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span> </pre></div></div> <!-- start footer part --> <div class="footer"> diff --git a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h_source.html b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h_source.html index ad4af96..a208923 100755 --- a/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h_source.html +++ b/docs/source_docs/files/_nv_blast_ext_authoring_bond_generator_impl_8h_source.html @@ -46,7 +46,7 @@ $(document).ready(function(){initNavTree('_nv_blast_ext_authoring_bond_generator <div class="title">NvBlastExtAuthoringBondGeneratorImpl.h</div> </div> </div><!--header--> <div class="contents"> -<a href="_nv_blast_ext_authoring_bond_generator_impl_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Copyright (c) 2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifndef NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#define NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="_nv_blast_ext_authoring_bond_generator_8h.html">NvBlastExtAuthoringBondGenerator.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "../cooking/PxCooking.h"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <PxPlane.h></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <<a class="code" href="_nv_blast_ext_authoring_collision_builder_8h.html">NvBlastExtAuthoringCollisionBuilder.h</a>></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <set></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html"> 49</a></span> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html">BlastBondGeneratorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator.html">BlastBondGenerator</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>: </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a1af682e9c503ff6f1a9dd25621c94163"> 53</a></span>  <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a1af682e9c503ff6f1a9dd25621c94163">BlastBondGeneratorImpl</a>(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback) </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  : mPxCooking(cooking), mPxInsertionCallback(insertionCallback) {};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#ac0deb96a81bd1db34ad1ef2f8623d64e">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a288e9d9a7c1bcb10e15f6f3ec90ef53a">buildDescFromInternalFracture</a>(<a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a>* tool, <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport,</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>*& resultChunkDescriptors) <span class="keyword">override</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a0d06aa62402161f1197fe1dad4801cb1">createBondBetweenMeshes</a>(uint32_t meshACount, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* meshA, uint32_t meshBCount, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* meshB,</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf) <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a0d06aa62402161f1197fe1dad4801cb1">createBondBetweenMeshes</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  uint32_t overlapsCount, <span class="keyword">const</span> uint32_t* overlapsA, <span class="keyword">const</span> uint32_t* overlapsB,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBond, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> cfg) <span class="keyword">override</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a97fd9b746597ec923e2376387188a06e">bondsFromPrefractured</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf) <span class="keyword">override</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a97fd9b746597ec923e2376387188a06e">bondsFromPrefractured</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* convexHullOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <span class="keywordtype">float</span> maxSeparation) <span class="keyword">override</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">float</span> processWithMidplanes(<a class="code" href="class_nv_1_1_blast_1_1_triangle_processor.html">TriangleProcessor</a>* trProcessor, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mA, uint32_t mavc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mB, uint32_t mbvc,</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1p, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull2p, physx::PxVec3& <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, physx::PxVec3& centroid, <span class="keywordtype">float</span> maxSeparation);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  int32_t createFullBondListAveraged( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls,</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  int32_t createFullBondListExact( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  int32_t createFullBondListExactInternal(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  std::vector<PlaneChunkIndexer>& planeTriangleMapping , <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  int32_t createBondForcedInternal( <span class="keyword">const</span> std::vector<physx::PxVec3>& hull0, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1,<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull0, </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <span class="keywordtype">float</span> overlapping);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">void</span> buildGeometryCache(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">void</span> resetGeometryCache();</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  physx::PxCooking* mPxCooking;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  physx::PxPhysicsInsertionCallback* mPxInsertionCallback;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  std::vector<std::vector<Triangle> > mGeometryCache;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  std::vector<PlaneChunkIndexer> mPlaneCache;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  std::vector<CollisionHull*> mCHullCache;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  std::vector<physx::PxBounds3 > mBoundsCache;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> };</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> } <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> } <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="ttc" id="struct_nv_blast_bond_html"><div class="ttname"><a href="struct_nv_blast_bond.html">NvBlastBond</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:189</div></div> +<a href="_nv_blast_ext_authoring_bond_generator_impl_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Notice</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// proprietary rights in and to this software and related documentation and</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// This code supersedes and replaces all information previously supplied.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// components in life support devices or systems without express written approval of</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// NVIDIA Corporation.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Copyright (c) 2018 NVIDIA Corporation. All rights reserved.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifndef NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#define NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="_nv_blast_ext_authoring_bond_generator_8h.html">NvBlastExtAuthoringBondGenerator.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "../cooking/PxCooking.h"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <PxPlane.h></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <<a class="code" href="_nv_blast_ext_authoring_collision_builder_8h.html">NvBlastExtAuthoringCollisionBuilder.h</a>></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <set></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span><a class="code" href="namespace_nv.html">Nv</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">namespace </span>Blast</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html"> 49</a></span> <span class="keyword">class </span><a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html">BlastBondGeneratorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator.html">BlastBondGenerator</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>: </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a1af682e9c503ff6f1a9dd25621c94163"> 53</a></span>  <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a1af682e9c503ff6f1a9dd25621c94163">BlastBondGeneratorImpl</a>(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback) </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  : mPxCooking(cooking), mPxInsertionCallback(insertionCallback) {};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#ac0deb96a81bd1db34ad1ef2f8623d64e">release</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a288e9d9a7c1bcb10e15f6f3ec90ef53a">buildDescFromInternalFracture</a>(<a class="code" href="class_nv_1_1_blast_1_1_fracture_tool.html">FractureTool</a>* tool, <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport,</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_blast_chunk_desc.html">NvBlastChunkDesc</a>*& resultChunkDescriptors) <span class="keyword">override</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a0d06aa62402161f1197fe1dad4801cb1">createBondBetweenMeshes</a>(uint32_t meshACount, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* meshA, uint32_t meshBCount, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* meshB,</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf) <span class="keyword">override</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a0d06aa62402161f1197fe1dad4801cb1">createBondBetweenMeshes</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  uint32_t overlapsCount, <span class="keyword">const</span> uint32_t* overlapsA, <span class="keyword">const</span> uint32_t* overlapsB,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBond, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> cfg) <span class="keyword">override</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a97fd9b746597ec923e2376387188a06e">bondsFromPrefractured</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf) <span class="keyword">override</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator_impl.html#a97fd9b746597ec923e2376387188a06e">bondsFromPrefractured</a>(uint32_t meshCount, <span class="keyword">const</span> uint32_t* convexHullOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* chunkIsSupport, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <span class="keywordtype">float</span> maxSeparation) <span class="keyword">override</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">float</span> processWithMidplanes(<a class="code" href="class_nv_1_1_blast_1_1_triangle_processor.html">TriangleProcessor</a>* trProcessor, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mA, uint32_t mavc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* mB, uint32_t mbvc, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>* hull1, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>* hull2,</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1p, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull2p,</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  physx::PxVec3& <a class="code" href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">normal</a>, physx::PxVec3& centroid, <span class="keywordtype">float</span> maxSeparation);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  int32_t createFullBondListAveraged( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>** chunkHulls,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <span class="keyword">const</span> uint32_t* meshGroups, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  int32_t createFullBondListExact( uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span>* supportFlags, <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs, <a class="code" href="struct_nv_1_1_blast_1_1_bond_generation_config.html">BondGenerationConfig</a> conf);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  int32_t createFullBondListExactInternal(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  std::vector<PlaneChunkIndexer>& planeTriangleMapping , <a class="code" href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a>*& resultBondDescs);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  int32_t createBondForcedInternal( <span class="keyword">const</span> std::vector<physx::PxVec3>& hull0, <span class="keyword">const</span> std::vector<physx::PxVec3>& hull1,<span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull0, </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_collision_hull.html">CollisionHull</a>& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, <a class="code" href="struct_nv_blast_bond.html">NvBlastBond</a>& resultBond, <span class="keywordtype">float</span> overlapping);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">void</span> buildGeometryCache(uint32_t meshCount, <span class="keyword">const</span> uint32_t* geometryOffset, <span class="keyword">const</span> <a class="code" href="struct_nv_1_1_blast_1_1_triangle.html">Triangle</a>* geometry);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">void</span> resetGeometryCache();</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  physx::PxCooking* mPxCooking;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  physx::PxPhysicsInsertionCallback* mPxInsertionCallback;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  std::vector<std::vector<Triangle> > mGeometryCache;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  std::vector<PlaneChunkIndexer> mPlaneCache;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  std::vector<CollisionHull*> mCHullCache;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  std::vector<physx::PxBounds3 > mBoundsCache;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> };</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> } <span class="comment">// namespace Blast</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> } <span class="comment">// namespace Nv</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H</span></div><div class="ttc" id="struct_nv_blast_bond_html"><div class="ttname"><a href="struct_nv_blast_bond.html">NvBlastBond</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:189</div></div> <div class="ttc" id="namespace_nv_1_1_blast_1_1_vec_math_html_a1c8d1bbcf531b04e6ff52f5357987794"><div class="ttname"><a href="namespace_nv_1_1_blast_1_1_vec_math.html#a1c8d1bbcf531b04e6ff52f5357987794">Nv::Blast::VecMath::normal</a></div><div class="ttdeci">NV_INLINE float normal(const float a[3], float r[3])</div><div class="ttdef"><b>Definition:</b> NvBlastMath.h:93</div></div> <div class="ttc" id="struct_nv_blast_bond_desc_html"><div class="ttname"><a href="struct_nv_blast_bond_desc.html">NvBlastBondDesc</a></div><div class="ttdef"><b>Definition:</b> NvBlastTypes.h:322</div></div> <div class="ttc" id="class_nv_1_1_blast_1_1_fracture_tool_html"><div class="ttname"><a href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a></div><div class="ttdef"><b>Definition:</b> NvBlastExtAuthoringFractureTool.h:248</div></div> |