new branch: working

This commit is contained in:
Aik-Siong Koh
2023-05-09 12:50:36 -06:00
parent d5ac041906
commit 9ddca433a1
67 changed files with 865 additions and 190 deletions

View File

@@ -1,7 +1,10 @@
#include<algorithm>
#include "PartFrame.h"
#include "MarkerFrame.h"
#include "EndFramec.h"
#include "EndFrameqc.h"
#include "EulerParameters.h"
using namespace MbD;
@@ -10,13 +13,17 @@ MarkerFrame::MarkerFrame()
initialize();
}
MbD::MarkerFrame::MarkerFrame(const char* str) : CartesianFrame(str) {
MarkerFrame::MarkerFrame(const char* str) : CartesianFrame(str) {
initialize();
}
void MbD::MarkerFrame::initialize()
void MarkerFrame::initialize()
{
partFrame = nullptr;
//prOmOpE: = StMFullMatrix new : 3 by : 4.
//pAOmpE : = StMFullColumn new : 4.
//endFrames : = OrderedCollection new
prOmOpE = std::make_shared<FullMatrix<double>>(3, 4);
pAOmpE = std::make_unique<FullColumn<FullMatrix<double>>>(4);
endFrames = std::make_unique<std::vector<std::shared_ptr<EndFramec>>>();
auto endFrm = std::make_shared<EndFrameqc>("EndFrame1");
this->addEndFrame(endFrm);
@@ -31,12 +38,12 @@ PartFrame* MarkerFrame::getPartFrame() {
return partFrame;
}
void MarkerFrame::setrpmp(FullColDptr x)
void MarkerFrame::setrpmp(FColDsptr x)
{
rpmp->copy(x);
}
void MarkerFrame::setaApm(FullMatDptr x)
void MarkerFrame::setaApm(FMatDsptr x)
{
aApm->copy(x);
}
@@ -45,3 +52,14 @@ void MarkerFrame::addEndFrame(std::shared_ptr<EndFramec> endFrm)
endFrm->setMarkerFrame(this);
endFrames->push_back(endFrm);
}
void MarkerFrame::initializeLocally()
{
pprOmOpEpE = EulerParameters::ppApEpEtimesColumn(rpmp);
ppAOmpEpE = EulerParameters::ppApEpEtimesMatrix(aApm);
std::for_each(endFrames->begin(), endFrames->end(), [](const auto& endFrame) { endFrame->initializeLocally(); });
}
void MarkerFrame::initializeGlobally()
{
}