.. _program_listing_file_data_crater_data.h: Program Listing for File crater_data.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``data/crater_data.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include #include namespace lupnt { struct Crater { double lat; double lon; double diam_major; double diam_minor; double angle; std::string id; }; class CraterDataLoader { public: static std::vector LoadCraters(const std::string& filename = "lunar_crater_database_robbins_2018.csv", const std::pair* latlims = nullptr, const std::pair* longlims = nullptr, const std::pair& diamlims = {0.0, 500.0}, const double ellipse_limit = 1.5, const double arc_lims = 0.0); static void ExtractRobbinsDataset(const std::vector& craters, Eigen::VectorXd& lat, Eigen::VectorXd& lon, Eigen::VectorXd& major, Eigen::VectorXd& minor, Eigen::VectorXd& psi, std::vector& crater_id, bool radians = true); }; } // namespace lupnt