49 CreatorMap::const_iterator foundIt =
_creator.find(tag);
51 G2O_WARN(
"RobustKernelFactory WARNING: Overwriting robust kernel tag {}",
60 CreatorMap::iterator tagPosition =
_creator.find(tag);
67 CreatorMap::const_iterator foundIt =
_creator.find(tag);
69 return foundIt->second->construct();
75 const std::string& tag)
const {
76 CreatorMap::const_iterator foundIt =
_creator.find(tag);
78 return foundIt->second.get();
84 std::vector<std::string>& types)
const {
88 types.push_back(it->first);
92 std::unique_ptr<RobustKernelFactory> aux;
Abstract interface for allocating a robust kernel.
std::shared_ptr< AbstractRobustKernelCreator > Ptr
create robust kernels based on their human readable name
RobustKernel * construct(const std::string &tag) const
void fillKnownKernels(std::vector< std::string > &types) const
void registerRobustKernel(const std::string &tag, const AbstractRobustKernelCreator::Ptr &c)
AbstractRobustKernelCreator * creator(const std::string &tag) const
static void destroy()
free the instance
static RobustKernelFactory * instance()
return the instance
static std::unique_ptr< RobustKernelFactory > factoryInstance
void unregisterType(const std::string &tag)
CreatorMap _creator
look-up map for the existing creators
base for all robust cost functions