Rerun C++ SDK
Loading...
Searching...
No Matches
voxel_value.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_sdk_types/definitions/rerun/components/voxel_value.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**: Optional scalar occupancy or value associated with a voxel.
14 struct VoxelValue {
16
17 public:
18 VoxelValue() = default;
19
20 VoxelValue(rerun::datatypes::Float32 value_) : value(value_) {}
21
22 VoxelValue& operator=(rerun::datatypes::Float32 value_) {
23 value = value_;
24 return *this;
25 }
26
27 VoxelValue(float value_) : value(value_) {}
28
29 VoxelValue& operator=(float value_) {
30 value = value_;
31 return *this;
32 }
33
34 /// Cast to the underlying Float32 datatype
35 operator rerun::datatypes::Float32() const {
36 return value;
37 }
38 };
39} // namespace rerun::components
40
41namespace rerun {
42 static_assert(sizeof(rerun::datatypes::Float32) == sizeof(components::VoxelValue));
43
44 /// \private
45 template <>
46 struct Loggable<components::VoxelValue> {
47 static constexpr std::string_view ComponentType = "rerun.components.VoxelValue";
48
49 /// Returns the arrow data type this type corresponds to.
50 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
51 return Loggable<rerun::datatypes::Float32>::arrow_datatype();
52 }
53
54 /// Serializes an array of `rerun::components::VoxelValue` into an arrow array.
55 static Result<std::shared_ptr<arrow::Array>> to_arrow(
56 const components::VoxelValue* instances, size_t num_instances
57 ) {
58 if (num_instances == 0) {
59 return Loggable<rerun::datatypes::Float32>::to_arrow(nullptr, 0);
60 } else if (instances == nullptr) {
61 return rerun::Error(
62 ErrorCode::UnexpectedNullArgument,
63 "Passed array instances is null when num_elements> 0."
64 );
65 } else {
66 return Loggable<rerun::datatypes::Float32>::to_arrow(
67 &instances->value,
68 num_instances
69 );
70 }
71 }
72 };
73} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:103
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:90
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Component: Optional scalar occupancy or value associated with a voxel.
Definition voxel_value.hpp:14
Datatype: A single-precision 32-bit IEEE 754 floating point number.
Definition float32.hpp:24