VSM C++ SDK
Vehicle Specific Modules SDK
ugcs::vsm::Camera_control_action Class Reference

Camera control action. More...

#include <camera_control_action.h>

Inheritance diagram for ugcs::vsm::Camera_control_action:
ugcs::vsm::Action

Public Types

typedef std::shared_ptr< Camera_control_actionPtr
 Pointer type.
 
typedef std::weak_ptr< Camera_control_actionWeak_ptr
 Pointer type.
 
- Public Types inherited from ugcs::vsm::Action
enum  Type {
  Type::MOVE, Type::WAIT, Type::PAYLOAD_STEERING, Type::TAKEOFF,
  Type::LANDING, Type::CHANGE_SPEED, Type::SET_HOME, Type::POI,
  Type::HEADING, Type::CAMERA_CONTROL, Type::CAMERA_TRIGGER, Type::PANORAMA,
  Type::TASK_ATTRIBUTES, Type::CAMERA_SERIES_BY_TIME, Type::CAMERA_SERIES_BY_DISTANCE, Type::SET_PARAMETER,
  Type::SET_SERVO, Type::REPEAT_SERVO
}
 Types of vehicle actions as part of task (mission). More...
 
typedef std::shared_ptr< ActionPtr
 Pointer type.
 
typedef std::weak_ptr< ActionWeak_ptr
 Pointer type.
 
typedef ugcs::vsm::Param_exception< Format_exception_dummy_struct,> Format_exception
 

Public Member Functions

 Camera_control_action (double tilt, double roll, double yaw, double zoom)
 Construct camera control action explicitly. More...
 
 Camera_control_action (const mavlink::ugcs::Pld_mission_item_ex &item)
 Construct camera control action from Mavlink mission item. More...
 
 Camera_control_action (const Property_list &p)
 Construct action from protobuf command.
 
- Public Member Functions inherited from ugcs::vsm::Action
 Action (Type type)
 Construct action of specific type. More...
 
virtual ~Action ()
 Make sure Action is polymorphic. More...
 
Type Get_type () const
 Get action type. More...
 
void Set_id (int id)
 
std::string Get_name ()
 Get human readable name of the action. More...
 
template<Type type_val>
Mapper< type_val >::type::Ptr Get_action ()
 Get pointer to specific action as determined by Get_type. More...
 

Static Public Member Functions

template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
- Static Public Member Functions inherited from ugcs::vsm::Action
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 

Public Attributes

double tilt
 Target camera tilt value in radians: [-Pi/2, Pi/2], where -Pi/2 stands for looking backward, 0 for full down and Pi/2 for looking straight forward.
 
double roll
 Target camera roll value in radians: [-Pi/2, Pi/2], where -Pi/2 stands for left and Pi/2 for right.
 
double yaw
 Target camera yaw value in radians: [-Pi/2, Pi/2], where -Pi/2 stands for left and Pi/2 for right.
 
double zoom
 Device specific camera zoom level. More...
 
- Public Attributes inherited from ugcs::vsm::Action
int command_id = -1
 

Detailed Description

Camera control action.

Controls an on-board camera controller system.

Constructor & Destructor Documentation

ugcs::vsm::Camera_control_action::Camera_control_action ( double  tilt,
double  roll,
double  yaw,
double  zoom 
)
inline

Construct camera control action explicitly.

ugcs::vsm::Camera_control_action::Camera_control_action ( const mavlink::ugcs::Pld_mission_item_ex &  item)
inline

Construct camera control action from Mavlink mission item.

Parameters
itemWith command equal to mavlink::ugcs::MAV_CMD::MAV_CMD_DO_CAMERA_CONTROL

Member Function Documentation

template<typename... Args>
static Ptr ugcs::vsm::Camera_control_action::Create ( Args &&...  args)
inlinestatic

Create an instance.

Member Data Documentation

double ugcs::vsm::Camera_control_action::zoom

Device specific camera zoom level.


The documentation for this class was generated from the following file: