Cmake gtest (#79)

* Check rackpin and gear for zero radii

* rebase zero-radii-check (#69)

* contributing

* Update push-freecad.yml

updated actions/checkout to v4

* dragging log for debugging

* fix calcdxNorm crash

* setDebug and remove MBDyn*

* Update cmakelists.txt

* fix includes for gcc-14

gcc-14 is more disciplined about not including <algorithm> transitively.

* fix runDragStep

* backhoe files (#65)

* Mark unused variables to silence compiler warnings. (#64)

* Backhoe issues (#67)

* backhoe issues

* runDragStep edit

* backhoe issues

* runDragStep edit

* Reduce large drag step progressively until convergence.

* Switch to using built-in M_PI, even on MSVC (#68)

---------

Co-authored-by: Brad Collette <bradcollette@pop-os.localdomain>
Co-authored-by: mosfet80 <realeandrea@yahoo.it>
Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* in progress

* Gtest added

* With changes from Assembly

* WinMerge main and this branch

* Add flag for GTest

* Flag to suppress OndselSolverMain

* rebase zero-radii-check (#69)

* contributing

* Update push-freecad.yml

updated actions/checkout to v4

* dragging log for debugging

* fix calcdxNorm crash

* setDebug and remove MBDyn*

* Update cmakelists.txt

* fix includes for gcc-14

gcc-14 is more disciplined about not including <algorithm> transitively.

* fix runDragStep

* backhoe files (#65)

* Mark unused variables to silence compiler warnings. (#64)

* Backhoe issues (#67)

* backhoe issues

* runDragStep edit

* backhoe issues

* runDragStep edit

* Reduce large drag step progressively until convergence.

* Switch to using built-in M_PI, even on MSVC (#68)

---------

Co-authored-by: Brad Collette <bradcollette@pop-os.localdomain>
Co-authored-by: mosfet80 <realeandrea@yahoo.it>
Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* in progress

* Gtest added

* With changes from Assembly

* Add flag for GTest

* Flag to suppress OndselSolverMain

---------

Co-authored-by: Brad Collette <bradcollette@pop-os.localdomain>
Co-authored-by: mosfet80 <realeandrea@yahoo.it>
Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
This commit is contained in:
aiksiongkoh
2024-08-30 15:19:30 -06:00
committed by GitHub
parent 20845a39cc
commit 6bf651cd31
17 changed files with 200 additions and 29 deletions

View File

@@ -360,6 +360,26 @@ ASMTSpatialContainer* MbD::ASMTSpatialContainer::partOrAssembly()
return this;
}
void MbD::ASMTSpatialContainer::updateForFrame(size_t index)
{
position3D = getPosition3D(index);
rotationMatrix = getRotationMatrix(index);
velocity3D = getVelocity3D(index);
omega3D = getOmega3D(index);
acceleration3D = getAcceleration3D(index);
alpha3D = getAlpha3D(index);
}
void MbD::ASMTSpatialContainer::updateFromInitiallyAssembledState()
{
}
void MbD::ASMTSpatialContainer::updateFromInputState()
{
}
void MbD::ASMTSpatialContainer::updateFromMbD()
{
auto mbdUnts = mbdUnits();
@@ -372,6 +392,7 @@ void MbD::ASMTSpatialContainer::updateFromMbD()
omega3D = omeOPO;
auto aOcmO = mbdPart->qXddot()->times(mbdUnts->acceleration);
auto alpOPO = mbdPart->alpOpO()->times(mbdUnts->alpha);
alpha3D = alpOPO;
auto& rPcmP = principalMassMarker->position3D;
auto& aAPp = principalMassMarker->rotationMatrix;
auto aAOP = aAOp->timesTransposeFullMatrix(aAPp);
@@ -384,7 +405,8 @@ void MbD::ASMTSpatialContainer::updateFromMbD()
auto vOPO = vOcmO->minusFullColumn(omeOPO->cross(rPcmO));
velocity3D = vOPO;
auto aOPO = aOcmO->minusFullColumn(alpOPO->cross(rPcmO))->minusFullColumn(omeOPO->cross(omeOPO->cross(rPcmO)));
xs->push_back(rOPO->at(0));
acceleration3D = aOPO;
xs->push_back(rOPO->at(0));
ys->push_back(rOPO->at(1));
zs->push_back(rOPO->at(2));
auto bryantAngles = aAOP->bryantAngles();
@@ -764,3 +786,21 @@ FColDsptr MbD::ASMTSpatialContainer::getOmega3D(size_t i)
vec3->atiput(2, omezs->at(i));
return vec3;
}
FColDsptr MbD::ASMTSpatialContainer::getAcceleration3D(size_t i)
{
auto vec3 = std::make_shared<FullColumn<double>>(3);
vec3->atiput(0, axs->at(i));
vec3->atiput(1, ays->at(i));
vec3->atiput(2, azs->at(i));
return vec3;
}
FColDsptr MbD::ASMTSpatialContainer::getAlpha3D(size_t i)
{
auto vec3 = std::make_shared<FullColumn<double>>(3);
vec3->atiput(0, alpxs->at(i));
vec3->atiput(1, alpys->at(i));
vec3->atiput(2, alpzs->at(i));
return vec3;
}