5#include <boost/qvm/vec.hpp>
6#include <boost/qvm/vec_traits.hpp>
8#include <viam/sdk/common/proto_convert.hpp>
26 using scalar_type = double;
28 scalar_type x()
const;
29 scalar_type y()
const;
30 scalar_type z()
const;
38 std::array<scalar_type, 3> data;
41namespace proto_convert_details {
45 void operator()(
const Vector3&, common::v1::Vector3*)
const;
50 Vector3 operator()(
const common::v1::Vector3*)
const;
61struct vec_traits<viam::sdk::Vector3> {
62 static int const dim = 3;
64 using scalar_type = vec_type::scalar_type;
67 static inline scalar_type& write_element(
vec_type& v) {
72 static inline scalar_type read_element(
vec_type const& v) {
76 static inline scalar_type& write_element_idx(
int i,
vec_type& v) {
80 static inline scalar_type read_element_idx(
int i,
vec_type const& v) {
Definition linear_algebra.hpp:25
Vector3 & set_y(scalar_type y)
Set the y value of the vector (can be chained)
Vector3 & set_z(scalar_type z)
Set the z value of the vector (can be chained)
Vector3 & set_x(scalar_type x)
Set the x value of the vector (can be chained)
Definition proto_convert.hpp:24
Definition proto_convert.hpp:18