/** * @file TORO wrapper * @author Jochen Sprickerhof. Institute of Computer Science, University of Osnabrueck, Germany. */ #ifndef __GRAPH_TORO_H__ #define __GRAPH_TORO_H__ #include "graphSlam6D.h" class graphToro : public graphSlam6D { public: /** * Constructor (default) */ graphToro() {}; /** * Constructor * * @param my_icp6Dminimizer Pointer to ICP minimization functor * @param mdm Maximum PtoP distance to which point pairs are collected for ICP * @param max_dist_match Maximum PtoP distance to which point pairs are collected for LUM * @param max_num_iterations Maximal number of iterations for ICP * @param quiet Suspesses all output to std out * @param meta Indicates if metascan matching has to be used * @param rnd Indicates if randomization has to be used * @param eP Extrapolate odometry? * @param anim Animate which frames? * @param epsilonICP Termination criterion for ICP * @param nns_method Which nearest neigbor search method shall we use * @param epsilonLUM Termination criterion for LUM */ graphToro(icp6Dminimizer *my_icp6Dminimizer, double mdm = 25.0, double max_dist_match = 25.0, int max_num_iterations = 50, bool quiet = false, bool meta = false, int rnd = 1, bool eP = true, int anim = -1, double epsilonICP = 0.0000001, int nns_method = simpleKD, double epsilonLUM = 0.5) : graphSlam6D(my_icp6Dminimizer, mdm, max_dist_match, max_num_iterations, quiet, meta, rnd, eP, anim, epsilonICP, nns_method, epsilonLUM) { } virtual ~graphToro() { delete my_icp; } double doGraphSlam6D(Graph gr, vector MetaScan, int nrIt); }; #endif