#include <NvBlastExtAuthoringBondGeneratorImpl.h>

Public Member Functions | |
| BlastBondGeneratorImpl (ConvexMeshBuilder *builder) | |
| 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 |
| 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 |
| 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, NvBlastBondDesc *&resultBond, BondGenerationConfig cfg) override |
| virtual int32_t | createBondBetweenMeshes (uint32_t meshACount, const Triangle *meshA, uint32_t meshBCount, const Triangle *meshB, NvBlastBond &resultBond, BondGenerationConfig conf) override |
| virtual void | release () override |
| Nv::Blast::BlastBondGeneratorImpl::BlastBondGeneratorImpl | ( | ConvexMeshBuilder * | builder | ) | [inline] |
| virtual int32_t Nv::Blast::BlastBondGeneratorImpl::bondsFromPrefractured | ( | uint32_t | meshCount, | |
| const uint32_t * | convexHullOffset, | |||
| const CollisionHull ** | chunkHulls, | |||
| const bool * | chunkIsSupport, | |||
| const uint32_t * | meshGroups, | |||
| NvBlastBondDesc *& | resultBondDescs, | |||
| float | maxSeparation | |||
| ) | [override, virtual] |
Creates bond description for prefractured meshes, when there is no info about which chunks should be connected with bond. This uses the same process as bondsFromPrefractured using the BondGenMode::AVERAGE mode however the existing collision data is used.
| [in] | meshCount | Number of meshes |
| [in] | convexHullOffset | Pointer to array of convex hull offsets for each mesh. Containts meshCount + 1 element, last one is total number of hulls in the geometry |
| [in] | chunkHulls | Pointer to array of convex hulls. Hulls from convexHullOffset[i] to convexHullOffset[i+1] correspond to i-th mesh. |
| [in] | chunkIsSupport | Pointer to array of flags, if true - chunk is support. Array size should be equal to chunk count in tool. |
| [in] | meshGroups | Pointer to array of group ids for each mesh, bonds will not be generated between meshs of the same group. If null each mesh is assumed to be in it's own group. |
| [out] | resultBondDescs | Pointer to array of result bonds. |
Implements Nv::Blast::BlastBondGenerator.
| virtual int32_t Nv::Blast::BlastBondGeneratorImpl::bondsFromPrefractured | ( | uint32_t | meshCount, | |
| const uint32_t * | geometryOffset, | |||
| const Triangle * | geometry, | |||
| const bool * | chunkIsSupport, | |||
| NvBlastBondDesc *& | resultBondDescs, | |||
| BondGenerationConfig | conf | |||
| ) | [override, virtual] |
Creates bond description for prefractured meshes, when there is no info about which chunks should be connected with bond.
| [in] | meshCount | Number of meshes |
| [in] | geometryOffset | Pointer to array of triangle offsets for each mesh. Containts meshCount + 1 element, last one is total number of triangles in geometry |
| [in] | geometry | Pointer to array of triangles. Triangles from geometryOffset[i] to geometryOffset[i+1] correspond to i-th mesh. |
| [in] | chunkIsSupport | Pointer to array of flags, if true - chunk is support. Array size should be equal to chunk count in tool. |
| [out] | resultBondDescs | Pointer to array of result bonds. |
| [in] | conf | Bond creation mode. |
Implements Nv::Blast::BlastBondGenerator.
| virtual int32_t Nv::Blast::BlastBondGeneratorImpl::buildDescFromInternalFracture | ( | FractureTool * | tool, | |
| const bool * | chunkIsSupport, | |||
| NvBlastBondDesc *& | resultBondDescs, | |||
| NvBlastChunkDesc *& | resultChunkDescriptors | |||
| ) | [override, virtual] |
This method based on marking triangles during fracture process, so can be used only with internally fractured meshes.
| [in] | tool | FractureTool which contains chunks representation, tool->finalizeFracturing() should be called before. |
| [in] | chunkIsSupport | Pointer to array of flags, if true - chunk is support. Array size should be equal to chunk count in tool. |
| [out] | resultBondDescs | Pointer to array of created bond descriptors. |
| [out] | resultChunkDescriptors | Pointer to array of created chunk descriptors. |
Implements Nv::Blast::BlastBondGenerator.
| virtual int32_t Nv::Blast::BlastBondGeneratorImpl::createBondBetweenMeshes | ( | uint32_t | meshCount, | |
| const uint32_t * | geometryOffset, | |||
| const Triangle * | geometry, | |||
| uint32_t | overlapsCount, | |||
| const uint32_t * | overlapsA, | |||
| const uint32_t * | overlapsB, | |||
| NvBlastBondDesc *& | resultBond, | |||
| BondGenerationConfig | cfg | |||
| ) | [override, virtual] |
Creates bond description between number of meshes
| [in] | meshCount | Number of meshes |
| [in] | geometryOffset | Pointer to array of triangle offsets for each mesh. Containts meshCount + 1 element, last one is total number of triangles in geometry |
| [in] | geometry | Pointer to array of triangles. Triangles from geometryOffset[i] to geometryOffset[i+1] correspond to i-th mesh. |
| [in] | overlapsCount | Number of overlaps |
| [in] | overlaps | Pointer to array of pairs - indexes of chunks, for which bond should be created. |
| [out] | resultBond | Pointer to array of result bonds. |
| [in] | cfg | Bond creation mode. |
Implements Nv::Blast::BlastBondGenerator.
| virtual int32_t Nv::Blast::BlastBondGeneratorImpl::createBondBetweenMeshes | ( | uint32_t | meshACount, | |
| const Triangle * | meshA, | |||
| uint32_t | meshBCount, | |||
| const Triangle * | meshB, | |||
| NvBlastBond & | resultBond, | |||
| BondGenerationConfig | conf | |||
| ) | [override, virtual] |
Creates bond description between two meshes
| [in] | meshACount | Number of triangles in mesh A |
| [in] | meshA | Pointer to array of triangles of mesh A. |
| [in] | meshBCount | Number of triangles in mesh B |
| [in] | meshB | Pointer to array of triangles of mesh B. |
| [out] | resultBond | Result bond description. |
| [in] | conf | Bond creation mode. |
Implements Nv::Blast::BlastBondGenerator.
| virtual void Nv::Blast::BlastBondGeneratorImpl::release | ( | ) | [override, virtual] |
Release BlastBondGenerator memory
Implements Nv::Blast::BlastBondGenerator.