29 #ifndef NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H 30 #define NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H 53 : mConvexMeshBuilder(builder) {};
55 virtual void release()
override;
64 uint32_t overlapsCount,
const uint32_t* overlapsA,
const uint32_t* overlapsB,
72 const bool* chunkIsSupport,
const uint32_t* meshGroups,
NvBlastBondDesc*& resultBondDescs,
float maxSeparation)
override;
78 const std::vector<physx::PxVec3>& hull1p,
const std::vector<physx::PxVec3>& hull2p,
79 physx::PxVec3&
normal, physx::PxVec3& centroid,
float maxRelSeparation);
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,
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);
90 void buildGeometryCache(uint32_t meshCount,
const uint32_t* geometryOffset,
const Triangle* geometry);
91 void resetGeometryCache();
95 std::vector<std::vector<Triangle> > mGeometryCache;
97 std::vector<PlaneChunkIndexer> mPlaneCache;
98 std::vector<CollisionHull*> mCHullCache;
99 std::vector<std::vector<physx::PxVec3> > mHullsPointsCache;
100 std::vector<physx::PxBounds3 > mBoundsCache;
108 #endif // NVBLASTEXTAUTHORINGBONDGENERATORIMPL_H Definition: NvBlastExtAuthoringConvexMeshBuilder.h:47
Definition: NvBlastTypes.h:189
NV_INLINE float normal(const float a[3], float r[3])
Definition: NvBlastMath.h:93
Definition: NvBlastTypes.h:322
Definition: NvBlastExtAuthoringBondGeneratorImpl.h:48
Definition: NvBlastExtAuthoringBondGenerator.h:74
Definition: NvBlastExtTriangleProcessor.h:107
Definition: NvBlastExtAuthoringTypes.h:133
virtual void release() override
virtual int32_t bondsFromPrefractured(uint32_t meshCount, const uint32_t *geometryOffset, const Triangle *geometry, const bool *chunkIsSupport, NvBlastBondDesc *&resultBondDescs, BondGenerationConfig conf) override
virtual int32_t buildDescFromInternalFracture(FractureTool *tool, const bool *chunkIsSupport, NvBlastBondDesc *&resultBondDescs, NvBlastChunkDesc *&resultChunkDescriptors) override
Definition: NvBlastExtAuthoringTypes.h:79
Definition: NvBlastTypes.h:292
Definition: NvBlastExtAuthoringBondGenerator.h:54
BlastBondGeneratorImpl(ConvexMeshBuilder *builder)
Definition: NvBlastExtAuthoringBondGeneratorImpl.h:52
virtual int32_t createBondBetweenMeshes(uint32_t meshACount, const Triangle *meshA, uint32_t meshBCount, const Triangle *meshB, NvBlastBond &resultBond, BondGenerationConfig conf) override
Definition: NvBlastArray.h:37