Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR To log pending changes between demo branch and master #2

Closed
wants to merge 41 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
77d5337
[doc] Add some comments
epernod Oct 4, 2022
f7aed15
Add WireSectionMaterial component to store the material property of a…
epernod Sep 23, 2022
bd991f7
Update WireREstShape to use the new WireMaterialSection links
epernod Sep 23, 2022
2ca0d78
Add check on BeamMAterial section
epernod Sep 26, 2022
91bd6bf
[WireRestShape] Remove use of Edge2QuatTopologyMapping, no need to pr…
epernod Sep 30, 2022
483e4e7
[src] Move numEdges and numEdgesCollision into WireSectionMaterial
epernod Oct 1, 2022
5be2cfd
[WireRestShape] Remove use of Edge2QuatTopologyMapping, no need to pr…
epernod Oct 3, 2022
7448b43
Fix numEdges creation fron materials
epernod Oct 3, 2022
e14d0aa
[src] Update WireRestShape to use a vector of Links instead of hardco…
epernod Oct 4, 2022
c442d02
backup changes in scenes
epernod Oct 4, 2022
52e0213
Add float/double methods.
epernod Oct 4, 2022
96a1a2f
Merge branch 'master' into BeamMaterial
fredroy Oct 12, 2022
75c0343
Update src/BeamAdapter/component/model/WireSectionMaterial.cpp
epernod Oct 13, 2022
7bf0249
[WireRestShape] Fix Collision edges sampling
epernod Oct 5, 2022
17ef028
[WRShape] Add epsilon on get youngModulus and interpolation
epernod Oct 11, 2022
7c4ec9f
Turn severals methods into const
epernod Oct 11, 2022
5d3e23b
Merge branch 'master' into BeamMaterial
epernod Jun 27, 2023
7a55ef4
[WireSection] Update WireSectionMaterial to be templated
epernod Jun 27, 2023
c9617f9
Temporarly comment code related to loading mesh not anymore working t…
epernod Jun 27, 2023
9d81cf3
Remove use of Edge2QuadTopologicalMapping
epernod Jun 27, 2023
dcc9816
Fix compilation
epernod Jun 27, 2023
d982a78
backup work on moving loader to material
epernod Jun 28, 2023
44463a5
backup work on new RodSection classes architecture
epernod Jun 29, 2023
3d1cc2c
Add RodSpire and RodStraight sections implementation
epernod Jun 29, 2023
5f48f9e
[WireRestShape] Remove optiond releaseWire or brokenIn2
epernod Jun 29, 2023
024f3c6
Add RodMeshSection implementation
epernod Jun 29, 2023
eefc535
Update WireRestShape to only use RodSectionMaterials
epernod Jun 29, 2023
e267534
Clean and doc Rod section classes and WireRestShape
epernod Jun 30, 2023
5a16d1f
Remove BaseRodSectionMaterial.cpp
epernod Jun 30, 2023
93fd33f
Forgot to update cudaInstantiations
epernod Jun 30, 2023
5c1be5e
Update all scenes with new rod section components
epernod Jun 30, 2023
00f9ec4
Merge branch 'master' into BeamMaterial
epernod Jun 30, 2023
c6c7d21
Restore exact same density of edges
epernod Jun 30, 2023
2ba8a9d
[doc] Update documentation
epernod Oct 13, 2022
22390f2
Backup work on scenes
epernod Oct 5, 2022
a423836
[IRCtrl] skip onKey event and comment partially onAnimationBeginEvent…
epernod Oct 19, 2022
26c9399
[IRCtrl] some small cleaning
epernod Nov 13, 2022
20673f9
add option to force adaptivemapping to not compute applyj/jt (useful …
fredroy Sep 28, 2022
255d72c
[src] Fix AdaptiveBeamController potential segfault on MouseEvent if …
epernod May 24, 2023
a424fa8
Merge branch 'BeamMaterial' into dev_LnRobotics
epernod Jun 30, 2023
e0897a7
Merge branch 'master' into dev_LnRobotics
epernod Jul 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,19 @@ set(HEADER_FILES
${BEAMADAPTER_SRC}/component/mapping/MultiAdaptiveBeamMapping.h
${BEAMADAPTER_SRC}/component/mapping/MultiAdaptiveBeamMapping.inl

${BEAMADAPTER_SRC}/component/model/BaseRodSectionMaterial.h
${BEAMADAPTER_SRC}/component/model/BaseRodSectionMaterial.inl
${BEAMADAPTER_SRC}/component/model/RodMeshSection.h
${BEAMADAPTER_SRC}/component/model/RodMeshSection.inl
${BEAMADAPTER_SRC}/component/model/RodSpireSection.h
${BEAMADAPTER_SRC}/component/model/RodSpireSection.inl
${BEAMADAPTER_SRC}/component/model/RodStraightSection.h
${BEAMADAPTER_SRC}/component/model/RodStraightSection.inl

${BEAMADAPTER_SRC}/utils/BeamSection.h
${BEAMADAPTER_SRC}/utils/BeamActions.h
${BEAMADAPTER_SRC}/utils/deprecatedcomponent.h
)
)

set(SOURCE_FILES
${BEAMADAPTER_SRC}/initBeamAdapter.cpp
Expand All @@ -86,7 +95,11 @@ set(SOURCE_FILES
${BEAMADAPTER_SRC}/component/mapping/AdaptiveBeamMapping.cpp
${BEAMADAPTER_SRC}/component/mapping/BeamLengthMapping.cpp
${BEAMADAPTER_SRC}/component/mapping/MultiAdaptiveBeamMapping.cpp
)

${BEAMADAPTER_SRC}/component/model/RodMeshSection.cpp
${BEAMADAPTER_SRC}/component/model/RodSpireSection.cpp
${BEAMADAPTER_SRC}/component/model/RodStraightSection.cpp
)

if(SofaImplicitField_FOUND)
set(HEADER_FILES ${HEADER_FILES}
Expand Down
Binary file added doc/AdaptiveBeamMapping_00000001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/BeamAdapter.pdf
Binary file not shown.
23 changes: 16 additions & 7 deletions examples/3instruments.scn
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,34 @@
<!-- ------------------------- INTERVENTIONAL RADIOLOGY INSTRUMENTS (catheter, guidewire, coil) ------------------------------ -->

<Node name='topoLines_cath'>
<WireRestShape template='Rigid3d' printLog='0' name='catheterRestShape' length='1000.0' straightLength='600' spireDiameter='4000.0' spireHeight='0.0'
densityOfBeams='40 10' numEdges='200' numEdgesCollis='40 20' youngModulus='10000' youngModulusExtremity='10000'/> <!-- silicone -->
<RodStraightSection name="StraightSection" youngModulus="10000" nbEdgesCollis="40" nbEdgesVisu="120" length="600.0"/>
<RodSpireSection name="SpireSection" youngModulus="10000" nbEdgesCollis="20" nbEdgesVisu="80" length="400.0" spireDiameter="4000.0" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="catheterRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name='meshLinesCath' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
<MechanicalObject template='Rigid3d' name='dofTopo1' />
</Node>
<Node name='topoLines_guide'>
<WireRestShape template='Rigid3d' printLog='0' name='GuideRestShape' length='1000.0' straightLength='980.0' spireDiameter='25' spireHeight='0.0'
densityOfBeams='30 5' numEdges='200' numEdgesCollis='50 10' youngModulus='10000' youngModulusExtremity='10000'/>
<RodStraightSection name="StraightSection" youngModulus="10000" nbEdgesCollis="50" nbEdgesVisu="196" length="980.0"/>
<RodSpireSection name="SpireSection" youngModulus="10000" nbEdgesCollis="10" nbEdgesVisu="4" length="20.0" spireDiameter="25" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="GuideRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name='meshLinesGuide' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
<MechanicalObject template='Rigid3d' name='dofTopo2' />
</Node>
<Node name='topoLines_coils'>
<WireRestShape template='Rigid3d' printLog='0' name='CoilRestShape' length='600.0' straightLength='540.0' spireDiameter='7' spireHeight='5.0'
densityOfBeams='40 20' numEdges='400' numEdgesCollis='30 30' youngModulus='168000' youngModulusExtremity='168000'/>
<EdgeSetTopologyContainer name='meshLinesCoils' />
<RodStraightSection name="StraightSection" youngModulus="168000" nbEdgesCollis="30" nbEdgesVisu="360" length="540.0"/>
<RodSpireSection name="SpireSection" youngModulus="168000" nbEdgesCollis="30" nbEdgesVisu="40" length="60.0" spireDiameter="7" spireHeight="5.0"/>

<WireRestShape template="Rigid3d" name="CoilRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name='meshLinesCoils' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
<MechanicalObject template='Rigid3d' name='dofTopo3' />
Expand Down
23 changes: 16 additions & 7 deletions examples/3instruments_collis.scn
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,33 @@
<!-- ------------------------- INTERVENTIONAL RADIOLOGY INSTRUMENTS (catheter, guidewire, coil) ------------------------------ -->

<Node name='topoLines_cath'>
<WireRestShape template='Rigid3d' printLog='0' name='catheterRestShape' length='1000.0' straightLength='600' spireDiameter='4000.0' spireHeight='0.0'
densityOfBeams='40 10' numEdges='200' numEdgesCollis='40 20' youngModulus='10000' youngModulusExtremity='10000'/> <!-- silicone -->
<RodStraightSection name="StraightSection" youngModulus="10000" nbEdgesCollis="40" nbEdgesVisu="120" length="600.0"/>
<RodSpireSection name="SpireSection" youngModulus="10000" nbEdgesCollis="20" nbEdgesVisu="80" length="400.0" spireDiameter="4000.0" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="catheterRestShape" wireMaterials="@StraightSection @SpireSection"/> <!-- silicone -->

<EdgeSetTopologyContainer name='meshLinesCath' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
<MechanicalObject template='Rigid3d' name='dofTopo1' />
</Node>
<Node name='topoLines_guide'>
<WireRestShape template='Rigid3d' printLog='0' name='GuideRestShape' length='1000.0' straightLength='980.0' spireDiameter='25' spireHeight='0.0'
densityOfBeams='30 5' numEdges='200' numEdgesCollis='50 10' youngModulus='10000' youngModulusExtremity='10000'/>
<RodStraightSection name="StraightSection" youngModulus="10000" nbEdgesCollis="50" nbEdgesVisu="196" length="980.0"/>
<RodSpireSection name="SpireSection" youngModulus="10000" nbEdgesCollis="10" nbEdgesVisu="4" length="20.0" spireDiameter="25" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="GuideRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name='meshLinesGuide' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
<MechanicalObject template='Rigid3d' name='dofTopo2' />
</Node>
<Node name='topoLines_coils'>
<WireRestShape template='Rigid3d' printLog='0' name='CoilRestShape' length='600.0' straightLength='540.0' spireDiameter='7' spireHeight='5.0'
densityOfBeams='40 20' numEdges='400' numEdgesCollis='30 30' youngModulus='168000' youngModulusExtremity='168000'/>
<RodStraightSection name="StraightSection" youngModulus="168000" nbEdgesCollis="30" nbEdgesVisu="360" length="540.0"/>
<RodSpireSection name="SpireSection" youngModulus="168000" nbEdgesCollis="30" nbEdgesVisu="40" length="60.0" spireDiameter="7" spireHeight="5.0"/>

<WireRestShape template="Rigid3d" name="CoilRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name='meshLinesCoils' />
<EdgeSetTopologyModifier name='Modifier' />
<EdgeSetGeometryAlgorithms name='GeomAlgo' template='Rigid3d' />
Expand Down Expand Up @@ -83,7 +92,7 @@
<WireBeamInterpolation name='InterpolCoils' WireRestShape='@../topoLines_coils/CoilRestShape' radius='0.1' printLog='0'/>
<AdaptiveBeamForceFieldAndMass name='CoilsForceField' interpolation='@InterpolCoils' massDensity='0.000021'/> <!-- platine E = 168000 MPa // 21000 Kg/m3-->

<InterventionalRadiologyController template='Rigid3d' name='m_ircontroller' printLog='0' xtip='1 0 0' step='3' rotationInstrument='0 0 0'
<InterventionalRadiologyController template='Rigid3d' name='m_ircontroller' printLog='1' xtip='1 0 0' step='3' rotationInstrument='0 0 0'
controlledInstrument='0' startingPos='0 0 0 0 -0.7071068 0 0.7071068' speed='2' instruments='InterpolCatheter InterpolGuide InterpolCoils' />

<LinearSolverConstraintCorrection printLog='false' wire_optimization='true'/>
Expand Down
6 changes: 4 additions & 2 deletions examples/SingleBeam.scn
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
<RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
<RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
<RequiredPlugin name="Sofa.Component.Topology.Container.Constant"/> <!-- Needed to use components [MeshTopology] -->
<RequiredPlugin name="Sofa.Component.Topology.Container.Grid"/> <!-- Needed to use components [RegularGridTopology] -->
<RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->

<VisualStyle displayFlags="showBehaviorModels showCollisionModels hideBoundingCollisionModels showForceFields" />

<DefaultAnimationLoop />
Expand All @@ -15,8 +17,8 @@
<Node name="BeamModel">
<EulerImplicitSolver rayleighStiffness="0" rayleighMass="0" printLog="false" />
<BTDLinearSolver verbose="0"/>
<MechanicalObject template="Rigid3d" name="DOFs" position="0 0 0 0 0 0 1 2 0 0 0 0 0 1 4 0 0 0 0 0 1 6 0 0 0 0 0 1"/>
<MeshTopology name="lines" lines="0 1 1 2 2 3" />
<RegularGridTopology name='MeshLines' nx='200' ny='1' nz='1' xmax='100' xmin='0' ymin='0' ymax='0' zmax='0' zmin='0'/>
<MechanicalObject template='Rigid3d' name='DOFs' />
<FixedConstraint name="FixedConstraint" indices="0" />
<BeamInterpolation name="BeamInterpolation" radius="0.1" />
<AdaptiveBeamForceFieldAndMass name="BeamForceField" computeMass="1" massDensity="10"/>
Expand Down
9 changes: 4 additions & 5 deletions examples/SingleBeamDeployment.scn
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@
<DefaultVisualManagerLoop />

<Node name="EdgeTopology">
<WireRestShape name="BeamRestShape" straightLength="980.0" length="1000.0"
numEdges="200" youngModulus="20000"
spireDiameter="25" numEdgesCollis="50 10"
printLog="1" template="Rigid3d" spireHeight="0.0"
densityOfBeams="30 5" youngModulusExtremity="20000" />
<RodStraightSection name="StraightSection" youngModulus="20000" radius="1" massDensity="0.1" poissonRatio="0.3" nbEdgesCollis="30" nbEdgesVisu="196" length="980.0"/>
<RodSpireSection name="SpireSection" youngModulus="20000" radius="1" massDensity="0.1" poissonRatio="0.3" nbEdgesCollis="5" nbEdgesVisu="4" length="20.0" spireDiameter="25" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="BeamRestShape" printLog="1" wireMaterials="@StraightSection @SpireSection"/>
<EdgeSetTopologyContainer name="meshLinesBeam"/>
<EdgeSetTopologyModifier name="Modifier"/>
<EdgeSetGeometryAlgorithms name="GeomAlgo" template="Rigid3d" />
Expand Down
10 changes: 5 additions & 5 deletions examples/SingleBeamDeploymentCollision.scn
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@


<Node name="EdgeTopology">
<WireRestShape name="BeamRestShape" straightLength="980.0" length="1000.0"
numEdges="200" youngModulus="20000"
spireDiameter="25" numEdgesCollis="50 10"
printLog="1" template="Rigid3d" spireHeight="0.0"
densityOfBeams="30 5" youngModulusExtremity="20000" />
<RodStraightSection name="StraightSection" youngModulus="20000" radius="1" massDensity="0.1" poissonRatio="0.3" nbEdgesCollis="50" nbEdgesVisu="200" length="980.0"/>
<RodSpireSection name="SpireSection" youngModulus="20000" radius="1" massDensity="0.1" poissonRatio="0.3" nbEdgesCollis="10" nbEdgesVisu="200" length="20.0" spireDiameter="25" spireHeight="0.0"/>

<WireRestShape template="Rigid3d" name="BeamRestShape" wireMaterials="@StraightSection @SpireSection"/>

<EdgeSetTopologyContainer name="meshLinesBeam"/>
<EdgeSetTopologyModifier name="Modifier"/>
<EdgeSetGeometryAlgorithms name="GeomAlgo" template="Rigid3d" />
Expand Down
11 changes: 6 additions & 5 deletions examples/Tool_from_loader.scn
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,12 @@
<DefaultAnimationLoop />

<Node name="GuideCatheter">
<MeshObjLoader name="loader" filename="mesh/key_tip.obj" />
<WireRestShape template="Rigid3d" name="GC_RestShape" printLog="false" isAProceduralShape="false"
radius="10" massDensity="0.1" poissonRatio="0.3"
densityOfBeams="300" numEdgesCollis="300" numEdges='300'
youngModulus="1000000" youngModulusExtremity="1000000" />
<MeshOBJLoader name="loader" filename="mesh/key_tip.obj" />

<RodStraightSection name="StraightSection" youngModulus="1000000" poissonRatio="0.3" radius="10" massDensity="0.1" nbEdgesCollis="30" nbEdgesVisu="200" length="980.0"/>
<RodMeshSection name="MeshTipSection" loader="@loader" nbEdgesCollis="300" nbEdgesVisu="300" radius="10" massDensity="0.1" youngModulus="1000000" poissonRatio="0.3"/>

<WireRestShape template="Rigid3d" name="GC_RestShape" printLog="false" wireMaterials="@StraightSection @MeshTipSection" />

<EdgeSetTopologyContainer name="GC_mesh" />
<EdgeSetTopologyModifier />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,9 @@ void InterventionalRadiologyController<DataTypes>::onMouseEvent(MouseEvent * mev
template <class DataTypes>
void InterventionalRadiologyController<DataTypes>::onKeyPressedEvent(KeypressedEvent *kev)
{

return;

/// Control keys for interventonal Radiology simulations:
switch(kev->getKey())
{
Expand Down Expand Up @@ -308,56 +311,56 @@ template <class DataTypes>
void InterventionalRadiologyController<DataTypes>::onBeginAnimationStep(const double dt)
{
SOFA_UNUSED(dt);

BaseContext* context = getContext();
auto xInstrTip = sofa::helper::getWriteOnlyAccessor(d_xTip);
if(m_FF || m_RW)
{
int id = d_controlledInstrument.getValue();
if (id >= (int)xInstrTip.size())
{
msg_warning()<<"Controlled Instument num "<<id<<" does not exist (size ="<< xInstrTip.size() <<") use instrument 0 instead";
id=0;
}
if (m_FF)
{
if (!m_sensored)
xInstrTip[id] += d_speed.getValue() * context->getDt();
else
{
unsigned int newSensorData = m_currentSensorData + 1;

while( m_sensorMotionData[newSensorData][0] < context->getTime() )
{
m_currentSensorData = newSensorData;
newSensorData++;
}
if(newSensorData >= m_sensorMotionData.size())
{
xInstrTip[id] = 0;
}
else
{
xInstrTip[id] += m_sensorMotionData[m_currentSensorData][1];
}
}
}
if (m_RW)
{
xInstrTip[id] -= d_speed.getValue()* context->getDt();
// verif min x :
if ( xInstrTip[id] < 0.0)
{
xInstrTip[id] = 0.0;
m_RW = false;
}
}
}

/// The tip of the instrument can not be further than its total length
for (unsigned int i=0; i<m_instrumentsList.size(); i++)
if (xInstrTip[i] > m_instrumentsList[i]->getRestTotalLength() )
xInstrTip[i] = m_instrumentsList[i]->getRestTotalLength();
//BaseContext* context = getContext();
//auto xInstrTip = sofa::helper::getWriteOnlyAccessor(d_xTip);
//if(m_FF || m_RW)
//{
// int id = d_controlledInstrument.getValue();
// if (id >= (int)xInstrTip.size())
// {
// msg_warning()<<"Controlled Instument num "<<id<<" does not exist (size ="<< xInstrTip.size() <<") use instrument 0 instead";
// id=0;
// }
// if (m_FF)
// {
// if (!m_sensored)
// xInstrTip[id] += d_speed.getValue() * context->getDt();
// else
// {
// unsigned int newSensorData = m_currentSensorData + 1;

// while( m_sensorMotionData[newSensorData][0] < context->getTime() )
// {
// m_currentSensorData = newSensorData;
// newSensorData++;
// }
// if(newSensorData >= m_sensorMotionData.size())
// {
// xInstrTip[id] = 0;
// }
// else
// {
// xInstrTip[id] += m_sensorMotionData[m_currentSensorData][1];
// }
// }
// }
// if (m_RW)
// {
// xInstrTip[id] -= d_speed.getValue()* context->getDt();
// // verif min x :
// if ( xInstrTip[id] < 0.0)
// {
// xInstrTip[id] = 0.0;
// m_RW = false;
// }
// }
//}

///// The tip of the instrument can not be further than its total length
//for (unsigned int i=0; i<m_instrumentsList.size(); i++)
// if (xInstrTip[i] > m_instrumentsList[i]->getRestTotalLength() )
// xInstrTip[i] = m_instrumentsList[i]->getRestTotalLength();

applyInterventionalRadiologyController();
}
Expand Down
7 changes: 4 additions & 3 deletions src/BeamAdapter/component/engine/SteerableCatheter.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,10 @@ class SteerableCatheter : public WireRestShape<DataTypes>
/// Bring inherited attributes and function in the current lookup context.
/// otherwise any access to the base::attribute would require
/// the "this->" approach.
using Inherit1::d_spireDiameter;
using Inherit1::d_length;
using Inherit1::d_straightLength;
Data<Real> d_length;
Data<Real> d_straightLength;
Data<Real> d_spireDiameter;
Data<Real> d_spireHeight;
///////////////////////////////////////////////////////////////////////////

};
Expand Down
2 changes: 1 addition & 1 deletion src/BeamAdapter/component/engine/WireRestShape.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ using namespace sofa::defaulttype;
///
////////////////////////////////////////////////////////////////////////////////////////////////////

static int WireRestShapeClass = core::RegisterObject("Describe the shape functions on multiple segments using curvilinear abscissa")
const int WireRestShapeClass = core::RegisterObject("Describe the shape functions on multiple segments using curvilinear abscissa")
.add< WireRestShape<Rigid3Types> >(true)

;
Expand Down
Loading