From a3f92a1c7a1cc1553bd9581845ef2542d55ee58f Mon Sep 17 00:00:00 2001 From: bgaldrikian Date: Thu, 25 Oct 2018 00:12:07 -0700 Subject: Fix for crash bug during ESS authoring Doc updates for AuthoringTool and ApexImporter Updated release notes --- ...xt_authoring_bond_generator_impl_8h-source.html | 63 +++++++++++----------- ...xt_authoring_bond_generator_impl_8h_source.html | 2 +- 2 files changed, 33 insertions(+), 32 deletions(-) (limited to 'docs/source_docs') 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 @@ 00075 00076 00077 private: -00078 float processWithMidplanes(TriangleProcessor* trProcessor, const Triangle* mA, uint32_t mavc, const Triangle* mB, uint32_t mbvc, -00079 const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p, physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation); -00080 -00081 int32_t createFullBondListAveraged( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, const CollisionHull** chunkHulls, -00082 const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = nullptr); -00083 int32_t createFullBondListExact( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, -00084 const bool* supportFlags, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf); -00085 int32_t createFullBondListExactInternal(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, -00086 std::vector<PlaneChunkIndexer>& planeTriangleMapping , NvBlastBondDesc*& resultBondDescs); -00087 int32_t createBondForcedInternal( const std::vector<physx::PxVec3>& hull0, const std::vector<physx::PxVec3>& hull1,const CollisionHull& cHull0, -00088 const CollisionHull& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, NvBlastBond& resultBond, float overlapping); -00089 -00090 void buildGeometryCache(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry); -00091 void resetGeometryCache(); -00092 -00093 physx::PxCooking* mPxCooking; -00094 physx::PxPhysicsInsertionCallback* mPxInsertionCallback; -00095 +00078 float processWithMidplanes(TriangleProcessor* trProcessor, const Triangle* mA, uint32_t mavc, const Triangle* mB, uint32_t mbvc, const CollisionHull* hull1, const CollisionHull* hull2, +00079 const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p, +00080 physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation); +00081 +00082 int32_t createFullBondListAveraged( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, const CollisionHull** chunkHulls, +00083 const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = nullptr); +00084 int32_t createFullBondListExact( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, +00085 const bool* supportFlags, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf); +00086 int32_t createFullBondListExactInternal(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, +00087 std::vector<PlaneChunkIndexer>& planeTriangleMapping , NvBlastBondDesc*& resultBondDescs); +00088 int32_t createBondForcedInternal( const std::vector<physx::PxVec3>& hull0, const std::vector<physx::PxVec3>& hull1,const CollisionHull& cHull0, +00089 const CollisionHull& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, NvBlastBond& resultBond, float overlapping); +00090 +00091 void buildGeometryCache(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry); +00092 void resetGeometryCache(); +00093 +00094 physx::PxCooking* mPxCooking; +00095 physx::PxPhysicsInsertionCallback* mPxInsertionCallback; 00096 -00097 std::vector<std::vector<Triangle> > mGeometryCache; -00098 -00099 std::vector<PlaneChunkIndexer> mPlaneCache; -00100 std::vector<CollisionHull*> mCHullCache; -00101 std::vector<std::vector<physx::PxVec3> > mHullsPointsCache; -00102 std::vector<physx::PxBounds3 > mBoundsCache; -00103 +00097 +00098 std::vector<std::vector<Triangle> > mGeometryCache; +00099 +00100 std::vector<PlaneChunkIndexer> mPlaneCache; +00101 std::vector<CollisionHull*> mCHullCache; +00102 std::vector<std::vector<physx::PxVec3> > mHullsPointsCache; +00103 std::vector<physx::PxBounds3 > mBoundsCache; 00104 -00105 }; -00106 -00107 } // namespace Blast -00108 } // namespace Nv -00109 -00110 #endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H +00105 +00106 }; +00107 +00108 } // namespace Blast +00109 } // namespace Nv +00110 +00111 #endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
-Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed to you
2 // under a form of NVIDIA software license agreement provided separately to you.
3 //
4 // Notice
5 // NVIDIA Corporation and its licensors retain all intellectual property and
6 // proprietary rights in and to this software and related documentation and
7 // any modifications thereto. Any use, reproduction, disclosure, or
8 // distribution of this software and related documentation without an express
9 // license agreement from NVIDIA Corporation is strictly prohibited.
10 //
11 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15 //
16 // Information and code furnished is believed to be accurate and reliable.
17 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18 // information or for any infringement of patents or other rights of third parties that may
19 // result from its use. No license is granted by implication or otherwise under any patent
20 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21 // This code supersedes and replaces all information previously supplied.
22 // NVIDIA Corporation products are not authorized for use as critical
23 // components in life support devices or systems without express written approval of
24 // NVIDIA Corporation.
25 //
26 // Copyright (c) 2018 NVIDIA Corporation. All rights reserved.
27 
28 
29 #ifndef NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
30 #define NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
31 
34 #include "../cooking/PxCooking.h"
35 #include <PxPlane.h>
37 #include <vector>
38 #include <set>
39 
40 namespace Nv
41 {
42 namespace Blast
43 {
44 
50 {
51 public:
52 
53  BlastBondGeneratorImpl(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback)
54  : mPxCooking(cooking), mPxInsertionCallback(insertionCallback) {};
55 
56  virtual void release() override;
57 
58  virtual int32_t buildDescFromInternalFracture(FractureTool* tool, const bool* chunkIsSupport,
59  NvBlastBondDesc*& resultBondDescs, NvBlastChunkDesc*& resultChunkDescriptors) override;
60 
61  virtual int32_t createBondBetweenMeshes(uint32_t meshACount, const Triangle* meshA, uint32_t meshBCount, const Triangle* meshB,
62  NvBlastBond& resultBond, BondGenerationConfig conf) override;
63 
64  virtual int32_t createBondBetweenMeshes(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
65  uint32_t overlapsCount, const uint32_t* overlapsA, const uint32_t* overlapsB,
66  NvBlastBondDesc*& resultBond, BondGenerationConfig cfg) override;
67 
68  virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
69  const bool* chunkIsSupport, NvBlastBondDesc*& resultBondDescs,
70  BondGenerationConfig conf) override;
71 
72  virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* convexHullOffset, const CollisionHull** chunkHulls,
73  const bool* chunkIsSupport, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, float maxSeparation) override;
74 
75 
76 
77 private:
78  float processWithMidplanes(TriangleProcessor* trProcessor, const Triangle* mA, uint32_t mavc, const Triangle* mB, uint32_t mbvc,
79  const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p, physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation);
80 
81  int32_t createFullBondListAveraged( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, const CollisionHull** chunkHulls,
82  const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = nullptr);
83  int32_t createFullBondListExact( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
84  const bool* supportFlags, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf);
85  int32_t createFullBondListExactInternal(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
86  std::vector<PlaneChunkIndexer>& planeTriangleMapping , NvBlastBondDesc*& resultBondDescs);
87  int32_t createBondForcedInternal( const std::vector<physx::PxVec3>& hull0, const std::vector<physx::PxVec3>& hull1,const CollisionHull& cHull0,
88  const CollisionHull& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, NvBlastBond& resultBond, float overlapping);
89 
90  void buildGeometryCache(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry);
91  void resetGeometryCache();
92 
93  physx::PxCooking* mPxCooking;
94  physx::PxPhysicsInsertionCallback* mPxInsertionCallback;
95 
96 
97  std::vector<std::vector<Triangle> > mGeometryCache;
98 
99  std::vector<PlaneChunkIndexer> mPlaneCache;
100  std::vector<CollisionHull*> mCHullCache;
101  std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;
102  std::vector<physx::PxBounds3 > mBoundsCache;
103 
104 
105 };
106 
107 } // namespace Blast
108 } // namespace Nv
109 
110 #endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
Definition: NvBlastTypes.h:189
+Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed to you
2 // under a form of NVIDIA software license agreement provided separately to you.
3 //
4 // Notice
5 // NVIDIA Corporation and its licensors retain all intellectual property and
6 // proprietary rights in and to this software and related documentation and
7 // any modifications thereto. Any use, reproduction, disclosure, or
8 // distribution of this software and related documentation without an express
9 // license agreement from NVIDIA Corporation is strictly prohibited.
10 //
11 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15 //
16 // Information and code furnished is believed to be accurate and reliable.
17 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18 // information or for any infringement of patents or other rights of third parties that may
19 // result from its use. No license is granted by implication or otherwise under any patent
20 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21 // This code supersedes and replaces all information previously supplied.
22 // NVIDIA Corporation products are not authorized for use as critical
23 // components in life support devices or systems without express written approval of
24 // NVIDIA Corporation.
25 //
26 // Copyright (c) 2018 NVIDIA Corporation. All rights reserved.
27 
28 
29 #ifndef NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
30 #define NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
31 
34 #include "../cooking/PxCooking.h"
35 #include <PxPlane.h>
37 #include <vector>
38 #include <set>
39 
40 namespace Nv
41 {
42 namespace Blast
43 {
44 
50 {
51 public:
52 
53  BlastBondGeneratorImpl(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback)
54  : mPxCooking(cooking), mPxInsertionCallback(insertionCallback) {};
55 
56  virtual void release() override;
57 
58  virtual int32_t buildDescFromInternalFracture(FractureTool* tool, const bool* chunkIsSupport,
59  NvBlastBondDesc*& resultBondDescs, NvBlastChunkDesc*& resultChunkDescriptors) override;
60 
61  virtual int32_t createBondBetweenMeshes(uint32_t meshACount, const Triangle* meshA, uint32_t meshBCount, const Triangle* meshB,
62  NvBlastBond& resultBond, BondGenerationConfig conf) override;
63 
64  virtual int32_t createBondBetweenMeshes(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
65  uint32_t overlapsCount, const uint32_t* overlapsA, const uint32_t* overlapsB,
66  NvBlastBondDesc*& resultBond, BondGenerationConfig cfg) override;
67 
68  virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
69  const bool* chunkIsSupport, NvBlastBondDesc*& resultBondDescs,
70  BondGenerationConfig conf) override;
71 
72  virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* convexHullOffset, const CollisionHull** chunkHulls,
73  const bool* chunkIsSupport, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, float maxSeparation) override;
74 
75 
76 
77 private:
78  float processWithMidplanes(TriangleProcessor* trProcessor, const Triangle* mA, uint32_t mavc, const Triangle* mB, uint32_t mbvc, const CollisionHull* hull1, const CollisionHull* hull2,
79  const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p,
80  physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation);
81 
82  int32_t createFullBondListAveraged( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, const CollisionHull** chunkHulls,
83  const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = nullptr);
84  int32_t createFullBondListExact( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
85  const bool* supportFlags, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf);
86  int32_t createFullBondListExactInternal(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
87  std::vector<PlaneChunkIndexer>& planeTriangleMapping , NvBlastBondDesc*& resultBondDescs);
88  int32_t createBondForcedInternal( const std::vector<physx::PxVec3>& hull0, const std::vector<physx::PxVec3>& hull1,const CollisionHull& cHull0,
89  const CollisionHull& cHull1, physx::PxBounds3 bound0, physx::PxBounds3 bound1, NvBlastBond& resultBond, float overlapping);
90 
91  void buildGeometryCache(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry);
92  void resetGeometryCache();
93 
94  physx::PxCooking* mPxCooking;
95  physx::PxPhysicsInsertionCallback* mPxInsertionCallback;
96 
97 
98  std::vector<std::vector<Triangle> > mGeometryCache;
99 
100  std::vector<PlaneChunkIndexer> mPlaneCache;
101  std::vector<CollisionHull*> mCHullCache;
102  std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;
103  std::vector<physx::PxBounds3 > mBoundsCache;
104 
105 
106 };
107 
108 } // namespace Blast
109 } // namespace Nv
110 
111 #endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H
Definition: NvBlastTypes.h:189
NV_INLINE float normal(const float a[3], float r[3])
Definition: NvBlastMath.h:93
Definition: NvBlastTypes.h:322
Definition: NvBlastExtAuthoringFractureTool.h:248
-- cgit v1.2.3