Rerun C++ SDK
Loading...
Searching...
No Matches
translation3d.hpp
1// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
2// Based on "crates/store/re_types/definitions/rerun/components/translation3d.fbs".
3
4#pragma once
5
6#include "../datatypes/vec3d.hpp"
7#include "../result.hpp"
8
9#include <array>
10#include <cstdint>
11#include <memory>
12
13namespace rerun::components {
14 /// **Component**: A translation vector in 3D space.
17
18 public: // START of extensions from translation3d_ext.cpp:
19 /// Construct `Translation3D` from x/y/z values.
20 Translation3D(float x, float y, float z) : vector{x, y, z} {}
21
22 /// Construct `Translation3D` from x/y/z float pointer.
23 explicit Translation3D(const float* xyz) : vector{xyz[0], xyz[1], xyz[2]} {}
24
25 float x() const {
26 return vector.x();
27 }
28
29 float y() const {
30 return vector.y();
31 }
32
33 float z() const {
34 return vector.z();
35 }
36
37 // END of extensions from translation3d_ext.cpp, start of generated code:
38
39 public:
40 Translation3D() = default;
41
42 Translation3D(rerun::datatypes::Vec3D vector_) : vector(vector_) {}
43
44 Translation3D& operator=(rerun::datatypes::Vec3D vector_) {
45 vector = vector_;
46 return *this;
47 }
48
49 Translation3D(std::array<float, 3> xyz_) : vector(xyz_) {}
50
51 Translation3D& operator=(std::array<float, 3> xyz_) {
52 vector = xyz_;
53 return *this;
54 }
55
56 /// Cast to the underlying Vec3D datatype
57 operator rerun::datatypes::Vec3D() const {
58 return vector;
59 }
60 };
61} // namespace rerun::components
62
63namespace rerun {
64 static_assert(sizeof(rerun::datatypes::Vec3D) == sizeof(components::Translation3D));
65
66 /// \private
67 template <>
68 struct Loggable<components::Translation3D> {
69 static constexpr const char Name[] = "rerun.components.Translation3D";
70
71 /// Returns the arrow data type this type corresponds to.
72 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
73 return Loggable<rerun::datatypes::Vec3D>::arrow_datatype();
74 }
75
76 /// Serializes an array of `rerun::components::Translation3D` into an arrow array.
77 static Result<std::shared_ptr<arrow::Array>> to_arrow(
78 const components::Translation3D* instances, size_t num_instances
79 ) {
80 return Loggable<rerun::datatypes::Vec3D>::to_arrow(&instances->vector, num_instances);
81 }
82 };
83} // namespace rerun
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:75
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:22
Component: A translation vector in 3D space.
Definition translation3d.hpp:15
Translation3D(float x, float y, float z)
Construct Translation3D from x/y/z values.
Definition translation3d.hpp:20
Translation3D(const float *xyz)
Construct Translation3D from x/y/z float pointer.
Definition translation3d.hpp:23
Datatype: A vector in 3D space.
Definition vec3d.hpp:20