24 const std::shared_ptr<const IHexapodCoordinateConverter>& converter_ptr,
25 const std::shared_ptr<const IHexapodStatePresenter>& presenter_ptr,
26 const std::shared_ptr<const IHexapodPostureValidator>& checker_ptr)
27 : converter_ptr_(converter_ptr),
28 presenter_ptr_(presenter_ptr),
29 checker_ptr_(checker_ptr) {}
33 std::map<
HexapodMove, std::unique_ptr<INodeCreator> >* node_creator)
const {
34 assert(node_creator !=
nullptr);
35 assert(node_creator->size() == 0);
42 const auto hierarchy_list = std::vector<DiscreteLegPos>{
53 std::make_unique<NodeCreatorLegUpDownRadius>(map, converter_ptr_,
54 presenter_ptr_, checker_ptr_,
58 std::make_unique<NodeCreatorComUpDown>(map, converter_ptr_,
59 presenter_ptr_, checker_ptr_,
62 std::make_unique<NodeCreatorBodyRot>(map, converter_ptr_, checker_ptr_,
67 std::make_unique<NodeCreatorComMoveStraight>(
68 map, converter_ptr_, presenter_ptr_, checker_ptr_,
void Build(const DividedMapState &map, std::map< HexapodMove, std::unique_ptr< INodeCreator > > *node_creator) const override
INodeCreatorを生成する.
NodeCreatorBuilderBodyRot(const std::shared_ptr< const IHexapodCoordinateConverter > &converter_ptr, const std::shared_ptr< const IHexapodStatePresenter > &presenter_ptr, const std::shared_ptr< const IHexapodPostureValidator > &checker_ptr)