Skip to content

Commit 4e4eebc

Browse files
committed
Merge changes due to reworking cmake workflow
2 parents 50f392f + 834531e commit 4e4eebc

File tree

74 files changed

+457
-374
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+457
-374
lines changed

CMakeLists.txt

Lines changed: 99 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,120 @@
11
cmake_minimum_required(VERSION 3.12)
22
project(CollisionAlgorithm VERSION 0.1 LANGUAGES CXX)
33

4-
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
4+
find_package(Sofa.Simulation.Core REQUIRED)
5+
find_package(Sofa.Component.StateContainer REQUIRED)
6+
find_package(Sofa.Component.Constraint.Lagrangian.Solver REQUIRED)
7+
find_package(Sofa.GL REQUIRED)
58

6-
file(GLOB_RECURSE HEADER_FILES
7-
"src/*.h"
8-
"src/*.inl"
9-
)
9+
set(COLLISIONALGORITHM_SRC "src/${PROJECT_NAME}")
1010

11-
file(GLOB_RECURSE SOURCE_FILES
12-
"src/*.cpp"
13-
)
11+
set(HEADER_FILES
12+
${COLLISIONALGORITHM_SRC}/config.h.in
13+
${COLLISIONALGORITHM_SRC}/initCollisionAlgorithm.h
1414

15-
file(GLOB_RECURSE SCENES_FILES
16-
"scenes/*.scn"
17-
"*.xml"
18-
)
15+
${COLLISIONALGORITHM_SRC}/BaseAABBBroadPhase.h
16+
${COLLISIONALGORITHM_SRC}/BaseAlgorithm.h
17+
${COLLISIONALGORITHM_SRC}/BaseElement.h
18+
${COLLISIONALGORITHM_SRC}/BaseGeometry.h
19+
${COLLISIONALGORITHM_SRC}/BaseOperation.h
20+
${COLLISIONALGORITHM_SRC}/BaseProximity.h
21+
${COLLISIONALGORITHM_SRC}/CollisionPipeline.h
22+
${COLLISIONALGORITHM_SRC}/DataDetectionOutput.h
23+
${COLLISIONALGORITHM_SRC}/ElementIterator.h
24+
${COLLISIONALGORITHM_SRC}/InternalData.h
1925

20-
file(GLOB_RECURSE IGNORED_FILES
21-
"ignored/*.h"
22-
"ignored/*.inl"
23-
"ignored/*.cpp"
24-
)
26+
${COLLISIONALGORITHM_SRC}/algorithm/Find2DClosestProximityAlgorithm.h
27+
${COLLISIONALGORITHM_SRC}/algorithm/FindClosestProximityAlgorithm.h
28+
${COLLISIONALGORITHM_SRC}/algorithm/InsertionAlgorithm.h
29+
30+
${COLLISIONALGORITHM_SRC}/broadphase/AABBBroadPhase.h
31+
${COLLISIONALGORITHM_SRC}/broadphase/FullAABBBroadPhase.h
32+
33+
${COLLISIONALGORITHM_SRC}/elements/EdgeElement.h
34+
${COLLISIONALGORITHM_SRC}/elements/PointElement.h
35+
${COLLISIONALGORITHM_SRC}/elements/TetrahedronElement.h
36+
${COLLISIONALGORITHM_SRC}/elements/TriangleElement.h
37+
38+
${COLLISIONALGORITHM_SRC}/filters/DistanceFilter.h
39+
40+
${COLLISIONALGORITHM_SRC}/geometry/EdgeGeometry.h
41+
${COLLISIONALGORITHM_SRC}/geometry/PointGeometry.h
42+
${COLLISIONALGORITHM_SRC}/geometry/SubsetGeometry.h
43+
${COLLISIONALGORITHM_SRC}/geometry/TetrahedronGeometry.h
44+
${COLLISIONALGORITHM_SRC}/geometry/TriangleGeometry.h
45+
46+
${COLLISIONALGORITHM_SRC}/operations/CreateCenterProximity.h
47+
${COLLISIONALGORITHM_SRC}/operations/FindClosestProximity.h
48+
${COLLISIONALGORITHM_SRC}/operations/Project.h
49+
${COLLISIONALGORITHM_SRC}/operations/ContainsPoint.h
50+
${COLLISIONALGORITHM_SRC}/operations/NeedleOperations.h
2551

26-
file(GLOB_RECURSE DEPRECATED_FILES
27-
"deprecated/*.h"
28-
"deprecated/*.inl"
29-
"deprecated/*.cpp"
52+
${COLLISIONALGORITHM_SRC}/proximity/EdgeProximity.h
53+
${COLLISIONALGORITHM_SRC}/proximity/FixedProximity.h
54+
${COLLISIONALGORITHM_SRC}/proximity/MechanicalProximity.h
55+
${COLLISIONALGORITHM_SRC}/proximity/MultiProximity.h
56+
${COLLISIONALGORITHM_SRC}/proximity/PointProximity.h
57+
${COLLISIONALGORITHM_SRC}/proximity/TetrahedronProximity.h
58+
${COLLISIONALGORITHM_SRC}/proximity/TriangleProximity.h
59+
60+
${COLLISIONALGORITHM_SRC}/toolbox/EdgeToolBox.h
61+
${COLLISIONALGORITHM_SRC}/toolbox/PointToolBox.h
62+
${COLLISIONALGORITHM_SRC}/toolbox/TetrahedronToolBox.h
63+
${COLLISIONALGORITHM_SRC}/toolbox/TriangleToolBox.h
3064
)
3165

32-
find_package(Sofa.Simulation.Core REQUIRED)
33-
find_package(Sofa.Component.StateContainer REQUIRED)
34-
find_package(Sofa.Component.Constraint.Lagrangian.Solver REQUIRED)
35-
find_package(Sofa.GL REQUIRED)
66+
set(SOURCE_FILES
67+
${COLLISIONALGORITHM_SRC}/initCollisionAlgorithm.cpp
68+
69+
${COLLISIONALGORITHM_SRC}/CollisionPipeline.cpp
70+
71+
${COLLISIONALGORITHM_SRC}/algorithm/Find2DClosestProximityAlgorithm.cpp
72+
${COLLISIONALGORITHM_SRC}/algorithm/FindClosestProximityAlgorithm.cpp
73+
${COLLISIONALGORITHM_SRC}/algorithm/InsertionAlgorithm.cpp
3674

75+
${COLLISIONALGORITHM_SRC}/broadphase/AABBBroadPhase.cpp
76+
${COLLISIONALGORITHM_SRC}/broadphase/FullAABBBroadPhase.cpp
3777

38-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ignored")
39-
#include_directories("${CMAKE_CURRENT_SOURCE_DIR}/deprecated")
78+
${COLLISIONALGORITHM_SRC}/elements/EdgeElement.cpp
79+
${COLLISIONALGORITHM_SRC}/elements/PointElement.cpp
80+
${COLLISIONALGORITHM_SRC}/elements/TetrahedronElement.cpp
81+
${COLLISIONALGORITHM_SRC}/elements/TriangleElement.cpp
82+
83+
${COLLISIONALGORITHM_SRC}/filters/DistanceFilter.cpp
84+
85+
${COLLISIONALGORITHM_SRC}/geometry/EdgeGeometry.cpp
86+
${COLLISIONALGORITHM_SRC}/geometry/PointGeometry.cpp
87+
${COLLISIONALGORITHM_SRC}/geometry/SubsetGeometry.cpp
88+
${COLLISIONALGORITHM_SRC}/geometry/TetrahedronGeometry.cpp
89+
${COLLISIONALGORITHM_SRC}/geometry/TriangleGeometry.cpp
90+
91+
${COLLISIONALGORITHM_SRC}/operations/CreateCenterProximity.cpp
92+
${COLLISIONALGORITHM_SRC}/operations/FindClosestProximity.cpp
93+
${COLLISIONALGORITHM_SRC}/operations/Project.cpp
94+
${COLLISIONALGORITHM_SRC}/operations/ContainsPoint.cpp
95+
${COLLISIONALGORITHM_SRC}/operations/NeedleOperations.cpp
96+
97+
${COLLISIONALGORITHM_SRC}/toolbox/EdgeToolBox.cpp
98+
${COLLISIONALGORITHM_SRC}/toolbox/PointToolBox.cpp
99+
${COLLISIONALGORITHM_SRC}/toolbox/TetrahedronToolBox.cpp
100+
${COLLISIONALGORITHM_SRC}/toolbox/TriangleToolBox.cpp
101+
)
40102

41-
set_source_files_properties(${IGNORED_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
103+
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} ${README_FILES})
42104

43-
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} ${SCENES_FILES} ${IGNORED_FILES} ${DEPRECATED_FILES} ${README_FILES})
44-
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-DPLUGIN_DATA_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\"")
45105
target_link_libraries(${PROJECT_NAME}
46106
Sofa.Simulation.Core
47107
Sofa.Component.StateContainer
48108
Sofa.Component.Constraint.Lagrangian.Solver
49109
Sofa.GL
50110
)
51111

52-
## Install rules for the library and headers; CMake package configurations files
53-
set(${PROJECT_NAME}_INCLUDE_DIRS "include/${PROJECT_NAME}")
54-
target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>")
55-
target_include_directories(${PROJECT_NAME} PUBLIC "$<INSTALL_INTERFACE:${${PROJECT_NAME}_INCLUDE_DIRS}>")
56-
sofa_create_package_with_targets(PACKAGE_NAME ${PROJECT_NAME} PACKAGE_VERSION 0.1 TARGETS ${PROJECT_NAME} INCLUDE_INSTALL_DIR ${${PROJECT_NAME}_INCLUDE_DIRS})
112+
sofa_create_package_with_targets(
113+
PACKAGE_NAME ${PROJECT_NAME}
114+
PACKAGE_VERSION ${PROJECT_VERSION}
115+
TARGETS ${PROJECT_NAME} AUTO_SET_TARGET_PROPERTIES
116+
INCLUDE_SOURCE_DIR "src"
117+
INCLUDE_INSTALL_DIR ${PROJECT_NAME}
118+
EXAMPLE_INSTALL_DIR "scenes"
119+
RELOCATABLE "plugins"
120+
)

CollisionAlgorithmConfig.cmake.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
@PACKAGE_INIT@
55

66
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7+
find_package(Sofa.Component.StateContainer QUIET REQUIRED)
8+
find_package(Sofa.Component.Constraint.Lagrangian.Solver QUIET REQUIRED)
79
find_package(Sofa.GL QUIET REQUIRED)
810

911
if(NOT TARGET @PROJECT_NAME@)

src/sofa/collisionAlgorithm/BaseAABBBroadPhase.h renamed to src/CollisionAlgorithm/BaseAABBBroadPhase.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#pragma once
22

33
#include <sofa/helper/AdvancedTimer.h>
4-
#include <sofa/collisionAlgorithm/BaseGeometry.h>
5-
#include <sofa/collisionAlgorithm/BaseAlgorithm.h>
6-
#include <sofa/collisionAlgorithm/operations/Project.h>
7-
#include <sofa/collisionAlgorithm/BaseElement.h>
4+
#include <CollisionAlgorithm/BaseGeometry.h>
5+
#include <CollisionAlgorithm/BaseAlgorithm.h>
6+
#include <CollisionAlgorithm/operations/Project.h>
7+
#include <CollisionAlgorithm/BaseElement.h>
88
#include <thread>
99

10-
namespace sofa::collisionAlgorithm {
10+
namespace sofa::collisionalgorithm {
1111

1212
class BaseAABBBroadPhase : public BaseGeometry::BroadPhase {
1313
public:

src/sofa/collisionAlgorithm/BaseAlgorithm.h renamed to src/CollisionAlgorithm/BaseAlgorithm.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#pragma once
22

3-
#include <sofa/collisionAlgorithm/BaseGeometry.h>
3+
#include <CollisionAlgorithm/BaseGeometry.h>
44
#include <sofa/core/collision/Pipeline.h>
5-
#include <sofa/collisionAlgorithm/DataDetectionOutput.h>
6-
#include <sofa/collisionAlgorithm/CollisionPipeline.h>
5+
#include <CollisionAlgorithm/DataDetectionOutput.h>
6+
#include <CollisionAlgorithm/CollisionPipeline.h>
77

8-
namespace sofa::collisionAlgorithm {
8+
namespace sofa::collisionalgorithm {
99

1010
/*!
1111
* \class BaseAlgorithm
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#pragma once
22

3-
#include <sofa/collisionAlgorithm/BaseProximity.h>
3+
#include <CollisionAlgorithm/BaseProximity.h>
44
#include <sofa/core/visual/VisualParams.h>
55

6-
namespace sofa::collisionAlgorithm {
6+
namespace sofa::collisionalgorithm {
77

88
class PointElement;
99
class EdgeElement;

src/sofa/collisionAlgorithm/BaseGeometry.h renamed to src/CollisionAlgorithm/BaseGeometry.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
#pragma once
22

3-
#include <sofa/collisionAlgorithm/CollisionPipeline.h>
4-
#include <sofa/collisionAlgorithm/BaseElement.h>
5-
#include <sofa/collisionAlgorithm/BaseProximity.h>
6-
#include <sofa/collisionAlgorithm/ElementIterator.h>
3+
#include <CollisionAlgorithm/CollisionPipeline.h>
4+
#include <CollisionAlgorithm/BaseElement.h>
5+
#include <CollisionAlgorithm/BaseProximity.h>
6+
#include <CollisionAlgorithm/ElementIterator.h>
77
#include <sofa/gl/gl.h>
88
#include <sofa/helper/AdvancedTimer.h>
9-
#include <sofa/collisionAlgorithm/elements/PointElement.h>
10-
#include <sofa/collisionAlgorithm/elements/EdgeElement.h>
11-
#include <sofa/collisionAlgorithm/elements/TriangleElement.h>
12-
#include <sofa/collisionAlgorithm/elements/TetrahedronElement.h>
13-
#include <sofa/collisionAlgorithm/InternalData.h>
9+
#include <CollisionAlgorithm/elements/PointElement.h>
10+
#include <CollisionAlgorithm/elements/EdgeElement.h>
11+
#include <CollisionAlgorithm/elements/TriangleElement.h>
12+
#include <CollisionAlgorithm/elements/TetrahedronElement.h>
13+
#include <CollisionAlgorithm/InternalData.h>
1414

1515

16-
namespace sofa ::collisionAlgorithm {
16+
namespace sofa ::collisionalgorithm {
1717

1818

1919
/*!

src/sofa/collisionAlgorithm/BaseOperation.h renamed to src/CollisionAlgorithm/BaseOperation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#pragma once
22

3-
#include <sofa/collisionAlgorithm/BaseGeometry.h>
3+
#include <CollisionAlgorithm/BaseGeometry.h>
44
#include <sofa/helper/NameDecoder.h>
55
#include <memory>
66

7-
namespace sofa::collisionAlgorithm::Operations {
7+
namespace sofa::collisionalgorithm::Operations {
88

99
template<class A,class B>
1010
class REAL_TYPE_CHECK {

src/sofa/collisionAlgorithm/BaseProximity.h renamed to src/CollisionAlgorithm/BaseProximity.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <sofa/core/topology/Topology.h>
99
#include <sofa/type/Vec.h>
1010

11-
namespace sofa::collisionAlgorithm {
11+
namespace sofa::collisionalgorithm {
1212

1313
/*!
1414
* \brief The BaseProximity class is the basic abstract proximity class
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#include <sofa/collisionAlgorithm/CollisionPipeline.h>
1+
#include <CollisionAlgorithm/CollisionPipeline.h>
22
#include <sofa/core/ObjectFactory.h>
33

4-
namespace sofa::collisionAlgorithm
4+
namespace sofa::collisionalgorithm
55
{
66
void registerCollisionLoop(sofa::core::ObjectFactory* factory)
77
{
@@ -10,4 +10,4 @@ void registerCollisionLoop(sofa::core::ObjectFactory* factory)
1010
"A collision pipeline customized for proximity detection during needle insertion")
1111
.add<CollisionLoop>());
1212
}
13-
} // namespace sofa::collisionAlgorithm
13+
} // namespace sofa::collisionalgorithm

src/sofa/collisionAlgorithm/CollisionPipeline.h renamed to src/CollisionAlgorithm/CollisionPipeline.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
#pragma once
22

3-
//#include <sofa/collisionAlgorithm/BaseOperation.h>
3+
//#include <CollisionAlgorithm/BaseOperation.h>
44
#include <sofa/simulation/CollisionBeginEvent.h>
5-
#include <sofa/collisionAlgorithm/BaseElement.h>
6-
#include <sofa/collisionAlgorithm/BaseProximity.h>
5+
#include <CollisionAlgorithm/BaseElement.h>
6+
#include <CollisionAlgorithm/BaseProximity.h>
77
#include <sofa/core/BehaviorModel.h>
88
#include <sofa/core/visual/VisualParams.h>
99
#include <sofa/core/objectmodel/DataCallback.h>
1010
#include <sofa/simulation/Visitor.h>
1111
#include <sofa/gl/gl.h>
1212
#include <sofa/simulation/AnimateBeginEvent.h>
1313
#include <sofa/core/topology/BaseMeshTopology.h>
14-
#include <sofa/collisionAlgorithm/BaseElement.h>
14+
#include <CollisionAlgorithm/BaseElement.h>
1515
#include <sofa/simulation/Node.h>
1616
#include <sofa/helper/AdvancedTimer.h>
1717

18-
namespace sofa ::collisionAlgorithm {
18+
namespace sofa ::collisionalgorithm {
1919

2020
class CollisionComponent : public core::objectmodel::BaseObject {
2121
public:

0 commit comments

Comments
 (0)