Viam C++ SDK
current
Loading...
Searching...
No Matches
src
viam
sdk
spatialmath
orientation.hpp
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
6
#include <boost/variant/variant.hpp>
7
8
#include <viam/sdk/common/proto_convert.hpp>
9
#include <viam/sdk/spatialmath/orientation_types.hpp>
10
11
namespace
viam {
12
namespace
app {
13
namespace
v1 {
14
15
class
Orientation;
16
}
17
}
// namespace app
18
}
// namespace viam
19
20
namespace
viam {
21
namespace
sdk {
22
23
// Note that quaternion must be the first type because this is what is default constructed.
24
using
Orientation = boost::
25
variant<quaternion, axis_angles, orientation_vector, orientation_vector_degrees, euler_angles>;
26
27
OrientationType get_type(
const
Orientation&);
28
29
namespace
proto_convert_details {
30
31
template
<>
32
struct
to_proto_impl
<Orientation> {
33
void
operator()(
const
Orientation&, app::v1::Orientation*)
const
;
34
};
35
template
<>
36
struct
from_proto_impl
<app::v1::Orientation> {
37
Orientation operator()(
const
app::v1::Orientation*)
const
;
38
};
39
40
}
// namespace proto_convert_details
41
}
// namespace sdk
42
}
// namespace viam
viam::sdk::proto_convert_details::from_proto_impl
Definition
proto_convert.hpp:24
viam::sdk::proto_convert_details::to_proto_impl
Definition
proto_convert.hpp:18
Generated by
1.10.0