From d41654b469fa51870b5952c836c04d9da17f32d3 Mon Sep 17 00:00:00 2001 From: Anton Novoselov Date: Tue, 8 Aug 2017 20:14:22 +0300 Subject: Updated to CL 22627414: * docs updates * authoring fixes * stress solver crash fixes --- .../authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp') diff --git a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp index 91c81bc..8378ef0 100644 --- a/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp +++ b/sdk/extensions/authoring/source/NvBlastExtAuthoringFractureToolImpl.cpp @@ -524,7 +524,7 @@ bool FractureToolImpl::isMeshContainOpenEdges(const Mesh* input) return collected & 1; } -int32_t FractureToolImpl::voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPointsIn, const physx::PxVec3& scale, bool replaceChunk) +int32_t FractureToolImpl::voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPointsIn, const physx::PxVec3& scale, const physx::PxQuat& rotation, bool replaceChunk) { if (chunkId == 0 && replaceChunk) { @@ -549,9 +549,12 @@ int32_t FractureToolImpl::voronoiFracturing(uint32_t chunkId, uint32_t cellCount { cellPoints[i] = (cellPointsIn[i] - mOffset) * (1.0f / mScaleFactor); + cellPoints[i] = rotation.rotateInv(cellPoints[i]); + cellPoints[i].x *= (1.0f / scale.x); cellPoints[i].y *= (1.0f / scale.y); cellPoints[i].z *= (1.0f / scale.z); + } /** @@ -585,6 +588,7 @@ int32_t FractureToolImpl::voronoiFracturing(uint32_t chunkId, uint32_t cellCount cell->getVerticesWritable()[v].p.x *= scale.x; cell->getVerticesWritable()[v].p.y *= scale.y; cell->getVerticesWritable()[v].p.z *= scale.z; + cell->getVerticesWritable()[v].p = rotation.rotate(cell->getVerticesWritable()[v].p); } cell->recalculateBoundingBox(); DummyAccelerator dmAccel(cell->getFacetCount()); @@ -1069,7 +1073,7 @@ void FractureToolImpl::setSourceMesh(const Mesh* meshInput) if (isMeshContainOpenEdges(meshInput)) { - NVBLAST_LOG_WARNING("WARNING! Input mesh contains open edges, it may lead to wrong fractruing results!. \n"); + NVBLAST_LOG_WARNING("Input mesh contains open edges, it may lead to wrong fractruing results!. \n"); } -- cgit v1.2.3