29 #ifndef NVBLASTEXTRT_H 30 #define NVBLASTEXTRT_H 40 #define BLASTRT_MAX_VERTICES 262144 41 #define BLASTRT_MAX_EDGES_PER_CHUNK 16384 42 #define BLASTRT_MAX_CHUNKS 256 50 class SpatialAccelerator;
88 virtual void release() = 0;
91 virtual void reset() = 0;
92 virtual void resetEdges() = 0;
96 virtual uint32_t edgesCount()
const = 0;
97 virtual uint32_t verticesCount()
const = 0;
98 virtual uint32_t ffResultCount()
const = 0;
102 virtual uint32_t addVertex(
const Vertex&) = 0;
107 virtual Vertex& getNewVertex() = 0;
123 virtual void release() = 0;
129 virtual void release() = 0;
154 uint32_t edesCount = 0;
168 FACET_FACET_TEST = 1,
169 RETAIN_FROM_FRACTURED_MESH = 2,
170 RETAIN_FROM_PATTERN = 4,
176 virtual void release() = 0;
178 virtual uint32_t getResultChunkCount() = 0;
179 virtual Vertex* getVertexBuffer() = 0;
180 virtual uint32_t* getIndexBuffer() = 0;
181 virtual uint32_t* getVertexOffset() = 0;
182 virtual uint32_t* getIndexOffset() = 0;
184 virtual void dumpChunksToObj(
const char* path) = 0;
206 virtual void eraseNode(uint32_t index) = 0;
207 virtual void release() = 0;
210 uint32_t* dirtyChunks =
nullptr;
211 uint32_t linksCount = 0;
212 uint32_t dirtyChunksCount = 0;
213 uint32_t newlyAddedCount = 0;
214 uint32_t maxLinksCount = 0;
268 #endif // ifndef NVBLASTEXTRT_H NVBLAST_API Nv::Blast::MeshGenerator * NvBlastExtRTCreateMeshGenerator()
NVBLAST_API Nv::Blast::FractureRT * NvBlastExtRTCreateFractureRT(uint32_t threads=1)
Definition: NvBlastExtRT.h:204
PatternFacetType
Definition: NvBlastExtRT.h:187
Definition: NvBlastExtRT.h:68
Definition: NvBlastExtRT.h:150
int32_t parentFacet
Definition: NvBlastExtRT.h:72
Definition: NvBlastExtRT.h:144
Definition: NvBlastExtAuthoringAccelerator.h:47
NVBLAST_API uint32_t NvBlastExtRTBuildMesh(Nv::Blast::MeshDesc dsc, Nv::Blast::Vertex *outVertices, uint32_t &vCount, uint32_t *indices, Nv::Blast::PerTriangleAdditionalData *adata, uint32_t maxICount, uint32_t maxVCount)
Definition: NvBlastExtAuthoringMesh.h:42
int32_t adjacentFacet
Definition: NvBlastExtRT.h:73
Definition: NvBlastExtRT.h:132
NVBLAST_API uint32_t NvBlastExtRTGetChunksToUnite(Nv::Blast::DamagePattern *pattern, const Nv::Blast::Vertex *vertices, const uint32_t *voffsets, uint32_t chunksCount, uint32_t *chunksToUnite)
uint32_t start
Definition: NvBlastExtRT.h:70
Definition: NvBlastExtRT.h:187
bool operator<(const FacetFacetResult &in) const
Definition: NvBlastExtRT.h:62
uint32_t end
Definition: NvBlastExtRT.h:71
uint32_t adjacentFacet
Definition: NvBlastExtRT.h:57
BooleanResultEdge getInversed()
Definition: NvBlastExtRT.h:75
Definition: NvBlastExtAuthoringPatternGenerator.h:85
int32_t status
Definition: NvBlastExtRT.h:59
uint32_t parentFacet
Definition: NvBlastExtRT.h:56
uint32_t pIdx
Definition: NvBlastExtRT.h:60
uint32_t chunkId
Definition: NvBlastExtRT.h:141
Definition: NvBlastExtRT.h:187
Definition: NvBlastExtRT.h:172
int32_t materialIndex
Definition: NvBlastExtRT.h:146
#define NVBLAST_API
Definition: NvBlastPreprocessor.h:37
NVBLAST_API Nv::Blast::Fracturer * NvBlastExtRTCreateFracturer()
Definition: NvBlastExtRT.h:160
Definition: NvCTypes.h:92
NVBLAST_API void NvBlastExtRTCookMergedMesh(Nv::Blast::DamagePattern *pattern)
Definition: NvBlastExtRT.h:193
uint32_t l1
Definition: NvBlastExtRT.h:196
int32_t smoothingGroup
Definition: NvBlastExtRT.h:147
NVBLAST_API uint32_t NvBlastExtRTDoFracture(const Nv::Blast::FractureDesc &desc, int32_t stage=Nv::Blast::FractureRT::Stage::ALL, int32_t threadId=0, int32_t threadCount=1)
uint32_t parentEdge
Definition: NvBlastExtRT.h:58
Definition: NvBlastExtRT.h:54
Definition: NvBlastExtAuthoringTypes.h:67
uint32_t l2
Definition: NvBlastExtRT.h:198
Definition: NvBlastExtRT.h:164
Definition: NvBlastExtRT.h:126
Definition: NvBlastExtRT.h:120
Definition: NvBlastArray.h:37
NVBLAST_API uint32_t NvBlastExtRTDetectIslands(Nv::Blast::Vertex *vertices, uint32_t *offsets, NvcBounds3 *bounds, uint32_t chunkCount, Nv::Blast::ChunkGraph *graph, uint32_t *islandChunks, uint32_t *islandOffsets)
NVBLAST_API Nv::Blast::ChunkGraph * NvBlastExtRTCreateChunkGraph(uint32_t maxLinksCount=4096)