26 const std::shared_ptr<const IHexapodCoordinateConverter>& converter_ptr,
27 const std::shared_ptr<const IHexapodStatePresenter>& presenter_ptr,
28 const std::shared_ptr<const IHexapodPostureValidator>& checker_ptr) :
29 converter_ptr_(converter_ptr),
30 presenter_ptr_(presenter_ptr),
31 checker_ptr_(checker_ptr)
37 std::map<
HexapodMove, std::unique_ptr<INodeCreator> >* node_creator)
const
42 assert(node_creator !=
nullptr);
43 assert(node_creator->size() == 0);
50 const auto hierarchy_list = std::vector<enums::DiscreteLegPos>{
51 kBack, kCenter, kFront,
52 kLowerBack, kLowerFront, kUpperBack, kUpperFront
56 std::make_unique<NodeCreatorLegHierarchy>(
kLegUpDown, hierarchy_list);
59 std::make_unique<NodeCreatorLegUpDownRadius>(map, converter_ptr_, presenter_ptr_, checker_ptr_,
kComUpDown);
62 std::make_unique<NodeCreatorComUpDown>(map, converter_ptr_, presenter_ptr_, checker_ptr_,
kComMove);
68 std::make_unique<NodeCreatorComMove>(map, converter_ptr_, presenter_ptr_, checker_ptr_,
kLegHierarchyChange);