// src/Airframe.cpp

#include "Airframe.h"

// Constructor
Airframe::Airframe(const std::string& name,
                   double length,
                   double diameter,
                   double dryMass,
                   double dragCoefficient)
    : name_(name),
      length_(length),
      diameter_(diameter),
      dryMass_(dryMass),
      dragCoefficient_(dragCoefficient)
{}

// Public Methods

double Airframe::getLength() const {
    return length_;
}

double Airframe::getDiameter() const {
    return diameter_;
}

double Airframe::getDryMass() const {
    return dryMass_;
}

double Airframe::getDragCoefficient() const {
    return dragCoefficient_;
}

double Airframe::getReferenceArea() const {
    // Reference area for drag force = ? * (d/2)^2
    const double radius = diameter_ / 2.0;
    return 3.14159265358979323846 * radius * radius;
}

const std::string& Airframe::getName() const {
    return name_;
}
