VSM C++ SDK
Vehicle Specific Modules SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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

typedef std::shared_ptr
< Panorama_action
Ptr
 Pointer type.
 
typedef std::weak_ptr
< Panorama_action
Weak_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, Type::VTOL_TRANSITION
}
 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.
 

Public Member Functions

 Panorama_action (proto::Panorama_mode trigger_state, double angle, double step, std::chrono::milliseconds delay, double speed)
 Construct panorama action explicitly. More...
 
 Panorama_action (const Property_list &p)
 Construct action from protobuf command.
 
- Public Member Functions inherited from ugcs::vsm::Action
 VSM_DEFINE_EXCEPTION (Format_exception)
 Thrown when internal action representation is in a wrong format. More...
 
 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

proto::Panorama_mode 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.

Constructor & Destructor Documentation

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

Construct panorama action explicitly.

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.

proto::Panorama_mode ugcs::vsm::Panorama_action::trigger_state

Trigger state.


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