#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; }