class ugcs::vsm::Takeoff_action

Overview

Take off from the specified position and reach specified altitude. More…

#include <takeoff_action.h>

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

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

    // fields

    Wgs84_position position;
    double heading;
    double elevation;
    double climb_rate;
    double acceptance_radius;

    // construction

    Takeoff_action(
        Wgs84_position position,
        double heading,
        double elevation,
        double climb_rate,
        double acceptance_radius
        );

    Takeoff_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

Take off from the specified position and reach specified altitude.

Typedefs

typedef std::shared_ptr<Takeoff_action> Ptr

Pointer type.

typedef std::weak_ptr<Takeoff_action> Weak_ptr

Pointer type.

Fields

Wgs84_position position

Take-off position.

After take-off, the vehicle should climb to the altitude defined in the position.

double heading

Heading in radians.

double elevation

Terrain height in meters underneath the position.

double climb_rate

Climbing rate, in meters per second.

double acceptance_radius

Acceptance radius of the position.

Maximum distance at which the position is considered reached by the vehicle. Set in meters.

Construction

Takeoff_action(
    Wgs84_position position,
    double heading,
    double elevation,
    double climb_rate,
    double acceptance_radius
    )

Construct take-off action explicitly.

Takeoff_action(const Property_list& p)

Construct move action from protobuf command.

Methods

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

Create an instance.