Skip to content

Commit

Permalink
Fix compilation, especially using vec_id::write_access
Browse files Browse the repository at this point in the history
  • Loading branch information
hugtalbot committed Jan 26, 2025
1 parent 79659e4 commit 3804579
Show file tree
Hide file tree
Showing 13 changed files with 42 additions and 76 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ inline sofa::component::collision::geometry::TriangleCollisionModel<sofa::defaul

//editing DOF related to the TriangleCollisionModel<sofa::defaulttype::Vec3Types> to be created, size is 3 (3 points) because it contains just one Triangle
triDOF->resize(3);
Data<MechanicalObject3::VecCoord>& dpositions = *triDOF->write(sofa::core::VecId::position());
Data<MechanicalObject3::VecCoord>& dpositions = *triDOF->write(sofa::core::vec_id::write_access::position);
MechanicalObject3::VecCoord& positions = *dpositions.beginEdit();

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
Expand All @@ -65,7 +65,7 @@ inline sofa::component::collision::geometry::TriangleCollisionModel<sofa::defaul
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObject3::VecDeriv>& dvelocities = *triDOF->write(sofa::core::VecId::velocity());
Data<MechanicalObject3::VecDeriv>& dvelocities = *triDOF->write(sofa::core::vec_id::write_access::velocity);

MechanicalObject3::VecDeriv& velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ inline sofa::component::collision::geometry::SphereCollisionModel<sofa::defaultt

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
sphereDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord>& dpositions = *sphereDOF->write(sofa::core::VecId::position());
Data<MechanicalObjectRigid3::VecCoord>& dpositions = *sphereDOF->write(sofa::core::vec_id::write_access::position);
MechanicalObjectRigid3::VecCoord& positions = *dpositions.beginEdit();

//we create a frame that we will rotate like it is specified by the parameters angles and order
Expand Down Expand Up @@ -88,7 +88,7 @@ inline sofa::component::collision::geometry::SphereCollisionModel<sofa::defaultt
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv>& dvelocities = *sphereDOF->write(sofa::core::VecId::velocity());
Data<MechanicalObjectRigid3::VecDeriv>& dvelocities = *sphereDOF->write(sofa::core::vec_id::write_access::velocity);

MechanicalObjectRigid3::VecDeriv& velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down Expand Up @@ -122,7 +122,7 @@ inline sofa::component::collision::geometry::SphereCollisionModel<sofa::defaultt

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
sphereDOF->resize(1);
Data<MechanicalObject3::VecCoord>& dpositions = *sphereDOF->write(sofa::core::VecId::position());
Data<MechanicalObject3::VecCoord>& dpositions = *sphereDOF->write(sofa::core::vec_id::write_access::position);
MechanicalObject3::VecCoord& positions = *dpositions.beginEdit();

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
Expand All @@ -131,7 +131,7 @@ inline sofa::component::collision::geometry::SphereCollisionModel<sofa::defaultt
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObject3::VecDeriv>& dvelocities = *sphereDOF->write(sofa::core::VecId::velocity());
Data<MechanicalObject3::VecDeriv>& dvelocities = *sphereDOF->write(sofa::core::vec_id::write_access::velocity);

MechanicalObject3::VecDeriv& velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ BeamFEMForceField<DataTypes>::BeamFEMForceField(Real poissonRatio, Real youngMod
, m_updateStiffnessMatrix(true)
{
d_radius.setRequired(true);
m_beamsData.setOriginalData(&d_beamsData);
d_radiusInner.setRequired(true);

this->setPoissonRatio(poissonRatio);
this->setYoungModulus(youngModulus);
Expand Down
32 changes: 0 additions & 32 deletions Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,6 @@ OptionsGroup::OptionsGroup() : textItems()
selectedItem=0;
}
///////////////////////////////////////
OptionsGroup::OptionsGroup(int nbofRadioButton,...)
{
textItems.resize(nbofRadioButton);
va_list vl;
va_start(vl,nbofRadioButton);
for (auto& item : textItems)
{
const char * tempochar=va_arg(vl,char *);
assert( strcmp( tempochar, "") );
const std::string tempostring(tempochar);
item = tempostring;
}
va_end(vl);
selectedItem=0;
}
///////////////////////////////////////
OptionsGroup::OptionsGroup(const OptionsGroup & m_radiotrick) : textItems(m_radiotrick.textItems)
{
selectedItem = m_radiotrick.getSelectedId();
Expand All @@ -66,22 +50,6 @@ void OptionsGroup::setItemName(const unsigned int id_item, const std::string& na
textItems[id_item] = name;
}
///////////////////////////////////////
void OptionsGroup::setNames(int nbofRadioButton,...)
{
textItems.resize(nbofRadioButton);
va_list vl;
va_start(vl,nbofRadioButton);
for (auto& item : textItems)
{
const char * tempochar=va_arg(vl,char *);
const std::string tempostring(tempochar);
assert( strcmp( tempochar, "") );
item=tempostring;
}
va_end(vl);
selectedItem=0;
}
///////////////////////////////////////
int OptionsGroup::isInOptionsList(const std::string & tempostring) const
{
for(std::size_t i=0; i<textItems.size(); i++)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ sofa::component::collision::BulletOBBCollisionModel<sofa::defaulttype::Rigid3Typ

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
obbDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

//we create a frame that we will rotate like it is specified by the parameters angles and order
Expand All @@ -72,7 +72,7 @@ sofa::component::collision::BulletOBBCollisionModel<sofa::defaulttype::Rigid3Typ
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down Expand Up @@ -110,7 +110,7 @@ static void randTrans(Vec3 & angles,Vec3 & new_pos){
static void transMechaRigid(const Vec3 & angles,const Vec3 & new_pos,sofa::simulation::Node::SPtr & node){
MechanicalObjectRigid3* mecha = node->get<MechanicalObjectRigid3>(sofa::simulation::Node::SearchDown);

Data<MechanicalObjectRigid3::VecCoord> & dpositions = *mecha->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *mecha->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

auto & quat = positions[0].getOrientation();
Expand All @@ -131,11 +131,11 @@ struct copyBulletOBB{

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
obbDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

const MechanicalObjectRigid3 * read_mec = obb_read->getContext()->get<MechanicalObjectRigid3>();
const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::VecId::position() );
const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::vec_id::read_access::position );

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
positions[0] = (read_positions.getValue())[0];
Expand Down Expand Up @@ -174,11 +174,11 @@ struct copyBulletConvexHull{

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
cv_hullDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *cv_hullDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *cv_hullDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

const MechanicalObjectRigid3 * read_mec = obb_read->getContext()->get<MechanicalObjectRigid3>();
const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::VecId::position() );
const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::vec_id::read_access::position );

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
positions[0] = (read_positions.getValue())[0];
Expand Down Expand Up @@ -227,11 +227,11 @@ struct copyBulletConvexHull{

// //editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
// obbDOF->resize(1);
// Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
// Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
// MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

// const MechanicalObjectRigid3 * read_mec = obb_read->getContext()->get<MechanicalObjectRigid3>();
// const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::VecId::position() );
// const Data<MechanicalObjectRigid3::VecCoord> & read_positions = *read_mec->read( sofa::core::vec_id::read_access::position );

// //we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
// positions[0] = (read_positions.getValue())[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ void TBulletConvexHullModel<DataTypes>::initBullet(){

_mstate->resize(1);

Data<typename sofa::component::statecontainer::MechanicalObject<DataTypes>::VecCoord>* dpositions = _mstate->write( sofa::core::VecId::position() );
Data<typename sofa::component::statecontainer::MechanicalObject<DataTypes>::VecCoord>* dpositions = _mstate->write( sofa::core::vec_id::write_access::position );
typename sofa::component::statecontainer::MechanicalObject<DataTypes>::VecCoord & positions = *dpositions->beginEdit();

typename DataTypes::Coord one_position(_bary,Quaternion(0,0,0,1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ inline collisionobbcapsule::geometry::OBBCollisionModel<sofa::defaulttype::Rigid

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
obbDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

//we create a frame that we will rotate like it is specified by the parameters angles and order
Expand Down Expand Up @@ -86,7 +86,7 @@ inline collisionobbcapsule::geometry::OBBCollisionModel<sofa::defaulttype::Rigid
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down Expand Up @@ -122,7 +122,7 @@ inline collisionobbcapsule::geometry::CapsuleCollisionModel<sofa::defaulttype::V

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
capDOF->resize(2);
Data<MechanicalObject3::VecCoord>& dpositions = *capDOF->write(sofa::core::VecId::position());
Data<MechanicalObject3::VecCoord>& dpositions = *capDOF->write(sofa::core::vec_id::write_access::position);
MechanicalObject3::VecCoord& positions = *dpositions.beginEdit();

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
Expand All @@ -132,7 +132,7 @@ inline collisionobbcapsule::geometry::CapsuleCollisionModel<sofa::defaulttype::V
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObject3::VecDeriv>& dvelocities = *capDOF->write(sofa::core::VecId::velocity());
Data<MechanicalObject3::VecDeriv>& dvelocities = *capDOF->write(sofa::core::vec_id::write_access::velocity);

MechanicalObject3::VecDeriv& velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,15 +96,15 @@ sofa::component::collision::geometry::SphereCollisionModel<sofa::defaulttype::Ri

//editing DOF related to the SphereCollisionModel<sofa::defaulttype::Vec3Types> to be created, size is 1 because it contains just one Sphere
sphDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *sphDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *sphDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

positions[0] = Rigid3Types::Coord(center,Quat<SReal>(0,0,0,1));

dpositions.endEdit();

//Editing the velocity of the Sphere
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *sphDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *sphDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,11 @@ void randMoving(sofa::core::CollisionModel* cm,const Vector3 & min_vect,const Ve
sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Types> * obbm = dynamic_cast<sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Types>*>(cm->getLast());
MechanicalObjectRigid3* dof = dynamic_cast<MechanicalObjectRigid3*>(obbm->getMechanicalState());

Data<MechanicalObjectRigid3::VecCoord> & dpositions = *dof->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *dof->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *dof->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *dof->write( sofa::core::vec_id::write_access::velocity );
MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();

for(size_t i = 0 ; i < dof->getSize() ; ++i){
Expand Down Expand Up @@ -409,7 +409,7 @@ sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Types>::S

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
obbDOF->resize(n);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

for(int i = 0 ; i < n ; ++i)
Expand All @@ -418,7 +418,7 @@ sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Types>::S
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
for(int i = 0 ; i < n ; ++i)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ inline sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Ty

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
obbDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *obbDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

//we create a frame that we will rotate like it is specified by the parameters angles and order
Expand Down Expand Up @@ -85,7 +85,7 @@ inline sofa::component::collision::OBBCollisionModel<sofa::defaulttype::Rigid3Ty
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *obbDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down Expand Up @@ -121,7 +121,7 @@ inline sofa::component::collision::CapsuleCollisionModel<sofa::defaulttype::Vec3

//editing DOF related to the OBBCollisionModel<sofa::defaulttype::Rigid3Types> to be created, size is 1 because it contains just one OBB
capDOF->resize(2);
Data<MechanicalObject3::VecCoord>& dpositions = *capDOF->write(sofa::core::VecId::position());
Data<MechanicalObject3::VecCoord>& dpositions = *capDOF->write(sofa::core::vec_id::write_access::position);
MechanicalObject3::VecCoord& positions = *dpositions.beginEdit();

//we finnaly edit the positions by filling it with a RigidCoord made up from p and the rotated fram x,y,z
Expand All @@ -131,7 +131,7 @@ inline sofa::component::collision::CapsuleCollisionModel<sofa::defaulttype::Vec3
dpositions.endEdit();

//Editing the velocity of the OBB
Data<MechanicalObject3::VecDeriv>& dvelocities = *capDOF->write(sofa::core::VecId::velocity());
Data<MechanicalObject3::VecDeriv>& dvelocities = *capDOF->write(sofa::core::vec_id::write_access::velocity);

MechanicalObject3::VecDeriv& velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,15 @@ sofa::component::collision::SphereCollisionModel<sofa::defaulttype::Rigid3Types>

//editing DOF related to the SphereCollisionModel<sofa::defaulttype::Vec3Types> to be created, size is 1 because it contains just one Sphere
sphDOF->resize(1);
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *sphDOF->write( sofa::core::VecId::position() );
Data<MechanicalObjectRigid3::VecCoord> & dpositions = *sphDOF->write( sofa::core::vec_id::write_access::position );
MechanicalObjectRigid3::VecCoord & positions = *dpositions.beginEdit();

positions[0] = Rigid3Types::Coord(center,Quaternion(0,0,0,1));

dpositions.endEdit();

//Editing the velocity of the Sphere
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *sphDOF->write( sofa::core::VecId::velocity() );
Data<MechanicalObjectRigid3::VecDeriv> & dvelocities = *sphDOF->write( sofa::core::vec_id::write_access::velocity );

MechanicalObjectRigid3::VecDeriv & velocities = *dvelocities.beginEdit();
velocities[0] = v;
Expand Down
Loading

0 comments on commit 3804579

Please sign in to comment.