class ugcs::vsm::Poi_action

Overview

Point of interest (POI) for a vehicle. More…

#include <poi_action.h>

class Poi_action: public ugcs::vsm::Action
{
public:
    // typedefs

    typedef std::shared_ptr<Poi_action> Ptr;
    typedef std::weak_ptr<Poi_action> Weak_ptr;

    // fields

    Wgs84_position position;
    bool active;

    // construction

    Poi_action(Wgs84_position position, bool active);
    Poi_action(const Property_list& p);

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<Action> Ptr;
    typedef std::weak_ptr<Action> Weak_ptr;
    typedef ugcs::vsm::Param_exception<Format_exception_dummy_struct,> Format_exception;

    // enums

    enum Type;

    // structs

    struct Format_exception_dummy_struct;

    template <>
    struct Mapper<Action::Type::REPEAT_SERVO>;

    template <>
    struct Mapper<Action::Type::POI>;

    template <>
    struct Mapper<Action::Type::PAYLOAD_STEERING>;

    template <>
    struct Mapper<Action::Type::PANORAMA>;

    template <>
    struct Mapper<Action::Type::SET_HOME>;

    template <>
    struct Mapper<Action::Type::TAKEOFF>;

    template <>
    struct Mapper<Action::Type::SET_SERVO>;

    template <>
    struct Mapper<Action::Type::TASK_ATTRIBUTES>;

    template <>
    struct Mapper<Action::Type::VTOL_TRANSITION>;

    template <>
    struct Mapper<Action::Type::MOVE>;

    template <>
    struct Mapper<Action::Type::HEADING>;

    template <>
    struct Mapper<Action::Type::CAMERA_CONTROL>;

    template <Type type_val>
    struct Mapper;

    template <>
    struct Mapper<Action::Type::LANDING>;

    template <>
    struct Mapper<Action::Type::CAMERA_SERIES_BY_DISTANCE>;

    template <>
    struct Mapper<Action::Type::CAMERA_TRIGGER>;

    template <>
    struct Mapper<Action::Type::CAMERA_SERIES_BY_TIME>;

    template <>
    struct Mapper<Action::Type::CHANGE_SPEED>;

    template <>
    struct Mapper<Action::Type::WAIT>;

    // fields

    int command_id = -1;

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    Type Get_type() const;
    void Set_id(int id);
    std::string Get_name();

    template <Type type_val>
    Mapper<type_val>::type::Ptr Get_action();

Detailed Documentation

Point of interest (POI) for a vehicle.

Typedefs

typedef std::shared_ptr<Poi_action> Ptr

Pointer type.

typedef std::weak_ptr<Poi_action> Weak_ptr

Pointer type.

Fields

Wgs84_position position

Position of a a POI.

bool active

true - POI is active and should be monitored, false - POI is not active and should not be anymore monitored.

Construction

Poi_action(Wgs84_position position, bool active)

Construct POI explicitly.

Poi_action(const Property_list& p)

Construct action from protobuf command.

Methods

template <typename... Args>
static Ptr Create(Args&&... args)

Create an instance.