class ugcs::vsm::Task

Overview

Action plan for a single vehicle. More…

#include <task.h>

class Task
{
public:
    // fields

    std::vector<Action::Ptr> actions;
    Task_attributes_action::Ptr attributes;
    Property_list parameters;
    Proto_msg_ptr ucs_response;
    bool return_native_route = false;
    bool use_crlf_in_native_route = false;

    // construction

    Task(size_t reserved_size = 0);

    // methods

    Wgs84_position Get_home_position() const;
    double Get_home_position_altitude() const;
    double Get_takeoff_altitude() const;
    void Set_takeoff_altitude(double altitude);
};

Detailed Documentation

Action plan for a single vehicle.

Fields

std::vector<Action::Ptr> actions

Action list of the task .

Task_attributes_action::Ptr attributes

Task attributes action.

If nullptr, then vehicle defaults should be used.

Property_list parameters

Parameter list for the task .

Construction

Task(size_t reserved_size = 0)

Constructor.

Parameters:

reserved_size

Initial size of the actions vector.

Methods

Wgs84_position Get_home_position() const

Retrieve home position from action.

Either get SET_HOME or the first MOVE action.

double Get_home_position_altitude() const

Get terrain height at home position in meters.

double Get_takeoff_altitude() const

Get take-off altitude, that is the absolute altitude of the position where the vehicle was or will be launched.

void Set_takeoff_altitude(double altitude)

Internal SDK method.

Used to set the take-off altitude. VSM user is not supposed to use it.