Program Listing for File MechanizationOptions.hpp

Return to documentation for file (src/navtk/inertial/MechanizationOptions.hpp)

#pragma once

#include <navtk/navutils/gravity.hpp>

namespace navtk {
namespace inertial {

enum class IntegrationMethods {
    RECTANGULAR,

    TRAPEZOIDAL,

    SIMPSONS_RULE
};

enum class DcmIntegrationMethods {
    FIRST_ORDER,

    SIXTH_ORDER,

    EXPONENTIAL
};

enum class EarthModels {
    ELLIPTICAL,

    SPHERICAL
};

struct MechanizationOptions {
    navutils::GravModels grav_model = navutils::GravModels::SCHWARTZ;
    EarthModels earth_model = EarthModels::ELLIPTICAL;
    DcmIntegrationMethods dcm_method = DcmIntegrationMethods::SIXTH_ORDER;
    IntegrationMethods int_method = IntegrationMethods::TRAPEZOIDAL;
};

}  // namespace inertial
}  // namespace navtk