GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
DesignLab
robot_operator_factory.cpp
[詳解]
1
3
4
// Copyright(c) 2023-2025 Design Engineering Laboratory, Saitama University
5
// Released under the MIT license
6
// https://opensource.org/licenses/mit-license.php
7
8
#include "
robot_operator_factory.h
"
9
10
#include "
cassert_define.h
"
11
#include "
robot_operation.h
"
12
#include "
robot_operator_fixed.h
"
13
#include "
robot_operator_for_gpg.h
"
14
#include "
robot_operator_for_path.h
"
15
#include "
toml_directory_exporter.h
"
16
#include "
toml_file_importer.h
"
17
18
namespace
designlab
{
19
20
std::unique_ptr<IRobotOperator>
RobotOperatorFactory::Create
(
21
const
SimulationSettingRecord
& setting) {
22
using
enum
enums::RobotOperateMode
;
23
24
if
(setting.
operate_mode
== kForGloabalPathGenerate) {
25
return
std::make_unique<RobotOperatorForGpg>();
26
}
else
if
(setting.
operate_mode
== kFixed) {
27
TomlFileImporter<RobotOperation>
importer;
28
29
const
auto
operation =
30
importer.
ImportOrUseDefault
(
TomlDirectoryExporter::kTomlFileDirPath
+
31
setting.
fixed_operate_file_name
);
32
33
return
std::make_unique<RobotOperatorFixed>(operation);
34
}
else
if
(setting.
operate_mode
== kForPath) {
35
return
std::make_unique<RobotOperatorForPath>(setting.
path_points
);
36
}
else
{
37
assert(
false
);
38
39
return
nullptr
;
40
}
41
}
42
43
}
// namespace designlab
cassert_define.h
designlab::RobotOperatorFactory::Create
static std::unique_ptr< IRobotOperator > Create(const SimulationSettingRecord &setting)
設定ファイルからTargetUpdaterを生成する.
Definition
robot_operator_factory.cpp:20
designlab::TomlDirectoryExporter::kTomlFileDirPath
static const char kTomlFileDirPath[]
TOMLファイルを入れるディレクトリのパス.
Definition
toml_directory_exporter.h:24
designlab::TomlFileImporter
tomlファイルを読み込んで構造体に変換するテンプレートクラス.
Definition
toml_file_importer.h:40
designlab::TomlFileImporter::ImportOrUseDefault
T ImportOrUseDefault(const std::string &file_path) const
指定したファイルパスのファイルを読み込み,構造体に変換する. 読込に失敗した場合は,デフォルトの構造体を返す. また,読込に失敗した場合には, デフォルトの構造体をファイルに出力するかどうかをユーザに問...
Definition
toml_file_importer.h:91
designlab::enums::RobotOperateMode
RobotOperateMode
Definition
simulation_setting_record.h:25
designlab
Definition
abstract_dxlib_gui.cpp:18
robot_operation.h
robot_operator_factory.h
robot_operator_fixed.h
robot_operator_for_gpg.h
robot_operator_for_path.h
designlab::SimulationSettingRecord
Definition
simulation_setting_record.h:37
designlab::SimulationSettingRecord::path_points
std::vector< Vector3 > path_points
Definition
simulation_setting_record.h:61
designlab::SimulationSettingRecord::fixed_operate_file_name
std::string fixed_operate_file_name
Definition
simulation_setting_record.h:59
designlab::SimulationSettingRecord::operate_mode
enums::RobotOperateMode operate_mode
Definition
simulation_setting_record.h:57
toml_directory_exporter.h
toml_file_importer.h
構築:
1.9.8