Files
solver/MbDCode/DirectionCosineIeqctJeqc.cpp
Aik-Siong Koh 371b13a9e0 runVelIC
2023-06-18 01:06:39 -06:00

47 lines
1.2 KiB
C++

#include "DirectionCosineIeqctJeqc.h"
#include "EndFrameqc.h"
#include "EndFrameqct.h"
using namespace MbD;
DirectionCosineIeqctJeqc::DirectionCosineIeqctJeqc()
{
}
DirectionCosineIeqctJeqc::DirectionCosineIeqctJeqc(EndFrmcptr frmi, EndFrmcptr frmj, int axisi, int axisj) :
DirectionCosineIeqcJeqc(frmi, frmj, axisi, axisj)
{
}
void DirectionCosineIeqctJeqc::initialize()
{
DirectionCosineIeqcJeqc::initialize();
ppAijIeJepEIpt = std::make_shared<FullRow<double>>(4);
ppAijIeJepEJpt = std::make_shared<FullRow<double>>(4);
}
void MbD::DirectionCosineIeqctJeqc::initializeGlobally()
{
ppAjOJepEJpEJ = std::static_pointer_cast<EndFrameqc>(frmJ)->ppAjOepEpE(axisJ);
}
void MbD::DirectionCosineIeqctJeqc::calcPostDynCorrectorIteration()
{
//"ppAjOIepEIpEI is not longer constant and must be set before any calculation."
ppAjOIepEIpEI = std::static_pointer_cast<EndFrameqc>(frmI)->ppAjOepEpE(axisI);
DirectionCosineIeqcJeqc::calcPostDynCorrectorIteration();
}
void MbD::DirectionCosineIeqctJeqc::preVelIC()
{
Item::preVelIC();
auto pAjOIept = std::static_pointer_cast<EndFrameqct>(frmI)->pAjOept(axisI);
pAijIeJept = pAjOIept->dot(aAjOJe);
}
double MbD::DirectionCosineIeqctJeqc::pvaluept()
{
return pAijIeJept;
}