RoboidControl-cpp/Propulsion.cpp
2023-12-29 10:41:28 +01:00

57 lines
1.4 KiB
C++

#include "Propulsion.h"
#include "FloatSingle.h"
Propulsion::Propulsion() {
this->placement = nullptr;
this->motorCount = 0;
}
unsigned int Propulsion::GetMotorCount() { return this->motorCount; }
Motor *Propulsion::GetMotor(unsigned int motorId) {
if (motorId >= this->motorCount)
return nullptr;
Thing *thing = this->placement[motorId].thing;
if (thing->IsMotor())
return (Motor *)thing;
return nullptr;
}
Placement *Propulsion::GetMotorPlacement(unsigned int motorId) {
if (motorId >= this->motorCount)
return nullptr;
Placement *placement = &this->placement[motorId];
if (placement->thing->IsMotor())
return placement;
return nullptr;
}
void Propulsion::Update(float currentTimeMs) {}
void Propulsion::SetTwistSpeed(float forward, float yaw) {}
void Propulsion::SetTwistSpeed(Vector2 linear, float yaw) {}
void Propulsion::SetTwistSpeed(Vector3 linear, float yaw, float pitch,
float roll) {}
Polar Propulsion::GetVelocity() { return Polar(0, 0); }
float Propulsion::GetAngularVelocity() { return 0; }
Vector3 Propulsion::GetPosition() { return this->worldPosition; }
Quaternion Propulsion::GetOrientation() { return Quaternion::identity; }
void Propulsion::SetPosition(Vector3 worldPosition) {
this->worldPosition = worldPosition;
}
void Propulsion::SetOrientation(Quaternion worldOrientation) {
this->worldOrientation = worldOrientation;
}