summaryrefslogtreecommitdiff
path: root/indra/llprimitive
diff options
context:
space:
mode:
authorRye <rye@alchemyviewer.org>2025-09-18 13:38:54 -0400
committerRye <rye@alchemyviewer.org>2025-10-03 09:51:03 -0400
commitb277cc6a8fd2a48ed3ba6498734d9fae209d181e (patch)
tree6dce0e1c9dea322e73cdcd310e33ded081e13a96 /indra/llprimitive
parent9a413357ad5bc5f5492ece90b2c9cc9dbe6087c8 (diff)
Initial VHACD based llconvexdecomposition
Diffstat (limited to 'indra/llprimitive')
-rw-r--r--indra/llprimitive/CMakeLists.txt6
-rw-r--r--indra/llprimitive/llmodel.cpp4
-rw-r--r--indra/llprimitive/llmodel.h3
3 files changed, 10 insertions, 3 deletions
diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt
index e13f0bbd96..9e90314a51 100644
--- a/indra/llprimitive/CMakeLists.txt
+++ b/indra/llprimitive/CMakeLists.txt
@@ -70,6 +70,12 @@ target_link_libraries(llprimitive
ll::glm
)
+if (TARGET llconvexdecomposition)
+ target_link_libraries(llprimitive
+ llconvexdecomposition
+ )
+endif ()
+
#add unit tests
if (LL_TESTS)
INCLUDE(LLAddBuildTest)
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp
index 00ef79ce7f..8055bffd32 100644
--- a/indra/llprimitive/llmodel.cpp
+++ b/indra/llprimitive/llmodel.cpp
@@ -1296,10 +1296,10 @@ LLModel::weight_list& LLModel::getJointInfluences(const LLVector3& pos)
}
void LLModel::setConvexHullDecomposition(
- const LLModel::convex_hull_decomposition& decomp)
+ const LLModel::convex_hull_decomposition& decomp, const std::vector<LLModel::PhysicsMesh>& decomp_mesh)
{
mPhysics.mHull = decomp;
- mPhysics.mMesh.clear();
+ mPhysics.mMesh = decomp_mesh;
updateHullCenters();
}
diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h
index 6501b3dc50..ac88af18f0 100644
--- a/indra/llprimitive/llmodel.h
+++ b/indra/llprimitive/llmodel.h
@@ -305,7 +305,8 @@ public:
S32 mDecompID;
void setConvexHullDecomposition(
- const convex_hull_decomposition& decomp);
+ const convex_hull_decomposition& decomp,
+ const std::vector<LLModel::PhysicsMesh>& decomp_mesh);
void updateHullCenters();
LLVector3 mCenterOfHullCenters;