Rerun C++ SDK
Loading...
Searching...
No Matches
dataframe_query.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/dataframe_query.fbs".
3
4#pragma once
5
6#include "../../blueprint/components/apply_latest_at.hpp"
7#include "../../blueprint/components/filter_by_range.hpp"
8#include "../../blueprint/components/filter_is_not_null.hpp"
9#include "../../blueprint/components/selected_columns.hpp"
10#include "../../blueprint/components/timeline_name.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 query for the dataframe view.
25 /// The timeline for this query.
26 ///
27 /// If unset, the timeline currently active on the time panel is used.
28 std::optional<ComponentBatch> timeline;
29
30 /// If provided, only rows whose timestamp is within this range will be shown.
31 ///
32 /// Note: will be unset as soon as `timeline` is changed.
33 std::optional<ComponentBatch> filter_by_range;
34
35 /// If provided, only show rows which contains a logged event for the specified component.
36 std::optional<ComponentBatch> filter_is_not_null;
37
38 /// Should empty cells be filled with latest-at queries?
39 std::optional<ComponentBatch> apply_latest_at;
40
41 /// Selected columns. If unset, all columns are selected.
42 std::optional<ComponentBatch> select;
43
44 public:
45 static constexpr const char IndicatorComponentName[] =
46 "rerun.blueprint.components.DataframeQueryIndicator";
47
48 /// Indicator component, used to identify the archetype when converting to a list of components.
50 /// The name of the archetype as used in `ComponentDescriptor`s.
51 static constexpr const char ArchetypeName[] = "rerun.blueprint.archetypes.DataframeQuery";
52
53 /// `ComponentDescriptor` for the `timeline` field.
55 ArchetypeName, "timeline",
57 );
58 /// `ComponentDescriptor` for the `filter_by_range` field.
60 ArchetypeName, "filter_by_range",
62 );
63 /// `ComponentDescriptor` for the `filter_is_not_null` field.
65 ArchetypeName, "filter_is_not_null",
67 );
68 /// `ComponentDescriptor` for the `apply_latest_at` field.
70 ArchetypeName, "apply_latest_at",
72 );
73 /// `ComponentDescriptor` for the `select` field.
74 static constexpr auto Descriptor_select = ComponentDescriptor(
75 ArchetypeName, "select",
77 );
78
79 public:
80 DataframeQuery() = default;
81 DataframeQuery(DataframeQuery&& other) = default;
82 DataframeQuery(const DataframeQuery& other) = default;
83 DataframeQuery& operator=(const DataframeQuery& other) = default;
84 DataframeQuery& operator=(DataframeQuery&& other) = default;
85
86 /// Update only some specific fields of a `DataframeQuery`.
88 return DataframeQuery();
89 }
90
91 /// Clear all the fields of a `DataframeQuery`.
93
94 /// The timeline for this query.
95 ///
96 /// If unset, the timeline currently active on the time panel is used.
98 ) && {
99 timeline =
100 ComponentBatch::from_loggable(_timeline, Descriptor_timeline).value_or_throw();
101 return std::move(*this);
102 }
103
104 /// If provided, only rows whose timestamp is within this range will be shown.
105 ///
106 /// Note: will be unset as soon as `timeline` is changed.
108 const rerun::blueprint::components::FilterByRange& _filter_by_range
109 ) && {
112 .value_or_throw();
113 return std::move(*this);
114 }
115
116 /// If provided, only show rows which contains a logged event for the specified component.
118 const rerun::blueprint::components::FilterIsNotNull& _filter_is_not_null
119 ) && {
122 .value_or_throw();
123 return std::move(*this);
124 }
125
126 /// Should empty cells be filled with latest-at queries?
128 const rerun::blueprint::components::ApplyLatestAt& _apply_latest_at
129 ) && {
132 .value_or_throw();
133 return std::move(*this);
134 }
135
136 /// Selected columns. If unset, all columns are selected.
138 ) && {
139 select = ComponentBatch::from_loggable(_select, Descriptor_select).value_or_throw();
140 return std::move(*this);
141 }
142
143 /// Partitions the component data into multiple sub-batches.
144 ///
145 /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
146 /// instead, via `ComponentBatch::partitioned`.
147 ///
148 /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
149 ///
150 /// The specified `lengths` must sum to the total length of the component batch.
152
153 /// Partitions the component data into unit-length sub-batches.
154 ///
155 /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
156 /// where `n` is automatically guessed.
158 };
159
160} // namespace rerun::blueprint::archetypes
161
162namespace rerun {
163 /// \private
164 template <typename T>
165 struct AsComponents;
166
167 /// \private
168 template <>
169 struct AsComponents<blueprint::archetypes::DataframeQuery> {
170 /// Serialize all set component batches.
171 static Result<Collection<ComponentBatch>> as_batches(
173 );
174 };
175} // 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 query for the dataframe view.
Definition dataframe_query.hpp:24
std::optional< ComponentBatch > timeline
The timeline for this query.
Definition dataframe_query.hpp:28
std::optional< ComponentBatch > select
Selected columns. If unset, all columns are selected.
Definition dataframe_query.hpp:42
static DataframeQuery clear_fields()
Clear all the fields of a DataframeQuery.
DataframeQuery with_timeline(const rerun::blueprint::components::TimelineName &_timeline) &&
The timeline for this query.
Definition dataframe_query.hpp:97
static constexpr auto Descriptor_timeline
ComponentDescriptor for the timeline field.
Definition dataframe_query.hpp:54
DataframeQuery with_select(const rerun::blueprint::components::SelectedColumns &_select) &&
Selected columns. If unset, all columns are selected.
Definition dataframe_query.hpp:137
static constexpr auto Descriptor_filter_is_not_null
ComponentDescriptor for the filter_is_not_null field.
Definition dataframe_query.hpp:64
std::optional< ComponentBatch > filter_by_range
If provided, only rows whose timestamp is within this range will be shown.
Definition dataframe_query.hpp:33
DataframeQuery with_filter_by_range(const rerun::blueprint::components::FilterByRange &_filter_by_range) &&
If provided, only rows whose timestamp is within this range will be shown.
Definition dataframe_query.hpp:107
static constexpr auto Descriptor_select
ComponentDescriptor for the select field.
Definition dataframe_query.hpp:74
DataframeQuery with_apply_latest_at(const rerun::blueprint::components::ApplyLatestAt &_apply_latest_at) &&
Should empty cells be filled with latest-at queries?
Definition dataframe_query.hpp:127
Collection< ComponentColumn > columns()
Partitions the component data into unit-length sub-batches.
std::optional< ComponentBatch > apply_latest_at
Should empty cells be filled with latest-at queries?
Definition dataframe_query.hpp:39
static constexpr auto Descriptor_filter_by_range
ComponentDescriptor for the filter_by_range field.
Definition dataframe_query.hpp:59
Collection< ComponentColumn > columns(const Collection< uint32_t > &lengths_)
Partitions the component data into multiple sub-batches.
static constexpr auto Descriptor_apply_latest_at
ComponentDescriptor for the apply_latest_at field.
Definition dataframe_query.hpp:69
std::optional< ComponentBatch > filter_is_not_null
If provided, only show rows which contains a logged event for the specified component.
Definition dataframe_query.hpp:36
static constexpr const char ArchetypeName[]
The name of the archetype as used in ComponentDescriptors.
Definition dataframe_query.hpp:51
static DataframeQuery update_fields()
Update only some specific fields of a DataframeQuery.
Definition dataframe_query.hpp:87
DataframeQuery with_filter_is_not_null(const rerun::blueprint::components::FilterIsNotNull &_filter_is_not_null) &&
If provided, only show rows which contains a logged event for the specified component.
Definition dataframe_query.hpp:117
Component: Whether empty cells in a dataframe should be filled with a latest-at query.
Definition apply_latest_at.hpp:15
Component: Configuration for a filter-by-range feature of the dataframe view.
Definition filter_by_range.hpp:15
Component: Configuration for the filter is not null feature of the dataframe view.
Definition filter_is_not_null.hpp:16
Component: Describe a component column to be selected in the dataframe view.
Definition selected_columns.hpp:16
Component: A timeline identified by its name.
Definition timeline_name.hpp:17
Indicator component used by archetypes when converting them to component lists.
Definition indicator_component.hpp:32