From ff4fcf824028df96cd0562699e7e232da5f561b5 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:30:04 +0200 Subject: [PATCH 1/8] [cmake] Added *_API macro export in BaseConstraint and BaseNormalHandler --- src/ConstraintGeometry/BaseConstraint.h | 3 ++- src/ConstraintGeometry/BaseNormalHandler.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ConstraintGeometry/BaseConstraint.h b/src/ConstraintGeometry/BaseConstraint.h index 3113547..6bd1b42 100644 --- a/src/ConstraintGeometry/BaseConstraint.h +++ b/src/ConstraintGeometry/BaseConstraint.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -12,7 +13,7 @@ namespace sofa::constraintgeometry { -class BaseConstraint : public sofa::core::behavior::BaseLagrangianConstraint{ +class SOFA_CONSTRAINTGEOMETRY_API BaseConstraint : public sofa::core::behavior::BaseLagrangianConstraint{ public: virtual ~BaseConstraint(){} diff --git a/src/ConstraintGeometry/BaseNormalHandler.h b/src/ConstraintGeometry/BaseNormalHandler.h index 6efd389..ec3c924 100644 --- a/src/ConstraintGeometry/BaseNormalHandler.h +++ b/src/ConstraintGeometry/BaseNormalHandler.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -12,7 +13,7 @@ namespace sofa ::constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseConstraint */ -class BaseNormalHandler : public collisionalgorithm::CollisionComponent { +class SOFA_CONSTRAINTGEOMETRY_API BaseNormalHandler : public collisionalgorithm::CollisionComponent { public: SOFA_ABSTRACT_CLASS(BaseNormalHandler, collisionalgorithm::CollisionComponent); From 24b94c0ff38ffee19f92c3fbe1cbb003698c7656 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:35:08 +0200 Subject: [PATCH 2/8] [cmake] API export of normalHandler classes --- src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h | 2 +- .../normalHandler/GouraudTriangleNormalHandler.h | 2 +- .../normalHandler/GravityPointNormalHandler.h | 2 +- .../normalHandler/PhongTriangleNormalHandler.h | 2 +- src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h index 455d9a1..c583244 100644 --- a/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h @@ -7,7 +7,7 @@ namespace sofa::constraintgeometry { -class EdgeNormalHandler : public BaseNormalHandler { +class SOFA_CONSTRAINTGEOMETRY_API EdgeNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(EdgeNormalHandler, BaseNormalHandler); diff --git a/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h index 00ed9ca..e937cb9 100644 --- a/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h @@ -8,7 +8,7 @@ namespace sofa::constraintgeometry { -class GouraudTriangleNormalHandler : public BaseNormalHandler { +class SOFA_CONSTRAINTGEOMETRY_API GouraudTriangleNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(GouraudTriangleNormalHandler, BaseNormalHandler); diff --git a/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h index cf14bf6..ca54321 100644 --- a/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h @@ -7,7 +7,7 @@ namespace sofa::constraintgeometry { -class GravityPointNormalHandler : public BaseNormalHandler { +class SOFA_CONSTRAINTGEOMETRY_API GravityPointNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(GravityPointNormalHandler, BaseNormalHandler); diff --git a/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h index 23f92a1..80802cb 100644 --- a/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h @@ -7,7 +7,7 @@ namespace sofa::constraintgeometry { -class PhongTriangleNormalHandler : public BaseNormalHandler { +class SOFA_CONSTRAINTGEOMETRY_API PhongTriangleNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(PhongTriangleNormalHandler, BaseNormalHandler); diff --git a/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h index 2813a35..c491d80 100644 --- a/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h @@ -7,7 +7,7 @@ namespace sofa::constraintgeometry { -class VectorPointNormalHandler : public BaseNormalHandler { +class SOFA_CONSTRAINTGEOMETRY_API VectorPointNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(VectorPointNormalHandler, BaseNormalHandler); From 9c50d21e8946ac5f2e0538ae31d9845226cd55de Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:39:39 +0200 Subject: [PATCH 3/8] [cmake] API export of BaseInternalConstraint --- src/ConstraintGeometry/InternalConstraint.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ConstraintGeometry/InternalConstraint.h b/src/ConstraintGeometry/InternalConstraint.h index 5df1ddb..4a21ad6 100644 --- a/src/ConstraintGeometry/InternalConstraint.h +++ b/src/ConstraintGeometry/InternalConstraint.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -8,7 +9,7 @@ namespace sofa::constraintgeometry { -class BaseInternalConstraint { +class SOFA_CONSTRAINTGEOMETRY_API BaseInternalConstraint { public: typedef std::shared_ptr SPtr; From f288d968d52e277656e1c83ddb37afa9b9ea4784 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:41:13 +0200 Subject: [PATCH 4/8] [cmake] Export API macro for ConstraintDirection --- src/ConstraintGeometry/ConstraintDirection.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ConstraintGeometry/ConstraintDirection.h b/src/ConstraintGeometry/ConstraintDirection.h index adb087a..80fa816 100644 --- a/src/ConstraintGeometry/ConstraintDirection.h +++ b/src/ConstraintGeometry/ConstraintDirection.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -11,7 +12,7 @@ namespace sofa::constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseLagrangianConstraint */ -class ConstraintDirection : public sofa::core::objectmodel::BaseObject { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintDirection : public sofa::core::objectmodel::BaseObject { public: SOFA_CLASS(ConstraintDirection, sofa::core::objectmodel::BaseObject); From 079588766b9a99ef1340c56f1696a4a08ef65367 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:44:35 +0200 Subject: [PATCH 5/8] [cmake] API macro for export ConstraintNormal --- src/ConstraintGeometry/ConstraintNormal.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ConstraintGeometry/ConstraintNormal.h b/src/ConstraintGeometry/ConstraintNormal.h index 8e91ef5..5be4fb2 100644 --- a/src/ConstraintGeometry/ConstraintNormal.h +++ b/src/ConstraintGeometry/ConstraintNormal.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -11,7 +12,7 @@ namespace sofa::constraintgeometry { */ -class ConstraintNormal { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintNormal { public: typedef collisionalgorithm::BaseProximity BaseProximity; From 6011da5600d9b245d00f879ce721a0d919e995c0 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:46:33 +0200 Subject: [PATCH 6/8] [cmake] API export operations --- .../operations/ConstraintProximityOperation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ConstraintGeometry/operations/ConstraintProximityOperation.h b/src/ConstraintGeometry/operations/ConstraintProximityOperation.h index 706ca8c..16342b5 100644 --- a/src/ConstraintGeometry/operations/ConstraintProximityOperation.h +++ b/src/ConstraintGeometry/operations/ConstraintProximityOperation.h @@ -8,7 +8,7 @@ namespace sofa::constraintgeometry { class BaseNormalHandler; //Specific operation to find the closest point on a geometry (the code is in the c++ class) -class ConstraintProximityOperation : public collisionalgorithm::Operations::GenericOperation2 { From 0134a5562c2b22bc7863f4ff78c9174f0e30bea4 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:50:30 +0200 Subject: [PATCH 7/8] [cmake] API macro to export ConstraintProximity --- src/ConstraintGeometry/ConstraintProximity.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ConstraintGeometry/ConstraintProximity.h b/src/ConstraintGeometry/ConstraintProximity.h index 56196fd..ce39316 100644 --- a/src/ConstraintGeometry/ConstraintProximity.h +++ b/src/ConstraintGeometry/ConstraintProximity.h @@ -1,11 +1,12 @@ #pragma once +#include #include #include namespace sofa::constraintgeometry { -class ConstraintProximity : public virtual collisionalgorithm::BaseBaseProximity { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintProximity : public virtual collisionalgorithm::BaseBaseProximity { public: typedef std::shared_ptr SPtr; From 52bcebbd8edca44eeb9834464afc7e8a071f1ca9 Mon Sep 17 00:00:00 2001 From: Themis Skamagkis Date: Thu, 25 Sep 2025 11:55:40 +0200 Subject: [PATCH 8/8] [cmake] API macro for export of constraint classes and response --- src/ConstraintGeometry/ConstraintResponse.h | 3 ++- src/ConstraintGeometry/constraint/ConstraintBilateral.h | 2 +- src/ConstraintGeometry/constraint/ConstraintInsertion.h | 2 +- src/ConstraintGeometry/constraint/ConstraintUnilateral.h | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ConstraintGeometry/ConstraintResponse.h b/src/ConstraintGeometry/ConstraintResponse.h index 40f8f4a..8df3447 100644 --- a/src/ConstraintGeometry/ConstraintResponse.h +++ b/src/ConstraintGeometry/ConstraintResponse.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -13,7 +14,7 @@ namespace constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseLagrangianConstraint */ -class ConstraintResponse : public sofa::core::objectmodel::BaseObject { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintResponse : public sofa::core::objectmodel::BaseObject { public: SOFA_CLASS(ConstraintResponse, sofa::core::objectmodel::BaseObject); diff --git a/src/ConstraintGeometry/constraint/ConstraintBilateral.h b/src/ConstraintGeometry/constraint/ConstraintBilateral.h index 09d91ab..f1192c8 100644 --- a/src/ConstraintGeometry/constraint/ConstraintBilateral.h +++ b/src/ConstraintGeometry/constraint/ConstraintBilateral.h @@ -6,7 +6,7 @@ namespace sofa::constraintgeometry { -class ConstraintBilateral : public TBaseConstraint { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintBilateral : public TBaseConstraint { public: SOFA_CLASS(ConstraintBilateral , SOFA_TEMPLATE2(TBaseConstraint,BaseProximity,BaseProximity)); diff --git a/src/ConstraintGeometry/constraint/ConstraintInsertion.h b/src/ConstraintGeometry/constraint/ConstraintInsertion.h index 9259fd9..fca4e70 100644 --- a/src/ConstraintGeometry/constraint/ConstraintInsertion.h +++ b/src/ConstraintGeometry/constraint/ConstraintInsertion.h @@ -6,7 +6,7 @@ namespace sofa::constraintgeometry { -class ConstraintInsertion : public TBaseConstraint { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintInsertion : public TBaseConstraint { public: SOFA_CLASS(ConstraintInsertion , SOFA_TEMPLATE2(TBaseConstraint,BaseProximity,BaseProximity)); diff --git a/src/ConstraintGeometry/constraint/ConstraintUnilateral.h b/src/ConstraintGeometry/constraint/ConstraintUnilateral.h index 33a769a..def887c 100644 --- a/src/ConstraintGeometry/constraint/ConstraintUnilateral.h +++ b/src/ConstraintGeometry/constraint/ConstraintUnilateral.h @@ -13,7 +13,7 @@ namespace constraintgeometry { * \brief The ConstraintUnilateral class * Applies specified algorithm on 'from' and 'dest' geometry */ -class ConstraintUnilateral : public TBaseConstraint { +class SOFA_CONSTRAINTGEOMETRY_API ConstraintUnilateral : public TBaseConstraint { public: SOFA_CLASS(ConstraintUnilateral , SOFA_TEMPLATE2(TBaseConstraint,collisionalgorithm::BaseProximity,collisionalgorithm::BaseProximity) );