21 const std::shared_ptr<const IHexapodCoordinateConverter>& converter_ptr,
22 const std::shared_ptr<const IHexapodStatePresenter>& presenter_ptr,
23 const std::shared_ptr<const IHexapodPostureValidator>& checker_ptr)
24 : converter_ptr_(converter_ptr),
25 presenter_ptr_(presenter_ptr),
26 checker_ptr_(checker_ptr) {
27 assert(converter_ptr_ !=
nullptr);
28 assert(presenter_ptr_ !=
nullptr);
29 assert(checker_ptr_ !=
nullptr);
33 auto node_creator_builder = std::make_unique<NodeCreatorBuilderStraightMove>(
34 converter_ptr_, presenter_ptr_, checker_ptr_);
35 auto graph_tree_creator =
36 std::make_unique<GraphTreeCreator>(std::move(node_creator_builder));
39 std::make_unique<GraphSearcherStraightMove>(checker_ptr_);
41 auto gait_pattern_generator = std::make_unique<GaitPatternGeneratorBasic>(
42 std::move(graph_tree_creator), std::move(graph_searcher), 4, 50000000);
44 return std::move(gait_pattern_generator);