#ifndef ROCKET_H #define ROCKET_H #include "sim/Propagator.h" #include "model/Thrustcurve.h" #include // std::move #include class Rocket { public: Rocket(); void launch(); const std::vector>>& getStates() const { return propagator.getStates(); } void setInitialState(const std::vector& initState) { propagator.setInitialState(initState); } double getMass() const { return mass; } void setMass(double m) { mass = m;} void setDragCoefficient(double d) { dragCoeff = d; } double getDragCoefficient() const { return dragCoeff; } double getThrust(double t); void setThrustCurve(const Thrustcurve& curve); bool terminateCondition(const std::pair>& cond); private: sim::Propagator propagator; double dragCoeff; double mass; Thrustcurve tc; }; #endif // ROCKET_H