57 lines
1.4 KiB
C++
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;
|
|
} |