Rerun C++ SDK
Loading...
Searching...
No Matches
thumbnail.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/build/re_type_definitions/rerun/components/thumbnail.def.rs".
3
4#pragma once
5
6#include "../collection.hpp"
7#include "../encodings/blob.hpp"
8#include "../result.hpp"
9
10#include <cstdint>
11#include <memory>
12#include <utility>
13
14namespace rerun::components {
15 /// **Component**: An encoded image, e.g. PNG or JPEG, shown as a thumbnail.
16 ///
17 /// The Viewer guesses the media type from the image data.
18 ///
19 /// ⚠ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
20 ///
21 struct Thumbnail {
23
24 public:
25 Thumbnail() = default;
26
27 Thumbnail(rerun::encodings::Blob data_) : data(std::move(data_)) {}
28
29 Thumbnail& operator=(rerun::encodings::Blob data_) {
30 data = std::move(data_);
31 return *this;
32 }
33
34 Thumbnail(rerun::Collection<uint8_t> data_) : data(std::move(data_)) {}
35
36 Thumbnail& operator=(rerun::Collection<uint8_t> data_) {
37 data = std::move(data_);
38 return *this;
39 }
40
41 /// Cast to the underlying Blob encoding
42 operator rerun::encodings::Blob() const {
43 return data;
44 }
45 };
46} // namespace rerun::components
47
48namespace rerun {
49 static_assert(sizeof(rerun::encodings::Blob) == sizeof(components::Thumbnail));
50
51 /// \private
52 template <>
53 struct Loggable<components::Thumbnail> {
54 static constexpr std::string_view ComponentType = "rerun.components.Thumbnail";
55
56 /// Returns the arrow data type this type corresponds to.
57 static const std::shared_ptr<arrow::DataType>& arrow_data_type() {
58 return Loggable<rerun::encodings::Blob>::arrow_data_type();
59 }
60
61 /// Serializes an array of `rerun::components::Thumbnail` into an arrow array.
62 static Result<std::shared_ptr<arrow::Array>> to_arrow(
63 const components::Thumbnail* instances, size_t num_instances
64 ) {
65 if (num_instances == 0) {
66 return Loggable<rerun::encodings::Blob>::to_arrow(nullptr, 0);
67 } else if (instances == nullptr) {
68 return rerun::Error(
69 ErrorCode::UnexpectedNullArgument,
70 "Passed array instances is null when num_elements> 0."
71 );
72 } else {
73 return Loggable<rerun::encodings::Blob>::to_arrow(&instances->data, num_instances);
74 }
75 }
76 };
77} // namespace rerun
Generic collection of elements that are roughly contiguous in memory.
Definition collection.hpp:49
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:104
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:93
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:26
Component: An encoded image, e.g.
Definition thumbnail.hpp:21
Encoding: A binary blob of data.
Definition blob.hpp:21