summaryrefslogtreecommitdiff
path: root/indra/llprimitive
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2025-10-10 17:17:25 -0400
committerGitHub <noreply@github.com>2025-10-10 17:17:25 -0400
commit2cdcd336ba63702cbf9919bebb279292edf9ba0e (patch)
tree9ea43c81fd431397648d9a1292f94519a41b797a /indra/llprimitive
parent6efde0ba83b6ce2f2735f0c4a532cc405b8a3a8d (diff)
parentb277cc6a8fd2a48ed3ba6498734d9fae209d181e (diff)
Merge pull request #4783 from RyeMutt/rye/convexdecomp
Introduce initial VHACD based llconvexdecomposition library
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;