8#ifndef DESIGNLAB_APPLICATION_SETTING_RECORD_H_
9#define DESIGNLAB_APPLICATION_SETTING_RECORD_H_
66 const std::vector<std::string> kFileDescription = {
67 "If this file is garbled, "
68 "the problem is most likely due to character encoding.",
69 "This file is written in utf - 8, and can be read by installing VS Code "
71 "configuring it to automatically detect the character encoding.",
72 "This file is written in the TOML format. "
73 "Just google it and you'll find easy "
74 "to understand information on the wiki, so try looking it up.",
75 "This file is a file for describing program settings.",
76 "This file can also be edited with a text editor such as Notepad.",
77 "If you want to change the simulation conditions, "
78 "try changing them from here."
79 "Lines starting with a sharp are comments. They do not affect the "
85 "Verion",
"The order is major.minor.patch.",
"Mode",
86 "Setting the mode in which the program is to be run",
"Output",
87 "Program output settings.");
94 ask_about_modes,
"Mode",
95 "Ask the user about the run mode at startup. ( true / false )");
98 std::format(
"Sets the default run mode at startup. ( \"{}\" )",
101 do_step_execution_each_simulation,
"Mode",
102 "Ask if you want to continue with each simulation. ( true / false )");
104 do_step_execution_each_gait,
"Mode",
105 "Ask if you want to continue with each move. ( true / false )");
108 do_cmd_output,
"Output",
109 "Output characters to the command line. ( true / false )");
111 cmd_output_detail,
"Output",
112 std::format(
"How much output is allowed on the command line. ( \"{}\" )",
115 "Display GUI. ( true / false )");
117 gui_display_quality,
"Output",
118 std::format(
"GUI Image Quality.( \"{}\" )",
121 window_size_x,
"Output",
122 std::format(
"Sets the width of the GUI. The range is from {} to {}. "
123 "The recommended value is 1600.",
127 window_size_y,
"Output",
128 std::format(
"Sets the height of the GUI. The range is from {} to {}. "
129 "The recommended value is 900.",
133 window_fps,
"Output",
134 std::format(
"Sets FPS. The range is from {} to {}. "
135 "The recommended value is 60.",
143 version_minor, version_patch, ask_about_modes,
144 default_mode, do_step_execution_each_simulation,
145 do_step_execution_each_gait, do_cmd_output,
146 cmd_output_detail, do_gui_display,
147 gui_display_quality, window_size_x, window_size_y,
std::string EnumValuesToString(const std::string separator)
enum型を渡すと,その要素を列挙した文字列を返す関数.
@ kSimulation
シミュレーションモード.
OutputDetail
コマンドラインに文字を出力する際に,その詳細を指定するための列挙体.
DisplayQuality
描画の品質設定を示す列挙体.
static constexpr int kFpsMin
static constexpr int kWindowHeightMin
int window_size_x
グラフィカルウィンドウの横幅.
bool ask_about_modes
起動時にモード選択の確認をするかどうか.
bool do_gui_display
GUIを表示するかどうか.
bool do_step_execution_each_simulation
1シミュレーションごとにステップ実行をするかどうか.
static constexpr int kFpsMax
int window_fps
グラフィカルウィンドウのFPS.
int window_size_y
グラフィカルウィンドウの縦幅.
bool do_step_execution_each_gait
1動作ごとにステップ実行をするかどうか.
static constexpr int kWindowHeightMax
OutputDetail cmd_output_detail
コマンドラインに出力する際,どこまで許可するか.
static constexpr int kWindowWidthMax
int version_major
バージョン番号(メジャー)
static constexpr int kWindowWidthMin
BootMode default_mode
デフォルトの起動モード.
int version_patch
バージョン番号(パッチ)
bool do_cmd_output
コマンドラインに出力するかどうか.
DisplayQuality gui_display_quality
GUIを表示する際,どこまで許可するか.
int version_minor
バージョン番号(マイナー)
#define DESIGNLAB_TOML11_SERIALIZE(NAME,...)
tomlファイルのシリアライズ/デシリアライズを行うためのマクロ. TOML11_DEFINE_CONVERSION_NON_INTRUSIVEをラッパしたもの....
#define DESIGNLAB_TOML11_DESCRIPTION_CLASS(CLASS)
tomlファイルに説明を追加するためのクラスの宣言を行うためのマクロ.
#define DESIGNLAB_TOML11_VARIABLE_ADD_DESCRIPTION(VARIABLE, TABLE, DESCRIPTION)
tomlファイルに変数とファイルの説明を追加するためのマクロ.
#define DESIGNLAB_TOML11_TABLE_ADD_DESCRIPTION(...)
tomlファイルにテーブルの説明を追加するためのマクロ. DESIGNLAB_TOML11_DESCRIPTION_CLASS内に必ず記述する必要がある.
#define DESIGNLAB_TOML11_VARIABLE_NO_DESCRIPTION(VARIABLE, TABLE)
ファイルの説明を追加したくない場合には,このマクロで変数を追加する.
#define DESIGNLAB_TOML11_FILE_ADD_DESCRIPTION_MULTI_LINE(DESCRIPTION_VEC)
tomlファイルにファイルの説明を追加するためのマクロ. DESIGNLAB_TOML11_DESCRIPTION_CLASS内に必ず記述する必要がある.