Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -400,12 +400,12 @@ void ConstraintAnimationLoop::writeAndAccumulateAndCountConstraintDirections(con
MechanicalResetConstraintVisitor(&cparams).execute(context);

// calling applyConstraint on each constraint
MechanicalSetConstraint(&cparams, core::vec_id::write_access::constraintJacobian, numConstraints).execute(context);
sofa::simulation::mechanicalvisitor::MechanicalBuildConstraintMatrix(&cparams, core::vec_id::write_access::constraintJacobian, numConstraints).execute(context);

sofa::helper::AdvancedTimer::valSet("numConstraints", numConstraints);

// calling accumulateConstraint on the mappings
MechanicalAccumulateConstraint2(&cparams, core::vec_id::write_access::constraintJacobian).execute(context);
sofa::simulation::mechanicalvisitor::MechanicalAccumulateMatrixDeriv(&cparams, core::vec_id::write_access::constraintJacobian).execute(context);

getCP()->clear(numConstraints,this->d_tol.getValue());
}
Expand All @@ -426,7 +426,7 @@ void ConstraintAnimationLoop::getIndividualConstraintSolvingProcess(const core::
cparams.setX(core::vec_id::read_access::freePosition);
cparams.setV(core::vec_id::read_access::freeVelocity);

MechanicalGetConstraintResolutionVisitor(&cparams, getCP()->getConstraintResolutions(), 0).execute(context);
sofa::component::constraint::lagrangian::solver::MechanicalGetConstraintResolutionVisitor(&cparams, getCP()->getConstraintResolutions(), 0).execute(context);
}

void ConstraintAnimationLoop::computeComplianceInConstraintSpace()
Expand Down
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
2 changes: 1 addition & 1 deletion Sofa/framework/Helper/src/sofa/helper/Utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ const std::string& Utils::getUserLocalDirectory()
CoTaskMemFree(path);
}

return Utils::narrowString(wresult);
return sofa::helper::narrowString(wresult);

#elif defined(__APPLE__) // macOS : ${HOME}/Library/Application Support
// https://stackoverflow.com/questions/5123361/finding-library-application-support-from-c
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
10 changes: 5 additions & 5 deletions applications/plugins/SofaAssimp/SceneColladaLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include <sofa/component/mapping/linear/SkinningMapping.h>
#include <sofa/component/mapping/linear/BarycentricMapping.h>
#include <sofa/component/mapping/linear/IdentityMapping.h>
#include <sofa/component/constraint/projective/FixedConstraint.h>
#include <sofa/component/constraint/projective/FixedProjectiveConstraint.h>
#include <sofa/component/constraint/projective/SkeletalMotionProjectiveConstraint.h>
#include <sofa/core/visual/VisualParams.h>
#include <sofa/helper/system/SetDirectory.h>
Expand Down Expand Up @@ -291,7 +291,7 @@ bool SceneColladaLoader::readDAE (std::ifstream &/*file*/, const char* /*filenam
currentBoneMechanicalObject->resize(currentAiMesh->mNumBones);

{
Data<Rigid3Types::VecCoord>* d_x = currentBoneMechanicalObject->write(core::VecCoordId::position());
Data<Rigid3Types::VecCoord>* d_x = currentBoneMechanicalObject->write(core::vec_id::write_access::position);
Rigid3Types::VecCoord &x = *d_x->beginEdit();
for(unsigned int k = 0; k < currentAiMesh->mNumBones; ++k)
{
Expand Down Expand Up @@ -370,7 +370,7 @@ bool SceneColladaLoader::readDAE (std::ifstream &/*file*/, const char* /*filenam
currentBoneMechanicalObject->resize(1);

{
Data<type::vector<Rigid3Types::Coord> >* d_x = currentBoneMechanicalObject->write(core::VecCoordId::position());
Data<type::vector<Rigid3Types::Coord> >* d_x = currentBoneMechanicalObject->write(core::vec_id::write_access::position);
type::vector<Rigid3Types::Coord> &x = *d_x->beginEdit();

Vec3d boneTranslation(0.0, 0.0, 0.0);
Expand All @@ -393,7 +393,7 @@ bool SceneColladaLoader::readDAE (std::ifstream &/*file*/, const char* /*filenam
currentUniformMass->setName(nameStream.str());
}

FixedConstraint<Rigid3Types>::SPtr currentFixedConstraint = sofa::core::objectmodel::New<FixedConstraint<Rigid3Types> >();
FixedProjectiveConstraint<Rigid3Types>::SPtr currentFixedConstraint = sofa::core::objectmodel::New<FixedProjectiveConstraint<Rigid3Types> >();
{
// adding the generated FixedConstraint to its parent Node
currentSubNode->addObject(currentFixedConstraint);
Expand Down Expand Up @@ -448,7 +448,7 @@ bool SceneColladaLoader::readDAE (std::ifstream &/*file*/, const char* /*filenam
currentMechanicalObject->resize(vertexMap.size());

{
Data<type::vector<Vec3Types::Coord> >* d_x = currentMechanicalObject->write(core::VecCoordId::position());
Data<type::vector<Vec3Types::Coord> >* d_x = currentMechanicalObject->write(core::vec_id::write_access::position);
type::vector<Vec3Types::Coord> &x = *d_x->beginEdit();
for( std::map<Vec3d,unsigned>::iterator it=vertexMap.begin() , itend=vertexMap.end() ; it!=itend ; ++it )
x[it->second] = it->first;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ void ParticlesRepulsionForceField<gpu::cuda::CudaVec3fTypes>::addDForce(const co
Real kFactor = (Real)sofa::core::mechanicalparams::kFactorIncludingRayleighDamping(mparams,this->rayleighStiffness.getValue());
Real bFactor = (Real)sofa::core::mechanicalparams::bFactor(mparams);

const VecCoord& x = this->mstate->read(core::ConstVecCoordId::position())->getValue();
const VecCoord& x = this->mstate->read(sofa::core::vec_id::read_access::position)->getValue();
GPURepulsion3f repulsion;
repulsion.d = distance.getValue();
repulsion.d2 = repulsion.d*repulsion.d;
Expand Down Expand Up @@ -142,7 +142,7 @@ void ParticlesRepulsionForceField<gpu::cuda::CudaVec3dTypes>::addDForce(const co
Real kFactor = (Real)sofa::core::mechanicalparams::kFactorIncludingRayleighDamping(mparams,this->rayleighStiffness.getValue());
Real bFactor = (Real)sofa::core::mechanicalparams::bFactor(mparams);

const VecCoord& x = this->mstate->read(core::ConstVecCoordId::position())->getValue();
const VecCoord& x = this->mstate->read(sofa::core::vec_id::read_access::position)->getValue();
GPURepulsion3d repulsion;
repulsion.d = distance.getValue();
repulsion.d2 = repulsion.d*repulsion.d;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ void SPHFluidForceField<gpu::cuda::CudaVec3fTypes>::draw(const core::visual::Vis
if (!vparams->displayFlags().getShowForceFields()) return;
//if (m_grid != NULL)
// grid->draw(vparams);
helper::ReadAccessor<VecCoord> x = this->mstate->read(core::ConstVecCoordId::position())->getValue();
helper::ReadAccessor<VecCoord> x = this->mstate->read(sofa::core::vec_id::read_access::position)->getValue();
helper::ReadAccessor<gpu::cuda::CudaVector<type::Vec4f> > pos4 = this->data.pos4;
if (pos4.empty()) return;
glDisable(GL_LIGHTING);
Expand Down
Loading
Loading