Rerun C++ SDK
Loading...
Searching...
No Matches
depth_meter.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/depth_meter.fbs".
3
4#pragma once
5
6#include "../datatypes/float32.hpp"
7#include "../result.hpp"
8
9#include <cstdint>
10#include <memory>
11
12namespace rerun::components {
13 /// **Component**: The world->depth map scaling factor.
14 ///
15 /// This measures how many depth map units are in a world unit.
16 /// For instance, if a depth map uses millimeters and the world uses meters,
17 /// this value would be `1000`.
18 ///
19 /// Note that the only effect on 2D views is the physical depth values shown when hovering the image.
20 /// In 3D views on the other hand, this affects where the points of the point cloud are placed.
21 ///
22 /// ⚠ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
23 ///
24 struct DepthMeter {
26
27 public:
28 DepthMeter() = default;
29
30 DepthMeter(rerun::datatypes::Float32 value_) : value(value_) {}
31
32 DepthMeter& operator=(rerun::datatypes::Float32 value_) {
33 value = value_;
34 return *this;
35 }
36
37 DepthMeter(float value_) : value(value_) {}
38
39 DepthMeter& operator=(float value_) {
40 value = value_;
41 return *this;
42 }
43
44 /// Cast to the underlying Float32 datatype
45 operator rerun::datatypes::Float32() const {
46 return value;
47 }
48 };
49} // namespace rerun::components
50
51namespace rerun {
52 static_assert(sizeof(rerun::datatypes::Float32) == sizeof(components::DepthMeter));
53
54 /// \private
55 template <>
56 struct Loggable<components::DepthMeter> {
57 static constexpr std::string_view ComponentType = "rerun.components.DepthMeter";
58
59 /// Returns the arrow data type this type corresponds to.
60 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
61 return Loggable<rerun::datatypes::Float32>::arrow_datatype();
62 }
63
64 /// Serializes an array of `rerun::components::DepthMeter` into an arrow array.
65 static Result<std::shared_ptr<arrow::Array>> to_arrow(
66 const components::DepthMeter* instances, size_t num_instances
67 ) {
68 if (num_instances == 0) {
69 return Loggable<rerun::datatypes::Float32>::to_arrow(nullptr, 0);
70 } else if (instances == nullptr) {
71 return rerun::Error(
72 ErrorCode::UnexpectedNullArgument,
73 "Passed array instances is null when num_elements> 0."
74 );
75 } else {
76 return Loggable<rerun::datatypes::Float32>::to_arrow(
77 &instances->value,
78 num_instances
79 );
80 }
81 }
82 };
83} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:99
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:79
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Component: The world->depth map scaling factor.
Definition depth_meter.hpp:24
Datatype: A single-precision 32-bit IEEE 754 floating point number.
Definition float32.hpp:24