class mrpt::nav::CMultiObjectiveMotionOptimizerBase

Virtual base class for multi-objective motion choosers, as used for reactive navigation engines.

See also:

CReactiveNavigationSystem, CReactiveNavigationSystem3D

#include <mrpt/nav/reactive/CMultiObjectiveMotionOptimizerBase.h>

class CMultiObjectiveMotionOptimizerBase: public mrpt::rtti::CObject
{
public:
    // structs

    struct TParamsBase;
    struct TResultInfo;

    //
methods

    static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string& className);
    int decide(const std::vector<mrpt::nav::TCandidateMovementPTG>& movs, TResultInfo& extra_info);
    virtual void loadConfigFile(const mrpt::config::CConfigFileBase& c) = 0;
    virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const = 0;
    virtual void clear();
};

// direct descendants

class CMultiObjMotionOpt_Scalarization;

Methods

static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string& className)

Class factory from C++ class name.

int decide(const std::vector<mrpt::nav::TCandidateMovementPTG>& movs, TResultInfo& extra_info)

The main entry point for the class: returns the 0-based index of the best of the N motion candidates in movs.

If no valid one is found, -1 will be returned.

virtual void clear()

Resets the object state; use if the parameters change, so they are re-read and applied.