Rerun C++ SDK
Loading...
Searching...
No Matches
pose_rotation_axis_angle.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/rotation_axis_angle.fbs".
3
4#pragma once
5
6#include "../component_descriptor.hpp"
7#include "../datatypes/rotation_axis_angle.hpp"
8#include "../result.hpp"
9
10#include <cstdint>
11#include <memory>
12
13namespace rerun::components {
14 /// **Component**: 3D rotation represented by a rotation around a given axis that doesn't propagate in the transform hierarchy.
15 ///
16 /// If normalization of the rotation axis fails the rotation is treated as an invalid transform.
19
20 public:
21 PoseRotationAxisAngle() = default;
22
24 : rotation(rotation_) {}
25
27 rotation = rotation_;
28 return *this;
29 }
30
31 /// Cast to the underlying RotationAxisAngle datatype
33 return rotation;
34 }
35 };
36} // namespace rerun::components
37
38namespace rerun {
39 static_assert(
40 sizeof(rerun::datatypes::RotationAxisAngle) == sizeof(components::PoseRotationAxisAngle)
41 );
42
43 /// \private
44 template <>
45 struct Loggable<components::PoseRotationAxisAngle> {
46 static constexpr ComponentDescriptor Descriptor = "rerun.components.PoseRotationAxisAngle";
47
48 /// Returns the arrow data type this type corresponds to.
49 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
50 return Loggable<rerun::datatypes::RotationAxisAngle>::arrow_datatype();
51 }
52
53 /// Serializes an array of `rerun::components::PoseRotationAxisAngle` into an arrow array.
54 static Result<std::shared_ptr<arrow::Array>> to_arrow(
55 const components::PoseRotationAxisAngle* instances, size_t num_instances
56 ) {
57 if (num_instances == 0) {
58 return Loggable<rerun::datatypes::RotationAxisAngle>::to_arrow(nullptr, 0);
59 } else if (instances == nullptr) {
60 return rerun::Error(
61 ErrorCode::UnexpectedNullArgument,
62 "Passed array instances is null when num_elements> 0."
63 );
64 } else {
65 return Loggable<rerun::datatypes::RotationAxisAngle>::to_arrow(
66 &instances->rotation,
67 num_instances
68 );
69 }
70 }
71 };
72} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:95
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:80
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Component: 3D rotation represented by a rotation around a given axis that doesn't propagate in the tr...
Definition pose_rotation_axis_angle.hpp:17
Datatype: 3D rotation represented by a rotation around a given axis.
Definition rotation_axis_angle.hpp:22