Skip to content

Commit 145eeef

Browse files
authored
[Engine] Rename VolumeFromTetrahedrons to VolumeFromVolumetricElements (#6175)
* rename to VolumeFromVolumetricElements * compat * last changes * rename test file * rename example * add to component change list * add alias
1 parent 5073f59 commit 145eeef

12 files changed

Lines changed: 125 additions & 44 deletions

File tree

Sofa/Component/Engine/Generate/CMakeLists.txt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ set(HEADER_FILES
4343
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/NormalsFromPoints.inl
4444
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/RandomPointDistributionInSurface.h
4545
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/RandomPointDistributionInSurface.inl
46-
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTetrahedrons.h
47-
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTetrahedrons.inl
46+
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromVolumetricElements.h
47+
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromVolumetricElements.inl
4848
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTriangles.h
4949
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTriangles.inl
5050
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/Spiral.h
@@ -72,15 +72,26 @@ set(SOURCE_FILES
7272
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/NormEngine.cpp
7373
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/NormalsFromPoints.cpp
7474
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/RandomPointDistributionInSurface.cpp
75-
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTetrahedrons.cpp
75+
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromVolumetricElements.cpp
7676
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/VolumeFromTriangles.cpp
7777
${SOFACOMPONENTENGINEGENERATE_SOURCE_DIR}/Spiral.cpp
7878
)
7979

80+
set(DEPRECATED_DIR "compat/sofa/component/engine/generate")
81+
set(DEPRECATED_HEADER_FILES
82+
${DEPRECATED_DIR}/VolumeFromTetrahedrons.h
83+
${DEPRECATED_DIR}/VolumeFromTetrahedrons.inl
84+
)
85+
86+
8087
sofa_find_package(Sofa.Simulation.Core REQUIRED)
8188

8289
add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES})
8390
target_link_libraries(${PROJECT_NAME} PUBLIC Sofa.Simulation.Core)
91+
target_include_directories(${PROJECT_NAME} PUBLIC
92+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/compat>
93+
$<INSTALL_INTERFACE:include/${PROJECT_NAME}_compat>
94+
)
8495

8596
sofa_create_package_with_targets(
8697
PACKAGE_NAME ${PROJECT_NAME}
@@ -90,6 +101,8 @@ sofa_create_package_with_targets(
90101
INCLUDE_INSTALL_DIR "${PROJECT_NAME}"
91102
)
92103

104+
install(DIRECTORY compat/ DESTINATION include/${PROJECT_NAME}_compat COMPONENT headers)
105+
93106
# Tests
94107
# If SOFA_BUILD_TESTS exists and is OFF, then these tests will be auto-disabled
95108
cmake_dependent_option(SOFA_COMPONENT_ENGINE_GENERATE_BUILD_TESTS "Compile the automatic tests" ON "SOFA_BUILD_TESTS OR NOT DEFINED SOFA_BUILD_TESTS" OFF)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/******************************************************************************
2+
* SOFA, Simulation Open-Framework Architecture *
3+
* (c) 2006 INRIA, USTL, UJF, CNRS, MGH *
4+
* *
5+
* This program is free software; you can redistribute it and/or modify it *
6+
* under the terms of the GNU Lesser General Public License as published by *
7+
* the Free Software Foundation; either version 2.1 of the License, or (at *
8+
* your option) any later version. *
9+
* *
10+
* This program is distributed in the hope that it will be useful, but WITHOUT *
11+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
12+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
13+
* for more details. *
14+
* *
15+
* You should have received a copy of the GNU Lesser General Public License *
16+
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
17+
*******************************************************************************
18+
* Authors: The SOFA Team and external contributors (see Authors.txt) *
19+
* *
20+
* Contact information: contact@sofa-framework.org *
21+
******************************************************************************/
22+
#pragma once
23+
#include <sofa/component/engine/generate/VolumeFromVolumetricElements.h>
24+
SOFA_HEADER_DEPRECATED("v26.12", "v27.06", "sofa/component/engine/generate/VolumeFromVolumetricElements.h")
25+
26+
namespace sofa::component::engine::generate
27+
{
28+
29+
template <class DataTypes>
30+
using VolumeFromTetrahedrons SOFA_ATTRIBUTE_DEPRECATED__VOLUMEFROMTETRAHEDRONS() = VolumeFromVolumetricElements<DataTypes>;
31+
32+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/******************************************************************************
2+
* SOFA, Simulation Open-Framework Architecture *
3+
* (c) 2006 INRIA, USTL, UJF, CNRS, MGH *
4+
* *
5+
* This program is free software; you can redistribute it and/or modify it *
6+
* under the terms of the GNU Lesser General Public License as published by *
7+
* the Free Software Foundation; either version 2.1 of the License, or (at *
8+
* your option) any later version. *
9+
* *
10+
* This program is distributed in the hope that it will be useful, but WITHOUT *
11+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
12+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
13+
* for more details. *
14+
* *
15+
* You should have received a copy of the GNU Lesser General Public License *
16+
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
17+
*******************************************************************************
18+
* Authors: The SOFA Team and external contributors (see Authors.txt) *
19+
* *
20+
* Contact information: contact@sofa-framework.org *
21+
******************************************************************************/
22+
#pragma once
23+
#include <sofa/component/engine/generate/VolumeFromTetrahedrons.h>
24+
#include <sofa/component/engine/generate/VolumeFromVolumetricElements.inl>
25+
SOFA_HEADER_DEPRECATED("v26.12", "v27.06", "sofa/component/engine/generate/VolumeFromVolumetricElements.inl")

Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromTetrahedrons.cpp renamed to Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromVolumetricElements.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
* *
2020
* Contact information: contact@sofa-framework.org *
2121
******************************************************************************/
22-
#define SOFA_COMPONENT_ENGINE_VOLUMEFROMTETRAHEDRONS_CPP
22+
#define SOFA_COMPONENT_ENGINE_VOLUMEFROMVOLUMETRICELEMENTS_CPP
2323

24-
#include <sofa/component/engine/generate/VolumeFromTetrahedrons.inl>
24+
#include <sofa/component/engine/generate/VolumeFromVolumetricElements.inl>
2525
#include <sofa/core/ObjectFactory.h>
2626

2727
namespace sofa::component::engine::generate
@@ -30,13 +30,15 @@ namespace sofa::component::engine::generate
3030
using namespace sofa::defaulttype;
3131
using namespace sofa::helper;
3232

33-
void registerVolumeFromTetrahedrons(sofa::core::ObjectFactory* factory)
33+
void registerVolumeFromVolumetricElements(sofa::core::ObjectFactory* factory)
3434
{
3535
factory->registerObjects(sofa::core::ObjectRegistrationData("This component computes the volume of a given volumetric mesh.")
36-
.add< VolumeFromTetrahedrons<Vec3Types> >(true));
36+
.add< VolumeFromVolumetricElements<Vec3Types> >(true)
37+
.addAlias("VolumeFromTetrahedrons")
38+
);
3739
}
3840

39-
template class SOFA_COMPONENT_ENGINE_GENERATE_API VolumeFromTetrahedrons<Vec3Types>;
41+
template class SOFA_COMPONENT_ENGINE_GENERATE_API VolumeFromVolumetricElements<Vec3Types>;
4042

4143

4244
} // namespace

Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromTetrahedrons.h renamed to Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromVolumetricElements.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ namespace sofa::component::engine::generate
3333
* This class returns the volumes of a given volumic mesh.
3434
*/
3535
template <class DataTypes>
36-
class VolumeFromTetrahedrons : public sofa::core::DataEngine
36+
class VolumeFromVolumetricElements : public sofa::core::DataEngine
3737
{
3838
public:
39-
SOFA_CLASS(SOFA_TEMPLATE(VolumeFromTetrahedrons,DataTypes), sofa::core::DataEngine);
39+
SOFA_CLASS(SOFA_TEMPLATE(VolumeFromVolumetricElements,DataTypes), sofa::core::DataEngine);
4040

4141
typedef typename DataTypes::VecCoord VecCoord;
4242

@@ -54,8 +54,8 @@ class VolumeFromTetrahedrons : public sofa::core::DataEngine
5454

5555
public:
5656

57-
VolumeFromTetrahedrons();
58-
~VolumeFromTetrahedrons() override;
57+
VolumeFromVolumetricElements();
58+
~VolumeFromVolumetricElements() override;
5959

6060
////////////////////////// Inherited from BaseObject ///////////////////
6161
void init() override;
@@ -71,8 +71,8 @@ class VolumeFromTetrahedrons : public sofa::core::DataEngine
7171

7272
protected:
7373

74-
SingleLink<VolumeFromTetrahedrons<DataTypes>, BaseMeshTopology, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> l_topology;
75-
SingleLink<VolumeFromTetrahedrons<DataTypes>, MechanicalState, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> l_state;
74+
SingleLink<VolumeFromVolumetricElements<DataTypes>, BaseMeshTopology, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> l_topology;
75+
SingleLink<VolumeFromVolumetricElements<DataTypes>, MechanicalState, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> l_state;
7676

7777
sofa::Data<VecCoord> d_positions;
7878
sofa::Data<VecTetras> d_tetras;
@@ -89,8 +89,8 @@ class VolumeFromTetrahedrons : public sofa::core::DataEngine
8989
void checkTopology();
9090
};
9191

92-
#if !defined(SOFA_COMPONENT_ENGINE_VOLUMEFROMTETRAHEDRONS_CPP)
93-
extern template class VolumeFromTetrahedrons<sofa::defaulttype::Vec3Types>;
92+
#if !defined(SOFA_COMPONENT_ENGINE_VOLUMEFROMVOLUMETRICELEMENTS_CPP)
93+
extern template class VolumeFromVolumetricElements<sofa::defaulttype::Vec3Types>;
9494
#endif
9595

9696
} // namespace

Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromTetrahedrons.inl renamed to Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/VolumeFromVolumetricElements.inl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#pragma once
2323

2424
#include <sofa/config.h>
25-
#include <sofa/component/engine/generate/VolumeFromTetrahedrons.h>
25+
#include <sofa/component/engine/generate/VolumeFromVolumetricElements.h>
2626
#include <sofa/geometry/Hexahedron.h>
2727
#include <sofa/geometry/Tetrahedron.h>
2828

@@ -37,7 +37,7 @@ using sofa::core::objectmodel::BaseData;
3737

3838

3939
template <class DataTypes>
40-
VolumeFromTetrahedrons<DataTypes>::VolumeFromTetrahedrons()
40+
VolumeFromVolumetricElements<DataTypes>::VolumeFromVolumetricElements()
4141
:
4242
l_topology(initLink("topology", "link to the topology"))
4343
, l_state(initLink("mechanical", "link to the mechanical"))
@@ -51,7 +51,7 @@ VolumeFromTetrahedrons<DataTypes>::VolumeFromTetrahedrons()
5151
}
5252

5353
template <class DataTypes>
54-
void VolumeFromTetrahedrons<DataTypes>::parse(core::objectmodel::BaseObjectDescription* arg)
54+
void VolumeFromVolumetricElements<DataTypes>::parse(core::objectmodel::BaseObjectDescription* arg)
5555
{
5656
Inherit1::parse(arg);
5757

@@ -63,13 +63,13 @@ void VolumeFromTetrahedrons<DataTypes>::parse(core::objectmodel::BaseObjectDescr
6363
}
6464

6565
template <class DataTypes>
66-
VolumeFromTetrahedrons<DataTypes>::~VolumeFromTetrahedrons()
66+
VolumeFromVolumetricElements<DataTypes>::~VolumeFromVolumetricElements()
6767
{
6868
}
6969

7070

7171
template <class DataTypes>
72-
void VolumeFromTetrahedrons<DataTypes>::init()
72+
void VolumeFromVolumetricElements<DataTypes>::init()
7373
{
7474
Inherit1::init();
7575

@@ -107,7 +107,7 @@ void VolumeFromTetrahedrons<DataTypes>::init()
107107

108108

109109
template <class DataTypes>
110-
void VolumeFromTetrahedrons<DataTypes>::reinit()
110+
void VolumeFromVolumetricElements<DataTypes>::reinit()
111111
{
112112
if(d_componentState.getValue() != ComponentState::Valid)
113113
return ;
@@ -117,7 +117,7 @@ void VolumeFromTetrahedrons<DataTypes>::reinit()
117117

118118

119119
template <class DataTypes>
120-
void VolumeFromTetrahedrons<DataTypes>::initTopology()
120+
void VolumeFromVolumetricElements<DataTypes>::initTopology()
121121
{
122122
if (!l_topology.get())
123123
{
@@ -145,7 +145,7 @@ void VolumeFromTetrahedrons<DataTypes>::initTopology()
145145

146146

147147
template <class DataTypes>
148-
void VolumeFromTetrahedrons<DataTypes>::checkTopology()
148+
void VolumeFromVolumetricElements<DataTypes>::checkTopology()
149149
{
150150
ReadAccessor<sofa::Data<VecCoord> > positions = d_positions;
151151
ReadAccessor<sofa::Data<VecTetras> > tetras = d_tetras;
@@ -194,7 +194,7 @@ void VolumeFromTetrahedrons<DataTypes>::checkTopology()
194194

195195

196196
template <class DataTypes>
197-
void VolumeFromTetrahedrons<DataTypes>::doUpdate()
197+
void VolumeFromVolumetricElements<DataTypes>::doUpdate()
198198
{
199199
if(d_componentState.getValue() != ComponentState::Valid)
200200
return ;
@@ -210,7 +210,7 @@ void VolumeFromTetrahedrons<DataTypes>::doUpdate()
210210

211211

212212
template <class DataTypes>
213-
void VolumeFromTetrahedrons<DataTypes>::updateVolume()
213+
void VolumeFromVolumetricElements<DataTypes>::updateVolume()
214214
{
215215
Real volume = 0.;
216216

Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/config.h.in

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,11 @@ namespace sofa::component::engine::generate
3636
constexpr const char* MODULE_NAME = "@PROJECT_NAME@";
3737
constexpr const char* MODULE_VERSION = "@PROJECT_VERSION@";
3838
} // namespace sofa::component::engine::generate
39+
40+
41+
#ifdef SOFA_BUILD_SOFA_COMPONENT_ENGINE_GENERATE
42+
#define SOFA_ATTRIBUTE_DEPRECATED__VOLUMEFROMTETRAHEDRONS()
43+
#else
44+
#define SOFA_ATTRIBUTE_DEPRECATED__VOLUMEFROMTETRAHEDRONS() \
45+
SOFA_ATTRIBUTE_DEPRECATED("v26.12", "v27.06", "Use the VolumeFromVolumetricElements instead")
46+
#endif

Sofa/Component/Engine/Generate/src/sofa/component/engine/generate/init.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ extern void registerNormEngine(sofa::core::ObjectFactory* factory);
4747
extern void registerRandomPointDistributionInSurface(sofa::core::ObjectFactory* factory);
4848
extern void registerSpiral(sofa::core::ObjectFactory* factory);
4949
extern void registerVolumeFromTriangles(sofa::core::ObjectFactory* factory);
50-
extern void registerVolumeFromTetrahedrons(sofa::core::ObjectFactory* factory);
50+
extern void registerVolumeFromVolumetricElements(sofa::core::ObjectFactory* factory);
5151

5252
extern "C" {
5353
SOFA_EXPORT_DYNAMIC_LIBRARY void initExternalModule();
@@ -94,7 +94,7 @@ void registerObjects(sofa::core::ObjectFactory* factory)
9494
registerRandomPointDistributionInSurface(factory);
9595
registerSpiral(factory);
9696
registerVolumeFromTriangles(factory);
97-
registerVolumeFromTetrahedrons(factory);
97+
registerVolumeFromVolumetricElements(factory);
9898
}
9999

100100
void init()

Sofa/Component/Engine/Generate/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ set(SOURCE_FILES
99
MergePoints_test.cpp
1010
RandomPointDistributionInSurface_test.cpp
1111
VolumeFromTriangles_test.cpp
12-
VolumeFromTetrahedrons_test.cpp
12+
VolumeFromVolumetricElements_test.cpp
1313
)
1414

1515
find_package(Sofa.Component.StateContainer REQUIRED)

Sofa/Component/Engine/Generate/tests/VolumeFromTetrahedrons_test.cpp renamed to Sofa/Component/Engine/Generate/tests/VolumeFromVolumetricElements_test.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ using sofa::component::statecontainer::MechanicalObject ;
4848
using sofa::core::topology::BaseMeshTopology ;
4949
using sofa::core::objectmodel::Data ;
5050

51-
#include <sofa/component/engine/generate/VolumeFromTetrahedrons.h>
52-
using sofa::component::engine::generate::VolumeFromTetrahedrons ;
51+
#include <sofa/component/engine/generate/VolumeFromVolumetricElements.h>
52+
using sofa::component::engine::generate::VolumeFromVolumetricElements ;
5353

5454
#include <sofa/helper/system/FileRepository.h>
5555
using sofa::helper::system::DataRepository;
@@ -60,9 +60,9 @@ namespace sofa
6060
{
6161

6262
template <typename _DataTypes>
63-
struct VolumeFromTetrahedronsTest : public sofa::testing::BaseTest, VolumeFromTetrahedrons<_DataTypes>
63+
struct VolumeFromVolumetricElementsTest : public sofa::testing::BaseTest, VolumeFromVolumetricElements<_DataTypes>
6464
{
65-
typedef VolumeFromTetrahedrons<_DataTypes> ThisClass ;
65+
typedef VolumeFromVolumetricElements<_DataTypes> ThisClass ;
6666
typedef _DataTypes DataTypes;
6767
typedef typename DataTypes::Coord Coord;
6868
typedef typename DataTypes::VecCoord VecCoord;
@@ -76,9 +76,9 @@ struct VolumeFromTetrahedronsTest : public sofa::testing::BaseTest, VolumeFromTe
7676
///////////////////////////////////////////////////////////////
7777
// Bring parents members in the current lookup context.
7878
// more info at: https://gcc.gnu.org/onlinedocs/gcc/Name-lookup.html
79-
using VolumeFromTetrahedrons<_DataTypes>::d_volume ;
80-
using VolumeFromTetrahedrons<_DataTypes>::d_tetras ;
81-
using VolumeFromTetrahedrons<_DataTypes>::d_hexas ;
79+
using VolumeFromVolumetricElements<_DataTypes>::d_volume ;
80+
using VolumeFromVolumetricElements<_DataTypes>::d_tetras ;
81+
using VolumeFromVolumetricElements<_DataTypes>::d_hexas ;
8282
///////////////////////////////////////////////////////////////
8383

8484

@@ -111,7 +111,7 @@ struct VolumeFromTetrahedronsTest : public sofa::testing::BaseTest, VolumeFromTe
111111
"<?xml version='1.0'?>"
112112
"<Node name='Root' gravity='0 0 0' time='0' animate='0'> "
113113
" <MechanicalObject/> "
114-
" <VolumeFromTetrahedrons/> "
114+
" <VolumeFromVolumetricElements/> "
115115
"</Node> " ;
116116
EXPECT_NO_THROW(SceneLoaderXML::loadFromMemory ( "test", scene.c_str())) ;
117117
}
@@ -139,18 +139,18 @@ struct VolumeFromTetrahedronsTest : public sofa::testing::BaseTest, VolumeFromTe
139139
using ::testing::Types;
140140
typedef Types<Vec3Types> DataTypes;
141141

142-
TYPED_TEST_SUITE(VolumeFromTetrahedronsTest, DataTypes);
142+
TYPED_TEST_SUITE(VolumeFromVolumetricElementsTest, DataTypes);
143143

144144

145-
TYPED_TEST(VolumeFromTetrahedronsTest, NormalBehavior) {
145+
TYPED_TEST(VolumeFromVolumetricElementsTest, NormalBehavior) {
146146
ASSERT_NO_THROW(this->normalTests()) ;
147147
}
148148

149-
TYPED_TEST(VolumeFromTetrahedronsTest, SimpleScene) {
149+
TYPED_TEST(VolumeFromVolumetricElementsTest, SimpleScene) {
150150
ASSERT_NO_THROW(this->simpleSceneTest()) ;
151151
}
152152

153-
TYPED_TEST(VolumeFromTetrahedronsTest, VolumeComputation) {
153+
TYPED_TEST(VolumeFromVolumetricElementsTest, VolumeComputation) {
154154
ASSERT_DOUBLE_EQ(12.5,this->volumeComputationTest());
155155
}
156156
}

0 commit comments

Comments
 (0)