Files
solver/OndselSolver/MBDynAxialRotationJoint.cpp
2024-04-03 08:56:40 +02:00

40 lines
1.3 KiB
C++

/***************************************************************************
* Copyright (c) 2023 Ondsel, Inc. *
* *
* This file is part of OndselSolver. *
* *
* See LICENSE file for details about copyright. *
***************************************************************************/
#include "MBDynAxialRotationJoint.h"
#include "ASMTAssembly.h"
#include "ASMTRevoluteJoint.h"
#include "ASMTRotationalMotion.h"
using namespace MbD;
void MbD::MBDynAxialRotationJoint::parseMBDyn(std::string line)
{
MBDynJoint::parseMBDyn(line);
readFunction(arguments);
}
void MbD::MBDynAxialRotationJoint::createASMT()
{
MBDynJoint::createASMT();
auto asmtAsm = asmtAssembly();
asmtMotion = ASMTRotationalMotion::With();
asmtMotion->setName(name + "Motion");
asmtMotion->setMotionJoint(asmtItem->fullName(""));
asmtMotion->setRotationZ(asmtFormulaIntegral());
asmtAsm->addMotion(asmtMotion);
return;
}
std::shared_ptr<ASMTJoint> MbD::MBDynAxialRotationJoint::asmtClassNew()
{
auto joint = ASMTRevoluteJoint::With();
joint->initialize();
return joint;
}