Rerun C++ SDK
Loading...
Searching...
No Matches
viewport_blueprint.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/blueprint/archetypes/viewport_blueprint.fbs".
3
4#pragma once
5
6#include "../../blueprint/components/auto_layout.hpp"
7#include "../../blueprint/components/auto_views.hpp"
8#include "../../blueprint/components/root_container.hpp"
9#include "../../blueprint/components/view_maximized.hpp"
10#include "../../blueprint/components/viewer_recommendation_hash.hpp"
11#include "../../collection.hpp"
12#include "../../component_batch.hpp"
13#include "../../component_column.hpp"
14#include "../../indicator_component.hpp"
15#include "../../result.hpp"
16
17#include <cstdint>
18#include <optional>
19#include <utility>
20#include <vector>
21
22namespace rerun::blueprint::archetypes {
23 /// **Archetype**: The top-level description of the viewport.
24 ///
25 /// ⚠ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
26 ///
28 /// The layout of the views
29 std::optional<ComponentBatch> root_container;
30
31 /// Show one tab as maximized?
32 std::optional<ComponentBatch> maximized;
33
34 /// Whether the viewport layout is determined automatically.
35 ///
36 /// If `true`, the container layout will be reset whenever a new view is added or removed.
37 /// This defaults to `false` and is automatically set to `false` when there is user determined layout.
38 std::optional<ComponentBatch> auto_layout;
39
40 /// Whether or not views should be created automatically.
41 ///
42 /// If `true`, the viewer will only add views that it hasn't considered previously (as identified by `past_viewer_recommendations`)
43 /// and which aren't deemed redundant to existing views.
44 /// This defaults to `false` and is automatically set to `false` when the user adds views manually in the viewer.
45 std::optional<ComponentBatch> auto_views;
46
47 /// Hashes of all recommended views the viewer has already added and that should not be added again.
48 ///
49 /// This is an internal field and should not be set usually.
50 /// If you want the viewer from stopping to add views, you should set `auto_views` to `false`.
51 ///
52 /// The viewer uses this to determine whether it should keep adding views.
53 std::optional<ComponentBatch> past_viewer_recommendations;
54
55 public:
56 static constexpr const char IndicatorComponentName[] =
57 "rerun.blueprint.components.ViewportBlueprintIndicator";
58
59 /// Indicator component, used to identify the archetype when converting to a list of components.
61 /// The name of the archetype as used in `ComponentDescriptor`s.
62 static constexpr const char ArchetypeName[] =
63 "rerun.blueprint.archetypes.ViewportBlueprint";
64
65 /// `ComponentDescriptor` for the `root_container` field.
67 ArchetypeName, "root_container",
69 );
70 /// `ComponentDescriptor` for the `maximized` field.
72 ArchetypeName, "maximized",
74 );
75 /// `ComponentDescriptor` for the `auto_layout` field.
77 ArchetypeName, "auto_layout",
79 );
80 /// `ComponentDescriptor` for the `auto_views` field.
82 ArchetypeName, "auto_views",
84 );
85 /// `ComponentDescriptor` for the `past_viewer_recommendations` field.
87 ArchetypeName, "past_viewer_recommendations",
89 .component_name
90 );
91
92 public:
93 ViewportBlueprint() = default;
94 ViewportBlueprint(ViewportBlueprint&& other) = default;
95 ViewportBlueprint(const ViewportBlueprint& other) = default;
96 ViewportBlueprint& operator=(const ViewportBlueprint& other) = default;
97 ViewportBlueprint& operator=(ViewportBlueprint&& other) = default;
98
99 /// Update only some specific fields of a `ViewportBlueprint`.
101 return ViewportBlueprint();
102 }
103
104 /// Clear all the fields of a `ViewportBlueprint`.
106
107 /// The layout of the views
110 ) && {
113 .value_or_throw();
114 return std::move(*this);
115 }
116
117 /// Show one tab as maximized?
120 ) && {
121 maximized =
122 ComponentBatch::from_loggable(_maximized, Descriptor_maximized).value_or_throw();
123 return std::move(*this);
124 }
125
126 /// Whether the viewport layout is determined automatically.
127 ///
128 /// If `true`, the container layout will be reset whenever a new view is added or removed.
129 /// This defaults to `false` and is automatically set to `false` when there is user determined layout.
132 ) && {
134 .value_or_throw();
135 return std::move(*this);
136 }
137
138 /// Whether or not views should be created automatically.
139 ///
140 /// If `true`, the viewer will only add views that it hasn't considered previously (as identified by `past_viewer_recommendations`)
141 /// and which aren't deemed redundant to existing views.
142 /// This defaults to `false` and is automatically set to `false` when the user adds views manually in the viewer.
144 ) && {
145 auto_views =
146 ComponentBatch::from_loggable(_auto_views, Descriptor_auto_views).value_or_throw();
147 return std::move(*this);
148 }
149
150 /// Hashes of all recommended views the viewer has already added and that should not be added again.
151 ///
152 /// This is an internal field and should not be set usually.
153 /// If you want the viewer from stopping to add views, you should set `auto_views` to `false`.
154 ///
155 /// The viewer uses this to determine whether it should keep adding views.
158 _past_viewer_recommendations
159 ) && {
161 _past_viewer_recommendations,
163 )
164 .value_or_throw();
165 return std::move(*this);
166 }
167
168 /// Partitions the component data into multiple sub-batches.
169 ///
170 /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
171 /// instead, via `ComponentBatch::partitioned`.
172 ///
173 /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
174 ///
175 /// The specified `lengths` must sum to the total length of the component batch.
177
178 /// Partitions the component data into unit-length sub-batches.
179 ///
180 /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
181 /// where `n` is automatically guessed.
183 };
184
185} // namespace rerun::blueprint::archetypes
186
187namespace rerun {
188 /// \private
189 template <typename T>
190 struct AsComponents;
191
192 /// \private
193 template <>
194 struct AsComponents<blueprint::archetypes::ViewportBlueprint> {
195 /// Serialize all set component batches.
196 static Result<Collection<ComponentBatch>> as_batches(
198 );
199 };
200} // namespace rerun
Generic collection of elements that are roughly contiguous in memory.
Definition collection.hpp:49
A class for representing either a usable value, or an error.
Definition result.hpp:14
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
static Result< ComponentBatch > from_loggable(const rerun::Collection< T > &components, const ComponentDescriptor &descriptor=rerun::Loggable< T >::Descriptor)
Creates a new component batch from a collection of component instances.
Definition component_batch.hpp:46
A ComponentDescriptor fully describes the semantics of a column of data.
Definition component_descriptor.hpp:14
The Loggable trait is used by all built-in implementation of rerun::AsComponents to serialize a colle...
Definition loggable.hpp:11
Archetype: The top-level description of the viewport.
Definition viewport_blueprint.hpp:27
ViewportBlueprint with_past_viewer_recommendations(const Collection< rerun::blueprint::components::ViewerRecommendationHash > &_past_viewer_recommendations) &&
Hashes of all recommended views the viewer has already added and that should not be added again.
Definition viewport_blueprint.hpp:156
static constexpr auto Descriptor_root_container
ComponentDescriptor for the root_container field.
Definition viewport_blueprint.hpp:66
std::optional< ComponentBatch > auto_layout
Whether the viewport layout is determined automatically.
Definition viewport_blueprint.hpp:38
std::optional< ComponentBatch > past_viewer_recommendations
Hashes of all recommended views the viewer has already added and that should not be added again.
Definition viewport_blueprint.hpp:53
ViewportBlueprint with_auto_views(const rerun::blueprint::components::AutoViews &_auto_views) &&
Whether or not views should be created automatically.
Definition viewport_blueprint.hpp:143
std::optional< ComponentBatch > root_container
The layout of the views.
Definition viewport_blueprint.hpp:29
static constexpr auto Descriptor_past_viewer_recommendations
ComponentDescriptor for the past_viewer_recommendations field.
Definition viewport_blueprint.hpp:86
std::optional< ComponentBatch > auto_views
Whether or not views should be created automatically.
Definition viewport_blueprint.hpp:45
static ViewportBlueprint clear_fields()
Clear all the fields of a ViewportBlueprint.
static constexpr auto Descriptor_auto_views
ComponentDescriptor for the auto_views field.
Definition viewport_blueprint.hpp:81
ViewportBlueprint with_auto_layout(const rerun::blueprint::components::AutoLayout &_auto_layout) &&
Whether the viewport layout is determined automatically.
Definition viewport_blueprint.hpp:130
Collection< ComponentColumn > columns()
Partitions the component data into unit-length sub-batches.
std::optional< ComponentBatch > maximized
Show one tab as maximized?
Definition viewport_blueprint.hpp:32
static ViewportBlueprint update_fields()
Update only some specific fields of a ViewportBlueprint.
Definition viewport_blueprint.hpp:100
static constexpr auto Descriptor_auto_layout
ComponentDescriptor for the auto_layout field.
Definition viewport_blueprint.hpp:76
ViewportBlueprint with_maximized(const rerun::blueprint::components::ViewMaximized &_maximized) &&
Show one tab as maximized?
Definition viewport_blueprint.hpp:118
static constexpr const char ArchetypeName[]
The name of the archetype as used in ComponentDescriptors.
Definition viewport_blueprint.hpp:62
ViewportBlueprint with_root_container(const rerun::blueprint::components::RootContainer &_root_container) &&
The layout of the views.
Definition viewport_blueprint.hpp:108
static constexpr auto Descriptor_maximized
ComponentDescriptor for the maximized field.
Definition viewport_blueprint.hpp:71
Collection< ComponentColumn > columns(const Collection< uint32_t > &lengths_)
Partitions the component data into multiple sub-batches.
Component: Whether the viewport layout is determined automatically.
Definition auto_layout.hpp:18
Component: Whether or not views should be created automatically.
Definition auto_views.hpp:18
Component: The container that sits at the root of a viewport.
Definition root_container.hpp:19
Component: Whether a view is maximized.
Definition view_maximized.hpp:19
Indicator component used by archetypes when converting them to component lists.
Definition indicator_component.hpp:32