/*************************************************************************** * Copyright (c) 2023 Ondsel, Inc. * * * * This file is part of OndselSolver. * * * * See LICENSE file for details about copyright. * ***************************************************************************/ #include #include "ASMTTime.h" #include "Time.h" #include "Constant.h" #include "Product.h" using namespace MbD; void MbD::ASMTTime::deleteMbD() { xx = nullptr; expression = nullptr; } void MbD::ASMTTime::createMbD(std::shared_ptr mbdSys, std::shared_ptr mbdUnits) { auto mbdTime = mbdSys->time; if (xx == mbdTime) return; auto timeScale = sptrConstant(mbdUnits->time); auto geoTime = std::make_shared(timeScale, mbdTime); this->xexpression(mbdTime, geoTime->simplified(geoTime)); } Symsptr MbD::ASMTTime::expandUntil(Symsptr sptr, std::shared_ptr>) { return sptr; } Symsptr MbD::ASMTTime::simplifyUntil(Symsptr sptr, std::shared_ptr>) { return sptr; } bool MbD::ASMTTime::isVariable() { return true; } void MbD::ASMTTime::setValue(double val) { xx->setValue(val); }