10#ifndef _PATH_CSV_PARSER_HPP
11#define _PATH_CSV_PARSER_HPP
38 std::cout <<
" catmull_rom: " <<
catmull_rom << std::endl;
43 std::cout <<
" timeout_sec: " <<
timeout_sec << std::endl;
44 std::cout << std::endl;
65 const double x,
const double y,
const double z,
const int z_mode,
const double roll,
73 std::cout <<
" x:" << std::right << std::setw(7) << std::fixed << std::setprecision(2) <<
x;
74 std::cout <<
" y:" << std::right << std::setw(7) << std::fixed << std::setprecision(2) <<
y;
75 std::cout <<
" z:" << std::right << std::setw(7) << std::fixed << std::setprecision(2) <<
z;
76 std::cout <<
" z_mode:" << std::right << std::setw(2) <<
z_mode;
77 std::cout <<
" roll:" << std::right << std::setw(8) << std::fixed << std::setprecision(2)
79 std::cout <<
" yaw:" << std::right << std::setw(8) << std::fixed << std::setprecision(2)
81 std::cout <<
" wait_ms:" << std::right << std::setw(8) << std::fixed << std::setprecision(0)
83 std::cout <<
" fine:" << std::right << std::setw(6) << (
fine ?
"true" :
"false");
84 std::cout << std::endl;
89const std::array<std::string, NUM_CSV_COLUMNS>
csv_header = {
118 std::array<std::string, NUM_CSV_COLUMNS> header =
csv_header;
120 std::vector<PoseData> checkpoints_;
121 std::vector<PoseData> catmulls_;
129 const std::vector<PoseData> &
get_catmulls()
const {
return catmulls_; }
139 std::shared_ptr<PathData> data_;
142 double stod_strict(
const std::string & s,
const std::string & context);
143 int stoi_strict(
const std::string & s,
const std::string & context);
144 bool stob_strict(
const std::string & s,
const std::string & context);
146 bool is_allNonEmpty(std::vector<std::string> vec);
155 void parse(
const std::string & csv_path);
161 const std::shared_ptr<PathData>
get_data()
const {
return data_; }
Definition: path_csv_loader.hpp:25
bool catmull_orient_LERP
Definition: path_csv_loader.hpp:32
size_t checkpoint_end_row
Definition: path_csv_loader.hpp:27
void print() const
Definition: path_csv_loader.hpp:35
int timeout_sec
Definition: path_csv_loader.hpp:33
bool catmull_rom
Definition: path_csv_loader.hpp:28
size_t catmull_end_row
Definition: path_csv_loader.hpp:29
int catmull_density
Definition: path_csv_loader.hpp:30
double catmull_min_distance
Definition: path_csv_loader.hpp:31
load and parse csv file with path
Definition: path_csv_loader.hpp:137
PathCsvLoader()
Definition: path_csv_loader.cpp:22
const std::shared_ptr< PathData > get_data() const
パースしたデータを取得する
Definition: path_csv_loader.hpp:161
void parse(const std::string &csv_path)
CSVファイルをパースする
Definition: path_csv_loader.cpp:65
Definition: path_csv_loader.hpp:116
const std::vector< PoseData > & get_catmulls() const
Definition: path_csv_loader.hpp:129
const std::vector< PoseData > & get_checkpoints() const
Definition: path_csv_loader.hpp:128
const ParamData & get_params() const
Definition: path_csv_loader.hpp:127
Definition: path_csv_loader.hpp:53
double z
Definition: path_csv_loader.hpp:57
bool fine
Definition: path_csv_loader.hpp:62
PoseData(const double x, const double y, const double z, const int z_mode, const double roll, const double yaw, const double wait_ms, const bool fine=false)
Definition: path_csv_loader.hpp:64
double y
Definition: path_csv_loader.hpp:56
double x
Definition: path_csv_loader.hpp:55
double yaw
Definition: path_csv_loader.hpp:60
int z_mode
Definition: path_csv_loader.hpp:58
double roll
Definition: path_csv_loader.hpp:59
void print() const
Definition: path_csv_loader.hpp:71
double wait_ms
Definition: path_csv_loader.hpp:61
Definition: path_csv_loader.hpp:22
const size_t NUM_CSV_COLUMNS
Definition: path_csv_loader.hpp:88
const std::array< std::string, NUM_CSV_COLUMNS > csv_header
Definition: path_csv_loader.hpp:89