runPosIC, initializeGlobally

This commit is contained in:
Aik-Siong Koh
2023-05-27 21:43:09 -06:00
parent 6a577c052c
commit 9ddbdca742
139 changed files with 2401 additions and 431 deletions

View File

@@ -2,6 +2,8 @@
#include "Joint.h"
#include "Constraint.h"
#include "EndFrameqc.h"
#include "EndFrameqct.h"
using namespace MbD;
@@ -26,6 +28,12 @@ void Joint::connectsItoJ(EndFrmcptr frmi, EndFrmcptr frmj)
void Joint::initializeLocally()
{
auto frmIqc = std::dynamic_pointer_cast<EndFrameqc>(frmI);
if (frmIqc) {
if (frmIqc->endFrameqct) {
frmI = frmIqc->endFrameqct;
}
}
std::for_each(constraints->begin(), constraints->end(), [](const auto& constraint) { constraint->initializeLocally(); });
}
@@ -43,3 +51,8 @@ void MbD::Joint::addConstraint(std::shared_ptr<Constraint> con)
con->setOwner(this);
constraints->push_back(con);
}
void MbD::Joint::prePosIC()
{
std::for_each(constraints->begin(), constraints->end(), [](const auto& constraint) { constraint->prePosIC(); });
}