diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d8a2d0..044db8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: -GNinja \ -DCMAKE_PREFIX_PATH="$SOFA_ROOT/lib/cmake" \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/CollisionAlgorithm" \ + -DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%/deps/CollisionAlgorithm/install \ .. \ && ninja install" else @@ -48,22 +48,10 @@ jobs: -GNinja \ -DCMAKE_PREFIX_PATH=$SOFA_ROOT/lib/cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/CollisionAlgorithm \ + -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/deps/CollisionAlgorithm/install \ .. ninja install fi - # Move the CollisionAlgorithm installation to match ConstraintGeometry CMake - SRC_PATH="$GITHUB_WORKSPACE/install/CollisionAlgorithm/include/include/CollisionAlgorithm/CollisionAlgorithm/src" - DEST_PATH="$GITHUB_WORKSPACE/install/CollisionAlgorithm/include/CollisionAlgorithm" - # If Windows, convert paths - if [[ "$RUNNER_OS" == "Windows" ]]; then - SRC_PATH=$(cygpath -u "$SRC_PATH") - DEST_PATH=$(cygpath -u "$DEST_PATH") - fi - # Flatten install structure - mkdir -p "$DEST_PATH" - mv "$SRC_PATH"/* "$DEST_PATH"/ - rm -rf "$GITHUB_WORKSPACE/install/CollisionAlgorithm/include/include" - name: Checkout source code uses: actions/checkout@v2 @@ -79,7 +67,7 @@ jobs: && cd /d %GITHUB_WORKSPACE%/build \ && cmake \ -GNinja \ - -DCMAKE_PREFIX_PATH=$SOFA_ROOT/lib/cmake;%GITHUB_WORKSPACE%/install/CollisionAlgorithm \ + -DCMAKE_PREFIX_PATH=$SOFA_ROOT/lib/cmake;%GITHUB_WORKSPACE%/deps/CollisionAlgorithm/install/lib/cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%/install \ ../src \ @@ -91,7 +79,7 @@ jobs: -GNinja \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_PREFIX_PATH="$SOFA_ROOT/lib/cmake;$GITHUB_WORKSPACE/install/CollisionAlgorithm" \ + -DCMAKE_PREFIX_PATH="$SOFA_ROOT/lib/cmake;$GITHUB_WORKSPACE/deps/CollisionAlgorithm/install/lib/cmake" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="$WORKSPACE_INSTALL_PATH" \ ../src diff --git a/CMakeLists.txt b/CMakeLists.txt index 461918e..af88815 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,46 +1,69 @@ cmake_minimum_required(VERSION 3.12) project(ConstraintGeometry VERSION 0.1 LANGUAGES CXX) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +find_package(CollisionAlgorithm REQUIRED) +find_package(Sofa.Component.StateContainer REQUIRED) +find_package(Sofa.Component.Constraint.Lagrangian.Solver REQUIRED) +find_package(Sofa.GL REQUIRED) -file(GLOB_RECURSE HEADER_FILES - "src/*.h" - "src/*.inl" -) +set(CONSTRAINTGEOMETRY_SRC "src/${PROJECT_NAME}") -file(GLOB_RECURSE SOURCE_FILES - "src/*.cpp" -) +set(HEADER_FILES + ${CONSTRAINTGEOMETRY_SRC}/config.h.in + ${CONSTRAINTGEOMETRY_SRC}/initConstraintGeometry.h -file(GLOB_RECURSE SCENES_FILES - "scenes/*.scn" - "*.xml" -) + ${CONSTRAINTGEOMETRY_SRC}/BaseConstraint.h + ${CONSTRAINTGEOMETRY_SRC}/BaseNormalHandler.h + ${CONSTRAINTGEOMETRY_SRC}/ConstraintDirection.h + ${CONSTRAINTGEOMETRY_SRC}/ConstraintNormal.h + ${CONSTRAINTGEOMETRY_SRC}/ConstraintProximity.h + ${CONSTRAINTGEOMETRY_SRC}/ConstraintResponse.h + ${CONSTRAINTGEOMETRY_SRC}/InternalConstraint.h -file(GLOB_RECURSE IGNORED_FILES - "ignored/*.h" - "ignored/*.inl" - "ignored/*.cpp" -) + ${CONSTRAINTGEOMETRY_SRC}/constraint/BilateralResolution.h + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintBilateral.h + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintInsertion.h + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintUnilateral.h + ${CONSTRAINTGEOMETRY_SRC}/constraint/InsertionResolution.h + ${CONSTRAINTGEOMETRY_SRC}/constraint/UnilateralResolution.h + + ${CONSTRAINTGEOMETRY_SRC}/directions/BindDirection.h + ${CONSTRAINTGEOMETRY_SRC}/directions/ContactDirection.h + ${CONSTRAINTGEOMETRY_SRC}/directions/FirstDirection.h + ${CONSTRAINTGEOMETRY_SRC}/directions/FixedFrameDirection.h + ${CONSTRAINTGEOMETRY_SRC}/directions/SecondDirection.h -file(GLOB_RECURSE DEPRECATED_FILES - "deprecated/*.h" - "deprecated/*.inl" - "deprecated/*.cpp" + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/EdgeNormalHandler.h + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/GouraudTriangleNormalHandler.h + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/GravityPointNormalHandler.h + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/PhongTriangleNormalHandler.h + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/VectorPointNormalHandler.h + + ${CONSTRAINTGEOMETRY_SRC}/operations/ConstraintProximityOperation.h ) -include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ignored") -#include_directories("${CMAKE_CURRENT_SOURCE_DIR}/deprecated") +set(SOURCE_FILES + ${CONSTRAINTGEOMETRY_SRC}/initConstraintGeometry.cpp -find_package(CollisionAlgorithm REQUIRED) -find_package(Sofa.Component.StateContainer REQUIRED) -find_package(Sofa.Component.Constraint.Lagrangian.Solver REQUIRED) -find_package(Sofa.GL REQUIRED) + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintInsertion.cpp + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintBilateral.cpp + ${CONSTRAINTGEOMETRY_SRC}/constraint/ConstraintUnilateral.cpp -set_source_files_properties(${IGNORED_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) + ${CONSTRAINTGEOMETRY_SRC}/directions/BindDirection.cpp + ${CONSTRAINTGEOMETRY_SRC}/directions/ContactDirection.cpp + ${CONSTRAINTGEOMETRY_SRC}/directions/FirstDirection.cpp + ${CONSTRAINTGEOMETRY_SRC}/directions/FixedFrameDirection.cpp + ${CONSTRAINTGEOMETRY_SRC}/directions/SecondDirection.cpp + + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/EdgeNormalHandler.cpp + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/GouraudTriangleNormalHandler.cpp + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/GravityPointNormalHandler.cpp + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/PhongTriangleNormalHandler.cpp + ${CONSTRAINTGEOMETRY_SRC}/normalHandler/VectorPointNormalHandler.cpp +) + +add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} ${README_FILES}) -add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} ${SCENES_FILES} ${IGNORED_FILES} ${DEPRECATED_FILES} ${README_FILES} ) -set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-DPLUGIN_DATA_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\"") target_link_libraries(${PROJECT_NAME} CollisionAlgorithm Sofa.Component.StateContainer @@ -48,8 +71,12 @@ target_link_libraries(${PROJECT_NAME} Sofa.GL ) -## Install rules for the library and headers; CMake package configurations files -set(${PROJECT_NAME}_INCLUDE_DIRS "include/${PROJECT_NAME}") -target_include_directories(${PROJECT_NAME} PUBLIC "$") -target_include_directories(${PROJECT_NAME} PUBLIC "$") -sofa_create_package_with_targets(PACKAGE_NAME ${PROJECT_NAME} PACKAGE_VERSION 0.1 TARGETS ${PROJECT_NAME} INCLUDE_INSTALL_DIR ${${PROJECT_NAME}_INCLUDE_DIRS}) +sofa_create_package_with_targets( + PACKAGE_NAME ${PROJECT_NAME} + PACKAGE_VERSION ${PROJECT_VERSION} + TARGETS ${PROJECT_NAME} AUTO_SET_TARGET_PROPERTIES + INCLUDE_SOURCE_DIR "src" + INCLUDE_INSTALL_DIR ${PROJECT_NAME} + EXAMPLE_INSTALL_DIR "scenes" + RELOCATABLE "plugins" +) diff --git a/ConstraintGeometryConfig.cmake.in b/ConstraintGeometryConfig.cmake.in index eb90d45..3d0b2b1 100644 --- a/ConstraintGeometryConfig.cmake.in +++ b/ConstraintGeometryConfig.cmake.in @@ -4,6 +4,9 @@ @PACKAGE_INIT@ find_package(CollisionAlgorithm QUIET REQUIRED) +find_package(Sofa.Component.StateContainer QUIET REQUIRED) +find_package(Sofa.Component.Constraint.Lagrangian.Solver QUIET REQUIRED) +find_package(Sofa.GL QUIET REQUIRED) if(NOT TARGET @PROJECT_NAME@) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") diff --git a/src/sofa/constraintGeometry/BaseConstraint.h b/src/ConstraintGeometry/BaseConstraint.h similarity index 90% rename from src/sofa/constraintGeometry/BaseConstraint.h rename to src/ConstraintGeometry/BaseConstraint.h index 3ad0aaf..3113547 100644 --- a/src/sofa/constraintGeometry/BaseConstraint.h +++ b/src/ConstraintGeometry/BaseConstraint.h @@ -1,15 +1,15 @@ #pragma once -#include -#include +#include +#include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class BaseConstraint : public sofa::core::behavior::BaseLagrangianConstraint{ @@ -35,16 +35,16 @@ class BaseConstraint : public sofa::core::behavior::BaseLagrangianConstraint{ /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseLagrangianConstraint */ -template +template class TBaseConstraint : public BaseConstraint { public: SOFA_CLASS(BaseConstraint, sofa::core::behavior::BaseLagrangianConstraint); - typedef collisionAlgorithm::BaseProximity BaseProximity; + typedef collisionalgorithm::BaseProximity BaseProximity; Data d_drawScale; Data d_draw; - Data > d_input; // THIS SHOULD BE REPLACED BY A PAIR OF CST PROXIMITY INPUT + Data > d_input; // THIS SHOULD BE REPLACED BY A PAIR OF CST PROXIMITY INPUT Data > d_container; TBaseConstraint() diff --git a/src/sofa/constraintGeometry/BaseNormalHandler.h b/src/ConstraintGeometry/BaseNormalHandler.h similarity index 64% rename from src/sofa/constraintGeometry/BaseNormalHandler.h rename to src/ConstraintGeometry/BaseNormalHandler.h index 294c3e1..6efd389 100644 --- a/src/sofa/constraintGeometry/BaseNormalHandler.h +++ b/src/ConstraintGeometry/BaseNormalHandler.h @@ -1,23 +1,23 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include -namespace sofa ::constraintGeometry { +namespace sofa ::constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseConstraint */ -class BaseNormalHandler : public collisionAlgorithm::CollisionComponent { +class BaseNormalHandler : public collisionalgorithm::CollisionComponent { public: - SOFA_ABSTRACT_CLASS(BaseNormalHandler, collisionAlgorithm::CollisionComponent); + SOFA_ABSTRACT_CLASS(BaseNormalHandler, collisionalgorithm::CollisionComponent); - typedef collisionAlgorithm::BaseGeometry BaseGeometry; - typedef collisionAlgorithm::BaseProximity BaseProximity; + typedef collisionalgorithm::BaseGeometry BaseGeometry; + typedef collisionalgorithm::BaseProximity BaseProximity; void init() { if (getGeometry()==NULL) { @@ -46,7 +46,7 @@ class BaseNormalHandler : public collisionAlgorithm::CollisionComponent { glDisable(GL_LIGHTING); if (color[3] == 0.0) return; - collisionAlgorithm::Operations::CreateCenterProximity::FUNC operation = collisionAlgorithm::Operations::CreateCenterProximity::Operation::get(getGeometry()->pointBegin()); + collisionalgorithm::Operations::CreateCenterProximity::FUNC operation = collisionalgorithm::Operations::CreateCenterProximity::Operation::get(getGeometry()->pointBegin()); for (auto it = getGeometry()->pointBegin();it != getGeometry()->end(); it++) { auto prox = operation(it->element()); diff --git a/src/sofa/constraintGeometry/ConstraintDirection.h b/src/ConstraintGeometry/ConstraintDirection.h similarity index 61% rename from src/sofa/constraintGeometry/ConstraintDirection.h rename to src/ConstraintGeometry/ConstraintDirection.h index 67ab7cb..adb087a 100644 --- a/src/sofa/constraintGeometry/ConstraintDirection.h +++ b/src/ConstraintGeometry/ConstraintDirection.h @@ -1,12 +1,12 @@ #pragma once -#include -#include +#include +#include #include -#include -#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseLagrangianConstraint @@ -15,7 +15,7 @@ class ConstraintDirection : public sofa::core::objectmodel::BaseObject { public: SOFA_CLASS(ConstraintDirection, sofa::core::objectmodel::BaseObject); - typedef collisionAlgorithm::BaseProximity BaseProximity; + typedef collisionalgorithm::BaseProximity BaseProximity; virtual ConstraintNormal createConstraintsNormal(const BaseProximity::SPtr & first, const BaseProximity::SPtr & second) const = 0; diff --git a/src/sofa/constraintGeometry/ConstraintNormal.h b/src/ConstraintGeometry/ConstraintNormal.h similarity index 93% rename from src/sofa/constraintGeometry/ConstraintNormal.h rename to src/ConstraintGeometry/ConstraintNormal.h index b36a89a..8e91ef5 100644 --- a/src/sofa/constraintGeometry/ConstraintNormal.h +++ b/src/ConstraintGeometry/ConstraintNormal.h @@ -2,9 +2,9 @@ #include #include -#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The ConstraintNormal class @@ -14,9 +14,9 @@ namespace sofa::constraintGeometry { class ConstraintNormal { public: - typedef collisionAlgorithm::BaseProximity BaseProximity; - typedef collisionAlgorithm::BaseBaseProximity FIRST; - typedef collisionAlgorithm::BaseBaseProximity SECOND; + typedef collisionalgorithm::BaseProximity BaseProximity; + typedef collisionalgorithm::BaseBaseProximity FIRST; + typedef collisionalgorithm::BaseBaseProximity SECOND; typedef std::function ViolationFunction; static double defaultViolationFunction(const typename FIRST::SPtr & first, const typename SECOND::SPtr & second, const type::Vec3 & normal) { diff --git a/src/sofa/constraintGeometry/ConstraintProximity.h b/src/ConstraintGeometry/ConstraintProximity.h similarity index 94% rename from src/sofa/constraintGeometry/ConstraintProximity.h rename to src/ConstraintGeometry/ConstraintProximity.h index ab5fb0f..56196fd 100644 --- a/src/sofa/constraintGeometry/ConstraintProximity.h +++ b/src/ConstraintGeometry/ConstraintProximity.h @@ -1,11 +1,11 @@ #pragma once -#include +#include #include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { -class ConstraintProximity : public virtual collisionAlgorithm::BaseBaseProximity { +class ConstraintProximity : public virtual collisionalgorithm::BaseBaseProximity { public: typedef std::shared_ptr SPtr; @@ -66,7 +66,7 @@ class TConstraintProximity : public ConstraintProximity { }; template -class BaseProximityNormal : public PROXIMITY, public constraintGeometry::ConstraintProximity { +class BaseProximityNormal : public PROXIMITY, public constraintgeometry::ConstraintProximity { public: typedef std::shared_ptr SPtr; @@ -100,7 +100,7 @@ class DefaultConstraintProximity : public ConstraintProximity { typedef std::shared_ptr SPtr; - DefaultConstraintProximity(const collisionAlgorithm::BaseProximity::SPtr & p) + DefaultConstraintProximity(const collisionalgorithm::BaseProximity::SPtr & p) : m_prox(p) {} sofa::type::Vec3 getPosition(core::VecCoordId v = core::vec_id::write_access::position) const override { @@ -123,12 +123,12 @@ class DefaultConstraintProximity : public ConstraintProximity { return type::Vec3(); } - static ConstraintProximity::SPtr create(const collisionAlgorithm::BaseProximity::SPtr & p) { + static ConstraintProximity::SPtr create(const collisionalgorithm::BaseProximity::SPtr & p) { return ConstraintProximity::SPtr(new DefaultConstraintProximity(p)); } protected: - collisionAlgorithm::BaseProximity::SPtr m_prox; + collisionalgorithm::BaseProximity::SPtr m_prox; }; diff --git a/src/sofa/constraintGeometry/ConstraintResponse.h b/src/ConstraintGeometry/ConstraintResponse.h similarity index 71% rename from src/sofa/constraintGeometry/ConstraintResponse.h rename to src/ConstraintGeometry/ConstraintResponse.h index ab1d9d7..40f8f4a 100644 --- a/src/sofa/constraintGeometry/ConstraintResponse.h +++ b/src/ConstraintGeometry/ConstraintResponse.h @@ -1,14 +1,14 @@ #pragma once -#include -#include +#include +#include #include -#include -#include +#include +#include namespace sofa { -namespace constraintGeometry { +namespace constraintgeometry { /*! * \brief The BaseConstraint abstract class is the implementation of sofa's abstract BaseLagrangianConstraint diff --git a/src/sofa/constraintGeometry/InternalConstraint.h b/src/ConstraintGeometry/InternalConstraint.h similarity index 94% rename from src/sofa/constraintGeometry/InternalConstraint.h rename to src/ConstraintGeometry/InternalConstraint.h index fa15e01..5df1ddb 100644 --- a/src/sofa/constraintGeometry/InternalConstraint.h +++ b/src/ConstraintGeometry/InternalConstraint.h @@ -1,12 +1,12 @@ #pragma once -#include +#include #include -#include +#include #include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class BaseInternalConstraint { public: @@ -30,9 +30,9 @@ class BaseInternalConstraint { virtual unsigned getPairSize() const = 0; - virtual collisionAlgorithm::BaseBaseProximity::SPtr getFirstPair(unsigned i) const = 0; + virtual collisionalgorithm::BaseBaseProximity::SPtr getFirstPair(unsigned i) const = 0; - virtual collisionAlgorithm::BaseBaseProximity::SPtr getSecondPair(unsigned i) const = 0; + virtual collisionalgorithm::BaseBaseProximity::SPtr getSecondPair(unsigned i) const = 0; virtual void draw(const core::visual::VisualParams* ,double ) const = 0; @@ -58,10 +58,10 @@ public : typedef std::shared_ptr> SPtr; -// typedef collisionAlgorithm::BaseProximity FIRST; -// typedef collisionAlgorithm::BaseProximity SECOND; +// typedef collisionalgorithm::BaseProximity FIRST; +// typedef collisionalgorithm::BaseProximity SECOND; - typedef collisionAlgorithm::BaseProximity BaseProximity; + typedef collisionalgorithm::BaseProximity BaseProximity; typedef std::function ResolutionCreator; typedef std::function ViolationFunc; typedef std::function NormalsFunc; @@ -207,9 +207,9 @@ public : unsigned getPairSize() const override { return m_pairs.size(); } - collisionAlgorithm::BaseBaseProximity::SPtr getFirstPair(unsigned i) const override { return m_pairs[i].first; } + collisionalgorithm::BaseBaseProximity::SPtr getFirstPair(unsigned i) const override { return m_pairs[i].first; } - collisionAlgorithm::BaseBaseProximity::SPtr getSecondPair(unsigned i) const override { return m_pairs[i].second; } + collisionalgorithm::BaseBaseProximity::SPtr getSecondPair(unsigned i) const override { return m_pairs[i].second; } const std::vector> & getPairs() const { return m_pairs; @@ -267,12 +267,12 @@ public : m_normalFunc = c.m_normalFunc; } - friend inline std::istream& operator >> ( std::istream& in, std::vector::SPtr> &) { + friend inline std::istream& operator >> ( std::istream& in, std::vector::SPtr> &) { return in; } - friend inline std::ostream& operator << (std::ostream& out, const std::vector::SPtr> & v) { + friend inline std::ostream& operator << (std::ostream& out, const std::vector::SPtr> & v) { for (unsigned i=0;i1) out << "["; v[i]->toString(out); diff --git a/src/ConstraintGeometry/config.h.in b/src/ConstraintGeometry/config.h.in new file mode 100644 index 0000000..d080fec --- /dev/null +++ b/src/ConstraintGeometry/config.h.in @@ -0,0 +1,19 @@ +#pragma once + +#include +#include + +#define CONSTRAINTGEOMETRY_VERSION @PROJECT_VERSION@ + +#ifdef SOFA_BUILD_CONSTRAINTGEOMETRY +# define SOFA_TARGET @PROJECT_NAME@ +# define SOFA_CONSTRAINTGEOMETRY_API SOFA_EXPORT_DYNAMIC_LIBRARY +#else +# define SOFA_CONSTRAINTGEOMETRY_API SOFA_IMPORT_DYNAMIC_LIBRARY +#endif + +namespace sofa::constraintgeometry +{ + constexpr const char* MODULE_NAME = "@PROJECT_NAME@"; + constexpr const char* MODULE_VERSION = "@PROJECT_VERSION@"; +} diff --git a/src/sofa/constraintGeometry/constraint/BilateralResolution.h b/src/ConstraintGeometry/constraint/BilateralResolution.h similarity index 96% rename from src/sofa/constraintGeometry/constraint/BilateralResolution.h rename to src/ConstraintGeometry/constraint/BilateralResolution.h index eee8254..d9711cc 100644 --- a/src/sofa/constraintGeometry/constraint/BilateralResolution.h +++ b/src/ConstraintGeometry/constraint/BilateralResolution.h @@ -1,12 +1,12 @@ #pragma once -#include -#include +#include +#include #include namespace sofa { -namespace constraintGeometry { +namespace constraintgeometry { class BilateralConstraintResolution1 : public sofa::core::behavior::ConstraintResolution { public: diff --git a/src/sofa/constraintGeometry/constraint/ConstraintBilateral.cpp b/src/ConstraintGeometry/constraint/ConstraintBilateral.cpp similarity index 69% rename from src/sofa/constraintGeometry/constraint/ConstraintBilateral.cpp rename to src/ConstraintGeometry/constraint/ConstraintBilateral.cpp index 25f77aa..d2538c9 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintBilateral.cpp +++ b/src/ConstraintGeometry/constraint/ConstraintBilateral.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerConstraintBilateral(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Implements bilateral constraints between an origin and a destination geometry") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/constraint/ConstraintBilateral.h b/src/ConstraintGeometry/constraint/ConstraintBilateral.h similarity index 90% rename from src/sofa/constraintGeometry/constraint/ConstraintBilateral.h rename to src/ConstraintGeometry/constraint/ConstraintBilateral.h index 3133bd9..09d91ab 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintBilateral.h +++ b/src/ConstraintGeometry/constraint/ConstraintBilateral.h @@ -1,12 +1,12 @@ #pragma once -#include -#include -#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { -class ConstraintBilateral : public TBaseConstraint { +class ConstraintBilateral : public TBaseConstraint { public: SOFA_CLASS(ConstraintBilateral , SOFA_TEMPLATE2(TBaseConstraint,BaseProximity,BaseProximity)); diff --git a/src/sofa/constraintGeometry/constraint/ConstraintInsertion.cpp b/src/ConstraintGeometry/constraint/ConstraintInsertion.cpp similarity index 69% rename from src/sofa/constraintGeometry/constraint/ConstraintInsertion.cpp rename to src/ConstraintGeometry/constraint/ConstraintInsertion.cpp index ada4dcd..80874e7 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintInsertion.cpp +++ b/src/ConstraintGeometry/constraint/ConstraintInsertion.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerConstraintInsertion(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Implements frictional and bilateral constraints to model needle insertion") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/constraint/ConstraintInsertion.h b/src/ConstraintGeometry/constraint/ConstraintInsertion.h similarity index 88% rename from src/sofa/constraintGeometry/constraint/ConstraintInsertion.h rename to src/ConstraintGeometry/constraint/ConstraintInsertion.h index e53ea00..9259fd9 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintInsertion.h +++ b/src/ConstraintGeometry/constraint/ConstraintInsertion.h @@ -1,12 +1,12 @@ #pragma once -#include -#include -#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { -class ConstraintInsertion : public TBaseConstraint { +class ConstraintInsertion : public TBaseConstraint { public: SOFA_CLASS(ConstraintInsertion , SOFA_TEMPLATE2(TBaseConstraint,BaseProximity,BaseProximity)); diff --git a/src/sofa/constraintGeometry/constraint/ConstraintUnilateral.cpp b/src/ConstraintGeometry/constraint/ConstraintUnilateral.cpp similarity index 69% rename from src/sofa/constraintGeometry/constraint/ConstraintUnilateral.cpp rename to src/ConstraintGeometry/constraint/ConstraintUnilateral.cpp index 7e4e668..90270d4 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintUnilateral.cpp +++ b/src/ConstraintGeometry/constraint/ConstraintUnilateral.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerConstraintUnilateral(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Implements unilateral constraints between an origin and a destination geometry") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/constraint/ConstraintUnilateral.h b/src/ConstraintGeometry/constraint/ConstraintUnilateral.h similarity index 85% rename from src/sofa/constraintGeometry/constraint/ConstraintUnilateral.h rename to src/ConstraintGeometry/constraint/ConstraintUnilateral.h index 83f9094..33a769a 100644 --- a/src/sofa/constraintGeometry/constraint/ConstraintUnilateral.h +++ b/src/ConstraintGeometry/constraint/ConstraintUnilateral.h @@ -1,21 +1,21 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace sofa { -namespace constraintGeometry { +namespace constraintgeometry { /*! * \brief The ConstraintUnilateral class * Applies specified algorithm on 'from' and 'dest' geometry */ -class ConstraintUnilateral : public TBaseConstraint { +class ConstraintUnilateral : public TBaseConstraint { public: - SOFA_CLASS(ConstraintUnilateral , SOFA_TEMPLATE2(TBaseConstraint,collisionAlgorithm::BaseProximity,collisionAlgorithm::BaseProximity) ); + SOFA_CLASS(ConstraintUnilateral , SOFA_TEMPLATE2(TBaseConstraint,collisionalgorithm::BaseProximity,collisionalgorithm::BaseProximity) ); Data d_friction; Data d_maxforce0; diff --git a/src/sofa/constraintGeometry/constraint/InsertionResolution.h b/src/ConstraintGeometry/constraint/InsertionResolution.h similarity index 94% rename from src/sofa/constraintGeometry/constraint/InsertionResolution.h rename to src/ConstraintGeometry/constraint/InsertionResolution.h index ea8425d..db55d24 100644 --- a/src/sofa/constraintGeometry/constraint/InsertionResolution.h +++ b/src/ConstraintGeometry/constraint/InsertionResolution.h @@ -1,12 +1,12 @@ #pragma once -#include -#include +#include +#include #include namespace sofa { -namespace constraintGeometry { +namespace constraintgeometry { class InsertionConstraintResolution : public sofa::core::behavior::ConstraintResolution { public: diff --git a/src/sofa/constraintGeometry/constraint/UnilateralResolution.h b/src/ConstraintGeometry/constraint/UnilateralResolution.h similarity index 95% rename from src/sofa/constraintGeometry/constraint/UnilateralResolution.h rename to src/ConstraintGeometry/constraint/UnilateralResolution.h index 7051464..f6e2334 100644 --- a/src/sofa/constraintGeometry/constraint/UnilateralResolution.h +++ b/src/ConstraintGeometry/constraint/UnilateralResolution.h @@ -1,14 +1,14 @@ #pragma once -#include -#include +#include +#include #include namespace sofa { -namespace constraintGeometry { +namespace constraintgeometry { /*! * \brief The UnilateralConstraintResolution class solves unilateral constraints diff --git a/src/sofa/constraintGeometry/directions/BindDirection.cpp b/src/ConstraintGeometry/directions/BindDirection.cpp similarity index 69% rename from src/sofa/constraintGeometry/directions/BindDirection.cpp rename to src/ConstraintGeometry/directions/BindDirection.cpp index 5ec347f..ac5a772 100644 --- a/src/sofa/constraintGeometry/directions/BindDirection.cpp +++ b/src/ConstraintGeometry/directions/BindDirection.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerBindDirection(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Computes the constraint direction given proximities from the 2nd to the 1st point") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/directions/BindDirection.h b/src/ConstraintGeometry/directions/BindDirection.h similarity index 85% rename from src/sofa/constraintGeometry/directions/BindDirection.h rename to src/ConstraintGeometry/directions/BindDirection.h index 911d017..31d6f51 100644 --- a/src/sofa/constraintGeometry/directions/BindDirection.h +++ b/src/ConstraintGeometry/directions/BindDirection.h @@ -1,8 +1,8 @@ #pragma once -#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The BindDirection class diff --git a/src/sofa/constraintGeometry/directions/ContactDirection.cpp b/src/ConstraintGeometry/directions/ContactDirection.cpp similarity index 69% rename from src/sofa/constraintGeometry/directions/ContactDirection.cpp rename to src/ConstraintGeometry/directions/ContactDirection.cpp index 4e5713d..8600018 100644 --- a/src/sofa/constraintGeometry/directions/ContactDirection.cpp +++ b/src/ConstraintGeometry/directions/ContactDirection.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerContactDirection(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Computes the constraint direction given proximities and a normal handler") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/directions/ContactDirection.h b/src/ConstraintGeometry/directions/ContactDirection.h similarity index 90% rename from src/sofa/constraintGeometry/directions/ContactDirection.h rename to src/ConstraintGeometry/directions/ContactDirection.h index 6d7e6f5..fa4d6b4 100644 --- a/src/sofa/constraintGeometry/directions/ContactDirection.h +++ b/src/ConstraintGeometry/directions/ContactDirection.h @@ -1,9 +1,9 @@ #pragma once -#include -#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The ContactDirection class diff --git a/src/sofa/constraintGeometry/directions/FirstDirection.cpp b/src/ConstraintGeometry/directions/FirstDirection.cpp similarity index 70% rename from src/sofa/constraintGeometry/directions/FirstDirection.cpp rename to src/ConstraintGeometry/directions/FirstDirection.cpp index 8b3625d..dea612e 100644 --- a/src/sofa/constraintGeometry/directions/FirstDirection.cpp +++ b/src/ConstraintGeometry/directions/FirstDirection.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerFirstDirection(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Computes the constraint direction from the 1st proximity in pair and a normal handler") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/directions/FirstDirection.h b/src/ConstraintGeometry/directions/FirstDirection.h similarity index 89% rename from src/sofa/constraintGeometry/directions/FirstDirection.h rename to src/ConstraintGeometry/directions/FirstDirection.h index 1f89ef0..1bf7c37 100644 --- a/src/sofa/constraintGeometry/directions/FirstDirection.h +++ b/src/ConstraintGeometry/directions/FirstDirection.h @@ -1,9 +1,9 @@ #pragma once -#include -#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The FirstDirection class diff --git a/src/sofa/constraintGeometry/directions/FixedFrameDirection.cpp b/src/ConstraintGeometry/directions/FixedFrameDirection.cpp similarity index 67% rename from src/sofa/constraintGeometry/directions/FixedFrameDirection.cpp rename to src/ConstraintGeometry/directions/FixedFrameDirection.cpp index 73d5102..700cd40 100644 --- a/src/sofa/constraintGeometry/directions/FixedFrameDirection.cpp +++ b/src/ConstraintGeometry/directions/FixedFrameDirection.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerFixedFrameDirection(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Computes a fixed direction to implement constraints") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/directions/FixedFrameDirection.h b/src/ConstraintGeometry/directions/FixedFrameDirection.h similarity index 89% rename from src/sofa/constraintGeometry/directions/FixedFrameDirection.h rename to src/ConstraintGeometry/directions/FixedFrameDirection.h index f582013..811fbc9 100644 --- a/src/sofa/constraintGeometry/directions/FixedFrameDirection.h +++ b/src/ConstraintGeometry/directions/FixedFrameDirection.h @@ -1,9 +1,9 @@ #pragma once -#include +#include #include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The BindDirection class diff --git a/src/sofa/constraintGeometry/directions/SecondDirection.cpp b/src/ConstraintGeometry/directions/SecondDirection.cpp similarity index 70% rename from src/sofa/constraintGeometry/directions/SecondDirection.cpp rename to src/ConstraintGeometry/directions/SecondDirection.cpp index 56b4142..ecd0cdc 100644 --- a/src/sofa/constraintGeometry/directions/SecondDirection.cpp +++ b/src/ConstraintGeometry/directions/SecondDirection.cpp @@ -1,7 +1,7 @@ -#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerSecondDirection(sofa::core::ObjectFactory* factory) { @@ -9,4 +9,4 @@ namespace sofa::constraintGeometry sofa::core::ObjectRegistrationData("Computes the constraint direction from the 2nd proximity in pair and a normal handler") .add()); } -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/directions/SecondDirection.h b/src/ConstraintGeometry/directions/SecondDirection.h similarity index 89% rename from src/sofa/constraintGeometry/directions/SecondDirection.h rename to src/ConstraintGeometry/directions/SecondDirection.h index 22de259..dd32ef0 100644 --- a/src/sofa/constraintGeometry/directions/SecondDirection.h +++ b/src/ConstraintGeometry/directions/SecondDirection.h @@ -1,9 +1,9 @@ #pragma once -#include -#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { /*! * \brief The SecondDirection class diff --git a/src/sofa/constraintGeometry/initPlugin.cpp b/src/ConstraintGeometry/initConstraintGeometry.cpp similarity index 76% rename from src/sofa/constraintGeometry/initPlugin.cpp rename to src/ConstraintGeometry/initConstraintGeometry.cpp index f02c75f..78750be 100644 --- a/src/sofa/constraintGeometry/initPlugin.cpp +++ b/src/ConstraintGeometry/initConstraintGeometry.cpp @@ -1,3 +1,5 @@ +#include + #include #include #include @@ -8,7 +10,7 @@ #define Q(x) #x #define QUOTE(x) Q(x) -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { // Constraints @@ -29,18 +31,15 @@ extern void registerGouraudTriangleNormalHandler(sofa::core::ObjectFactory* fact extern void registerGravityPointNormalHandler(sofa::core::ObjectFactory* factory); extern void registerPhongTriangleNormalHandler(sofa::core::ObjectFactory* factory); extern void registerVectorPointNormalHandler(sofa::core::ObjectFactory* factory); -} // namespace sofa::constraintGeometry -namespace sofa::component -{ extern "C" { - void initExternalModule(); - const char* getModuleName(); - const char* getModuleVersion(); - const char* getModuleLicense(); - const char* getModuleDescription(); - void registerObjects(sofa::core::ObjectFactory* factory); + SOFA_CONSTRAINTGEOMETRY_API void initExternalModule(); + SOFA_CONSTRAINTGEOMETRY_API const char* getModuleName(); + SOFA_CONSTRAINTGEOMETRY_API const char* getModuleVersion(); + SOFA_CONSTRAINTGEOMETRY_API const char* getModuleLicense(); + SOFA_CONSTRAINTGEOMETRY_API const char* getModuleDescription(); + SOFA_CONSTRAINTGEOMETRY_API void registerObjects(sofa::core::ObjectFactory* factory); } void initConstraintGeometry() @@ -48,6 +47,9 @@ void initConstraintGeometry() static bool first = true; if (first) { + // make sure that this plugin is registered into the PluginManager + sofa::helper::system::PluginManager::getInstance().registerPlugin(MODULE_NAME); + first = false; #ifdef PLUGIN_DATA_DIR sofa::helper::system::DataRepository.addLastPath(std::string(QUOTE(PLUGIN_DATA_DIR))); @@ -62,7 +64,7 @@ void initExternalModule() initConstraintGeometry(); } -const char* getModuleName() { return "ConstraintGeometry"; } +const char* getModuleName() { return MODULE_NAME; } const char* getModuleVersion() { @@ -75,11 +77,10 @@ const char* getModuleVersion() const char* getModuleLicense() { return "LGPL"; } -const char* getModuleDescription() { return "Plugin to hendle constraints"; } +const char* getModuleDescription() { return "Plugin to handle constraints"; } void registerObjects(sofa::core::ObjectFactory* factory) { - using namespace sofa::constraintGeometry; // Constraints registerConstraintUnilateral(factory); registerConstraintBilateral(factory); @@ -100,4 +101,4 @@ void registerObjects(sofa::core::ObjectFactory* factory) registerVectorPointNormalHandler(factory); } -} // namespace sofa::component +} // namespace sofa::constraintgeometry diff --git a/src/ConstraintGeometry/initConstraintGeometry.h b/src/ConstraintGeometry/initConstraintGeometry.h new file mode 100644 index 0000000..8989156 --- /dev/null +++ b/src/ConstraintGeometry/initConstraintGeometry.h @@ -0,0 +1,7 @@ +#pragma once +#include + +namespace sofa::constraintgeometry +{ +void SOFA_CONSTRAINTGEOMETRY_API initConstraintGeometry(); +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.cpp b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.cpp similarity index 62% rename from src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.cpp rename to src/ConstraintGeometry/normalHandler/EdgeNormalHandler.cpp index 704d89d..f74c361 100644 --- a/src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.cpp +++ b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.cpp @@ -1,8 +1,8 @@ -#include -#include +#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerEdgeNormalHandler(sofa::core::ObjectFactory* factory) @@ -14,7 +14,7 @@ void registerEdgeNormalHandler(sofa::core::ObjectFactory* factory) } int edge_reg = ConstraintProximityOperation::register_func( - &EdgeNormalHandler::buildCstProximity); + collisionalgorithm::EdgeProximity>( + &EdgeNormalHandler::buildCstProximity); -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.h b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h similarity index 74% rename from src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.h rename to src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h index 8054566..455d9a1 100644 --- a/src/sofa/constraintGeometry/normalHandler/EdgeNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/EdgeNormalHandler.h @@ -1,11 +1,11 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class EdgeNormalHandler : public BaseNormalHandler { public: @@ -35,7 +35,7 @@ class EdgeNormalHandler : public BaseNormalHandler { }; template<> -type::Vec3 EdgeNormalHandler::getNormal(const collisionAlgorithm::EdgeProximity::SPtr & prox) { +type::Vec3 EdgeNormalHandler::getNormal(const collisionalgorithm::EdgeProximity::SPtr & prox) { return (prox->element()->getP1()->getPosition() - prox->element()->getP0()->getPosition()).normalized(); } diff --git a/src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp similarity index 57% rename from src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp rename to src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp index cc9d292..f2997f2 100644 --- a/src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp +++ b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.cpp @@ -1,8 +1,8 @@ -#include -#include +#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerGouraudTriangleNormalHandler(sofa::core::ObjectFactory* factory) @@ -13,13 +13,13 @@ void registerGouraudTriangleNormalHandler(sofa::core::ObjectFactory* factory) int gouraud_reg_tri = ConstraintProximityOperation::register_func( - &GouraudTriangleNormalHandler::buildCstProximity); + collisionalgorithm::TriangleProximity>( + &GouraudTriangleNormalHandler::buildCstProximity); int gouraud_reg_mech = ConstraintProximityOperation::register_func< GouraudTriangleNormalHandler, - collisionAlgorithm::MechanicalProximity>( + collisionalgorithm::MechanicalProximity>( &GouraudTriangleNormalHandler::buildCstProximity< - collisionAlgorithm::MechanicalProximity>); + collisionalgorithm::MechanicalProximity>); -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.h b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h similarity index 73% rename from src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.h rename to src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h index ae982e9..00ed9ca 100644 --- a/src/sofa/constraintGeometry/normalHandler/GouraudTriangleNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/GouraudTriangleNormalHandler.h @@ -1,12 +1,12 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class GouraudTriangleNormalHandler : public BaseNormalHandler { public: @@ -36,14 +36,14 @@ class GouraudTriangleNormalHandler : public BaseNormalHandler { }; template<> -inline type::Vec3 GouraudTriangleNormalHandler::getNormal(const collisionAlgorithm::TriangleProximity::SPtr & prox) { +inline type::Vec3 GouraudTriangleNormalHandler::getNormal(const collisionalgorithm::TriangleProximity::SPtr & prox) { return prox->element()->getTriangleInfo().N; } template<> -inline type::Vec3 GouraudTriangleNormalHandler::getNormal>(const collisionAlgorithm::MechanicalProximity::SPtr & prox) { - const collisionAlgorithm::PointElement::SPtr & element = prox->getGeometry()->pointElements()[prox->getPId()]; +inline type::Vec3 GouraudTriangleNormalHandler::getNormal>(const collisionalgorithm::MechanicalProximity::SPtr & prox) { + const collisionalgorithm::PointElement::SPtr & element = prox->getGeometry()->pointElements()[prox->getPId()]; type::Vec3 N0_point; for (auto it = element->triangleAround().cbegin();it!=element->triangleAround().cend();it++) { diff --git a/src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.cpp b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.cpp similarity index 57% rename from src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.cpp rename to src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.cpp index 1864e1d..8e72b04 100644 --- a/src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.cpp +++ b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.cpp @@ -1,8 +1,8 @@ -#include -#include +#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerGravityPointNormalHandler(sofa::core::ObjectFactory* factory) @@ -15,7 +15,7 @@ void registerGravityPointNormalHandler(sofa::core::ObjectFactory* factory) int gravityPoint_reg = ConstraintProximityOperation::register_func( - &GravityPointNormalHandler::buildCstProximity); + collisionalgorithm::PointProximity>( + &GravityPointNormalHandler::buildCstProximity); -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.h b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h similarity index 79% rename from src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.h rename to src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h index 10cc921..cf14bf6 100644 --- a/src/sofa/constraintGeometry/normalHandler/GravityPointNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/GravityPointNormalHandler.h @@ -1,18 +1,18 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class GravityPointNormalHandler : public BaseNormalHandler { public: SOFA_CLASS(GravityPointNormalHandler, BaseNormalHandler); - core::objectmodel::SingleLink l_geometry; + core::objectmodel::SingleLink l_geometry; GravityPointNormalHandler() : l_geometry(initLink("geometry","Link to TriangleGeometry")){ @@ -48,7 +48,7 @@ private : }; template<> -inline type::Vec3 GravityPointNormalHandler::getNormal(const collisionAlgorithm::PointProximity::SPtr & prox) { +inline type::Vec3 GravityPointNormalHandler::getNormal(const collisionalgorithm::PointProximity::SPtr & prox) { type::Vec3 N = (prox->getPosition() - m_gcenter).normalized(); return N; } diff --git a/src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp similarity index 56% rename from src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp rename to src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp index d7ea880..01d3625 100644 --- a/src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp +++ b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.cpp @@ -1,8 +1,8 @@ -#include -#include +#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerPhongTriangleNormalHandler(sofa::core::ObjectFactory* factory) @@ -13,13 +13,13 @@ void registerPhongTriangleNormalHandler(sofa::core::ObjectFactory* factory) int phong_reg_tri = ConstraintProximityOperation::register_func( - &PhongTriangleNormalHandler::buildCstProximity); + collisionalgorithm::TriangleProximity>( + &PhongTriangleNormalHandler::buildCstProximity); int phong_reg_mech = ConstraintProximityOperation::register_func< PhongTriangleNormalHandler, - collisionAlgorithm::MechanicalProximity>( + collisionalgorithm::MechanicalProximity>( &PhongTriangleNormalHandler::buildCstProximity< - collisionAlgorithm::MechanicalProximity>); + collisionalgorithm::MechanicalProximity>); -} // namespace sofa::constraintGeometry +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.h b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h similarity index 74% rename from src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.h rename to src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h index 00791e9..23f92a1 100644 --- a/src/sofa/constraintGeometry/normalHandler/PhongTriangleNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/PhongTriangleNormalHandler.h @@ -1,11 +1,11 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class PhongTriangleNormalHandler : public BaseNormalHandler { public: @@ -35,12 +35,12 @@ class PhongTriangleNormalHandler : public BaseNormalHandler { }; template<> -inline type::Vec3 PhongTriangleNormalHandler::getNormal(const collisionAlgorithm::TriangleProximity::SPtr & prox) { +inline type::Vec3 PhongTriangleNormalHandler::getNormal(const collisionalgorithm::TriangleProximity::SPtr & prox) { auto element = prox->element(); - const collisionAlgorithm::BaseProximity::SPtr & p0 = element->pointElements()[0]->getP0(); - const collisionAlgorithm::BaseProximity::SPtr & p1 = element->pointElements()[1]->getP0(); - const collisionAlgorithm::BaseProximity::SPtr & p2 = element->pointElements()[2]->getP0(); + const collisionalgorithm::BaseProximity::SPtr & p0 = element->pointElements()[0]->getP0(); + const collisionalgorithm::BaseProximity::SPtr & p1 = element->pointElements()[1]->getP0(); + const collisionalgorithm::BaseProximity::SPtr & p2 = element->pointElements()[2]->getP0(); ConstraintProximityOperation::FUNC operation = ConstraintProximityOperation::get(getTypeInfo(),p0->getTypeInfo()); @@ -58,8 +58,8 @@ inline type::Vec3 PhongTriangleNormalHandler::getNormal -inline type::Vec3 PhongTriangleNormalHandler::getNormal >(const collisionAlgorithm::MechanicalProximity::SPtr & prox) { - const collisionAlgorithm::PointElement::SPtr & element = prox->getGeometry()->pointElements()[prox->getPId()]; +inline type::Vec3 PhongTriangleNormalHandler::getNormal >(const collisionalgorithm::MechanicalProximity::SPtr & prox) { + const collisionalgorithm::PointElement::SPtr & element = prox->getGeometry()->pointElements()[prox->getPId()]; type::Vec3 N0_point; for (auto it = element->triangleAround().cbegin();it!=element->triangleAround().cend();it++) { diff --git a/src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.cpp b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.cpp similarity index 54% rename from src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.cpp rename to src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.cpp index 954ccb4..35b48a4 100644 --- a/src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.cpp +++ b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.cpp @@ -1,8 +1,8 @@ -#include -#include +#include +#include #include -namespace sofa::constraintGeometry +namespace sofa::constraintgeometry { void registerVectorPointNormalHandler(sofa::core::ObjectFactory* factory) { @@ -13,7 +13,7 @@ void registerVectorPointNormalHandler(sofa::core::ObjectFactory* factory) int vectorPoint_reg = ConstraintProximityOperation::register_func< VectorPointNormalHandler, - collisionAlgorithm::MechanicalProximity >( + collisionalgorithm::MechanicalProximity >( &VectorPointNormalHandler::buildCstProximity< - collisionAlgorithm::MechanicalProximity >); -} // namespace sofa::constraintGeometry + collisionalgorithm::MechanicalProximity >); +} // namespace sofa::constraintgeometry diff --git a/src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.h b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h similarity index 75% rename from src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.h rename to src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h index bc96947..2813a35 100644 --- a/src/sofa/constraintGeometry/normalHandler/VectorPointNormalHandler.h +++ b/src/ConstraintGeometry/normalHandler/VectorPointNormalHandler.h @@ -1,11 +1,11 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include -namespace sofa::constraintGeometry { +namespace sofa::constraintgeometry { class VectorPointNormalHandler : public BaseNormalHandler { public: @@ -13,7 +13,7 @@ class VectorPointNormalHandler : public BaseNormalHandler { SOFA_CLASS(VectorPointNormalHandler, BaseNormalHandler); Data > d_normals; - core::objectmodel::SingleLink l_geometry; + core::objectmodel::SingleLink l_geometry; VectorPointNormalHandler() : d_normals(initData(&d_normals, "normals", "Vector of normals")) @@ -37,7 +37,7 @@ class VectorPointNormalHandler : public BaseNormalHandler { }; template<> -inline type::Vec3 VectorPointNormalHandler::getNormal>(const collisionAlgorithm::MechanicalProximity::SPtr & prox) { +inline type::Vec3 VectorPointNormalHandler::getNormal>(const collisionalgorithm::MechanicalProximity::SPtr & prox) { type::Vec3 N; if (prox->getPId()>=d_normals.getValue().size()) { diff --git a/src/sofa/constraintGeometry/operations/ConstraintProximityOperation.h b/src/ConstraintGeometry/operations/ConstraintProximityOperation.h similarity index 74% rename from src/sofa/constraintGeometry/operations/ConstraintProximityOperation.h rename to src/ConstraintGeometry/operations/ConstraintProximityOperation.h index b8a45c3..706ca8c 100644 --- a/src/sofa/constraintGeometry/operations/ConstraintProximityOperation.h +++ b/src/ConstraintGeometry/operations/ConstraintProximityOperation.h @@ -1,20 +1,20 @@ #pragma once -#include -#include +#include +#include -namespace sofa::constraintGeometry { +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 { public: - ConstraintProximity::SPtr defaultFunc(BaseNormalHandler *, collisionAlgorithm::BaseProximity::SPtr ) const override { + ConstraintProximity::SPtr defaultFunc(BaseNormalHandler *, collisionalgorithm::BaseProximity::SPtr ) const override { return NULL; }