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

Panorama action. More...

#include <panorama_action.h>

Inheritance diagram for ugcs::vsm::Panorama_action:
ugcs::vsm::Action

Public Types

enum  Trigger_state { ON, SERIAL }
 Camera trigger state. More...
 
typedef std::shared_ptr< Panorama_actionPtr
 Pointer type.
 
typedef std::weak_ptr< Panorama_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

 Panorama_action (Trigger_state trigger_state, double angle, double step, std::chrono::milliseconds delay, double speed)
 Construct panorama action explicitly. More...
 
 Panorama_action (const mavlink::ugcs::Pld_mission_item_ex &item)
 Construct panorama action action from Mavlink mission item. More...
 
 Panorama_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

Trigger_state trigger_state
 Trigger state. More...
 
double angle
 Target panorama angle in a range [-2Pi, 2Pi]. More...
 
double step
 Absolute value of a step angle in case of a discrete shooting. More...
 
std::chrono::milliseconds delay
 Delay interval between two steps. More...
 
double speed
 Rotation speed in radians per second. More...
 
- Public Attributes inherited from ugcs::vsm::Action
int command_id = -1
 

Detailed Description

Panorama action.

Makes a panoramic shot. Target system rotates about its yaw axis in order to reach the target angle. Shooting is performed either in continuous (permanent exposure) or discrete (shoot per step) mode. Continuous shooting rotation can still be performed in serial steps with delays.

Member Enumeration Documentation

Camera trigger state.

Enumerator
ON 

Continuous exposure.

SERIAL 

Discrete, once per step, shooting.

Constructor & Destructor Documentation

ugcs::vsm::Panorama_action::Panorama_action ( Trigger_state  trigger_state,
double  angle,
double  step,
std::chrono::milliseconds  delay,
double  speed 
)
inline

Construct panorama action explicitly.

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

Construct panorama action action from Mavlink mission item.

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

Member Function Documentation

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

Create an instance.

Member Data Documentation

double ugcs::vsm::Panorama_action::angle

Target panorama angle in a range [-2Pi, 2Pi].

If positive the rotation direction should be clockwise, if negative the rotation direction should be counter-clockwise. Set in radians.

std::chrono::milliseconds ugcs::vsm::Panorama_action::delay

Delay interval between two steps.

double ugcs::vsm::Panorama_action::speed

Rotation speed in radians per second.

double ugcs::vsm::Panorama_action::step

Absolute value of a step angle in case of a discrete shooting.

Zero stands for a continuous rotation. Set in radians.

Trigger_state ugcs::vsm::Panorama_action::trigger_state

Trigger state.


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