Viam C++ SDK current
Loading...
Searching...
No Matches
frame.hpp
1#pragma once
2
3#include <string>
4
5#include <viam/sdk/common/proto_convert.hpp>
6#include <viam/sdk/spatialmath/geometry.hpp>
7#include <viam/sdk/spatialmath/orientation.hpp>
8
9namespace viam {
10namespace app {
11namespace v1 {
12
13class Frame;
14}
15} // namespace app
16} // namespace viam
17
18namespace viam {
19namespace sdk {
20
22 public:
23 LinkConfig() = default;
24 LinkConfig(translation t, Orientation o, GeometryConfig gcfg, std::string parent);
25
26 const translation& get_translation() const;
27 const Orientation& get_orientation() const;
28 const GeometryConfig& get_geometry_config() const;
29 const std::string& get_parent() const;
30
31 private:
32 translation translation_;
33 Orientation orientation_;
34 GeometryConfig geometry_;
35 std::string parent_;
36};
37
38namespace proto_convert_details {
39
40template <>
42 void operator()(const LinkConfig&, app::v1::Frame*) const;
43};
44
45template <>
46struct from_proto_impl<app::v1::Frame> {
47 LinkConfig operator()(const app::v1::Frame*) const;
48};
49
50} // namespace proto_convert_details
51} // namespace sdk
52} // namespace viam
Definition geometry.hpp:54
Definition frame.hpp:21
Definition orientation_types.hpp:45