@@ -61,40 +61,37 @@ Factory::Factory()
6161Factory::Factory (std::shared_ptr<const boost_plugin_loader::PluginLoader> loader) : loader_(loader) {}
6262
6363template <typename PluginT>
64- typename PluginT::ComponentT::Ptr Factory::create (std::map<std::string, typename PluginT::Ptr>& plugin_map,
65- const YAML::Node& config) const
64+ typename PluginT::ComponentT::Ptr Factory::create (const YAML::Node& config) const
6665{
6766 auto name = YAML::getMember<std::string>(config, " name" );
68- if (plugin_map.find (name) == plugin_map.end ())
69- plugin_map[name] = loader_->createInstance <PluginT>(name);
70-
67+ auto plugin = loader_->createInstance <PluginT>(name);
7168 auto this_shared = std::shared_ptr<const Factory>(this , [](const Factory*) {});
72- return plugin_map[name] ->create (config, this_shared);
69+ return plugin ->create (config, this_shared);
7370}
7471
7572MeshModifier::Ptr Factory::createMeshModifier (const YAML::Node& config) const
7673{
77- return create<MeshModifierPlugin>(mesh_modifier_plugins_, config);
74+ return create<MeshModifierPlugin>(config);
7875}
7976
8077ToolPathPlanner::Ptr Factory::createToolPathPlanner (const YAML::Node& config) const
8178{
82- return create<ToolPathPlannerPlugin>(tool_path_planner_plugins_, config);
79+ return create<ToolPathPlannerPlugin>(config);
8380}
8481
8582OriginGenerator::Ptr Factory::createOriginGenerator (const YAML::Node& config) const
8683{
87- return create<OriginGeneratorPlugin>(origin_generator_plugins_, config);
84+ return create<OriginGeneratorPlugin>(config);
8885}
8986
9087DirectionGenerator::Ptr Factory::createDirectionGenerator (const YAML::Node& config) const
9188{
92- return create<DirectionGeneratorPlugin>(direction_generator_plugins_, config);
89+ return create<DirectionGeneratorPlugin>(config);
9390}
9491
9592ToolPathModifier::Ptr Factory::createToolPathModifier (const YAML::Node& config) const
9693{
97- return create<ToolPathModifierPlugin>(tool_path_modifier_plugins_, config);
94+ return create<ToolPathModifierPlugin>(config);
9895}
9996
10097template std::vector<std::string> Factory::getAvailablePlugins<MeshModifierPlugin>() const ;
0 commit comments