class mrpt::nav::CMultiObjectiveMotionOptimizerBase

Overview

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:
    // typedefs

    typedef std::shared_ptr<CMultiObjectiveMotionOptimizerBase> Ptr;
    typedef std::shared_ptr<const CMultiObjectiveMotionOptimizerBase> ConstPtr;

    // structs

    struct TParamsBase;
    struct TResultInfo;

    // methods

    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    std::optional<size_t> 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();
    static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string& className);
};

// direct descendants

class CMultiObjMotionOpt_Scalarization;

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<CObject> Ptr;
    typedef std::shared_ptr<const CObject> ConstPtr;

    // methods

    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;

Methods

virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const

Returns information about the class of an object in runtime.

std::optional<size_t> 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, std::nullopt will be returned.

virtual void clear()

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

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

Class factory from C++ class name.