aboutsummaryrefslogtreecommitdiff
path: root/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h
diff options
context:
space:
mode:
authorbgaldrikian <[email protected]>2018-10-03 17:51:20 -0700
committerbgaldrikian <[email protected]>2018-10-03 17:51:20 -0700
commit6f51c0ad55f3ed33597b8b12391d426fe28a0923 (patch)
treeb132a8cb2485820ff9556dafc8e874bc9d41f255 /sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h
parentFixes to UnitySample to make it build & run. ( In Unity 2018.2 ) (diff)
downloadblast-6f51c0ad55f3ed33597b8b12391d426fe28a0923.tar.xz
blast-6f51c0ad55f3ed33597b8b12391d426fe28a0923.zip
Blast 1.1.4. See docs/release_notes.txt.v1.1.4_rc1
Diffstat (limited to 'sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h')
-rwxr-xr-xsdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h b/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h
index 17222ee..bef3668 100755
--- a/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h
+++ b/sdk/extensions/authoring/source/NvBlastExtAuthoringBondGeneratorImpl.h
@@ -35,6 +35,7 @@
#include <PxPlane.h>
#include <NvBlastExtAuthoringCollisionBuilder.h>
#include <vector>
+#include <set>
namespace Nv
{
@@ -47,10 +48,10 @@ namespace Blast
class BlastBondGeneratorImpl : public BlastBondGenerator
{
-public:
+public:
BlastBondGeneratorImpl(physx::PxCooking* cooking, physx::PxPhysicsInsertionCallback* insertionCallback)
- : mPxCooking(cooking), mPxInsertionCallback(insertionCallback){};
+ : mPxCooking(cooking), mPxInsertionCallback(insertionCallback) {};
virtual void release() override;
@@ -58,7 +59,7 @@ public:
NvBlastBondDesc*& resultBondDescs, NvBlastChunkDesc*& resultChunkDescriptors) override;
virtual int32_t createBondBetweenMeshes(uint32_t meshACount, const Triangle* meshA, uint32_t meshBCount, const Triangle* meshB,
- NvBlastBond& resultBond, BondGenerationConfig conf = BondGenerationConfig()) override;
+ NvBlastBond& resultBond, BondGenerationConfig conf) override;
virtual int32_t createBondBetweenMeshes(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
uint32_t overlapsCount, const uint32_t* overlapsA, const uint32_t* overlapsB,
@@ -66,19 +67,19 @@ public:
virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
const bool* chunkIsSupport, NvBlastBondDesc*& resultBondDescs,
- BondGenerationConfig conf = BondGenerationConfig()) override;
+ BondGenerationConfig conf) override;
virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t* convexHullOffset, const CollisionHull** chunkHulls,
const bool* chunkIsSupport, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, float maxSeparation) override;
+
+
private:
- float processWithMidplanes( TriangleProcessor* trProcessor,
- const std::vector<physx::PxVec3>& chunk1Points, const std::vector<physx::PxVec3>& chunk2Points,
- const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p,
- physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation);
+ float processWithMidplanes(TriangleProcessor* trProcessor, const Triangle* mA, uint32_t mavc, const Triangle* mB, uint32_t mbvc,
+ const std::vector<physx::PxVec3>& hull1p, const std::vector<physx::PxVec3>& hull2p, physx::PxVec3& normal, physx::PxVec3& centroid, float maxSeparation);
int32_t createFullBondListAveraged( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry, const CollisionHull** chunkHulls,
- const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf);
+ const bool* supportFlags, const uint32_t* meshGroups, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf, std::set<std::pair<uint32_t, uint32_t> >* pairNotToTest = nullptr);
int32_t createFullBondListExact( uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
const bool* supportFlags, NvBlastBondDesc*& resultBondDescs, BondGenerationConfig conf);
int32_t createFullBondListExactInternal(uint32_t meshCount, const uint32_t* geometryOffset, const Triangle* geometry,
@@ -99,6 +100,8 @@ private:
std::vector<CollisionHull*> mCHullCache;
std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;
std::vector<physx::PxBounds3 > mBoundsCache;
+
+
};
} // namespace Blast