@@ -2,9 +2,14 @@ cmake_minimum_required(VERSION 3.12)
22project (Shell VERSION 1.0 LANGUAGES CXX )
33
44# Find and load CMake configuration of packages containing this plugin's dependencies
5- find_package (Sofa.Component.Controller REQUIRED )
5+ find_package (Sofa.Config REQUIRED )
6+ sofa_find_package (Sofa.Component.Controller REQUIRED )
7+ sofa_find_package (Sofa.Component.Topology.Container.Dynamic REQUIRED )
68sofa_find_package (Sofa.Component.StateContainer REQUIRED )
9+ sofa_find_package (Sofa.Component.Mapping.Linear REQUIRED )
10+ sofa_find_package (Sofa.GL REQUIRED )
711
12+ set (README_FILE README.md)
813
914# List all files
1015set (SHELL_SRC_DIR src/Shell)
@@ -13,32 +18,68 @@ set(HEADER_FILES
1318 ${SHELL_SRC_DIR} /controller/MeshChangedEvent.h
1419 ${SHELL_SRC_DIR} /controller/MeshInterpolator.h
1520 ${SHELL_SRC_DIR} /controller/MeshInterpolator.inl
21+ ${SHELL_SRC_DIR} /controller/TriangleSwitchExample.h
22+ ${SHELL_SRC_DIR} /controller/TriangleSwitchExample.inl
1623 ${SHELL_SRC_DIR} /engine/JoinMeshPoints.h
1724 ${SHELL_SRC_DIR} /engine/JoinMeshPoints.inl
25+ ${SHELL_SRC_DIR} /engine/FindClosePoints.h
26+ ${SHELL_SRC_DIR} /engine/FindClosePoints.inl
27+ ${SHELL_SRC_DIR} /forcefield/BezierTriangularBendingFEMForceField.h
28+ ${SHELL_SRC_DIR} /forcefield/BezierTriangularBendingFEMForceField.inl
29+ ${SHELL_SRC_DIR} /forcefield/CstFEMForceField.h
30+ ${SHELL_SRC_DIR} /forcefield/CstFEMForceField.inl
1831 ${SHELL_SRC_DIR} /forcefield/TriangularBendingFEMForceField.h
1932 ${SHELL_SRC_DIR} /forcefield/TriangularBendingFEMForceField.inl
33+ ${SHELL_SRC_DIR} /forcefield/TriangularShellForceField.h
34+ ${SHELL_SRC_DIR} /forcefield/TriangularShellForceField.inl
35+ ${SHELL_SRC_DIR} /mapping/BendingPlateMechanicalMapping.h
36+ ${SHELL_SRC_DIR} /mapping/BendingPlateMechanicalMapping.inl
37+ ${SHELL_SRC_DIR} /mapping/BezierTriangleMechanicalMapping.h
38+ ${SHELL_SRC_DIR} /mapping/BezierTriangleMechanicalMapping.inl
39+ ${SHELL_SRC_DIR} /misc/PointProjection.h
40+ ${SHELL_SRC_DIR} /misc/PointProjection.inl
41+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolation.h
42+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolation.inl
43+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolationM.h
44+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolationM.inl
45+ ${SHELL_SRC_DIR} /shells2/forcefield/BezierShellForceField.h
46+ ${SHELL_SRC_DIR} /shells2/forcefield/BezierShellForceField.inl
47+ ${SHELL_SRC_DIR} /shells2/mapping/BezierShellMechanicalMapping.h
48+ ${SHELL_SRC_DIR} /shells2/mapping/BezierShellMechanicalMapping.inl
2049)
50+
2151set (SOURCE_FILES
2252 ${SHELL_SRC_DIR} /initShell.cpp
2353 ${SHELL_SRC_DIR} /controller/MeshChangedEvent.cpp
2454 ${SHELL_SRC_DIR} /controller/MeshInterpolator.cpp
55+ ${SHELL_SRC_DIR} /controller/TriangleSwitchExample.cpp
2556 ${SHELL_SRC_DIR} /engine/JoinMeshPoints.cpp
57+ ${SHELL_SRC_DIR} /engine/FindClosePoints.cpp
58+ ${SHELL_SRC_DIR} /forcefield/BezierTriangularBendingFEMForceField.cpp
59+ ${SHELL_SRC_DIR} /forcefield/CstFEMForceField.cpp
2660 ${SHELL_SRC_DIR} /forcefield/TriangularBendingFEMForceField.cpp
27- )
28- set (README_FILES
29- README.md
61+ ${SHELL_SRC_DIR} /forcefield/TriangularShellForceField.cpp
62+ ${SHELL_SRC_DIR} /mapping/BendingPlateMechanicalMapping.cpp
63+ ${SHELL_SRC_DIR} /mapping/BezierTriangleMechanicalMapping.cpp
64+ ${SHELL_SRC_DIR} /misc/PointProjection.cpp
65+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolation.cpp
66+ ${SHELL_SRC_DIR} /shells2/fem/BezierShellInterpolationM.cpp
67+ ${SHELL_SRC_DIR} /shells2/forcefield/BezierShellForceField.cpp
68+ ${SHELL_SRC_DIR} /shells2/mapping/BezierShellMechanicalMapping.cpp
3069)
3170
32- # Create the plugin library.
71+ # Create the plugin library
3372add_library (${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES} ${README_FILES} )
3473
3574# Link the plugin library to its dependency(ies).
36- target_link_libraries (${PROJECT_NAME} Sofa.Component.Controller Sofa.Component.StateContainer )
75+ target_link_libraries (${PROJECT_NAME}
76+ Sofa.Component.Controller
77+ Sofa.Component.Topology.Container.Dynamic
78+ Sofa.Component.StateContainer
79+ Sofa.Component.Mapping.Linear
80+ Sofa.GL
81+ )
3782
38- # Create package Config, Version & Target files.
39- # Deploy the headers, resources, scenes & examples.
40- # Set the plugin 'relocatable' if built within SOFA.
41- # --> see SofaMacros.cmake
4283sofa_create_package_with_targets (
4384 PACKAGE_NAME ${PROJECT_NAME}
4485 PACKAGE_VERSION ${PROJECT_VERSION}
@@ -47,3 +88,5 @@ sofa_create_package_with_targets(
4788 INCLUDE_INSTALL_DIR ${PROJECT_NAME}
4889 RELOCATABLE "plugins"
4990 )
91+
92+ sofa_add_subdirectory (plugin extensions/Shell.Adaptivity Shell.Adaptivity )
0 commit comments