6#include "../archetype_utils.hpp"
7#include "../collection.hpp"
8#include "../component_batch.hpp"
9#include "../component_column.hpp"
10#include "../components/transform_frame_id.hpp"
11#include "../result.hpp"
68 std::optional<ComponentBatch>
frame;
72 static constexpr const char ArchetypeName[] =
"rerun.archetypes.CoordinateFrame";
104 return std::move(*
this);
115 return std::move(*
this);
127 return detail::partition_batches({&
frame}, lengths_).value_or_throw();
135 return detail::partition_batches_of_unit_length({&
frame}).value_or_throw();
143 template <
typename T>
148 struct AsComponents<archetypes::CoordinateFrame> {
150 static Result<Collection<ComponentBatch>> as_batches(
151 const archetypes::CoordinateFrame& archetype
153 return detail::collect_batches({&archetype.frame});
Generic collection of elements that are roughly contiguous in memory.
Definition collection.hpp:49
All built-in archetypes. 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:26
Arrow-encoded data of a single batch of components together with a component descriptor.
Definition component_batch.hpp:28
static Result< ComponentBatch > from_loggable(const rerun::Collection< T > &components, const ComponentDescriptor &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:16
The Loggable trait is used by all built-in implementation of rerun::AsComponents to serialize a colle...
Definition loggable.hpp:11
Archetype: Specifies the coordinate frame for an entity.
Definition coordinate_frame.hpp:64
Collection< ComponentColumn > columns(const Collection< uint32_t > &lengths_)
Partitions the component data into multiple sub-batches.
Definition coordinate_frame.hpp:126
std::optional< ComponentBatch > frame
The coordinate frame to use for the current entity.
Definition coordinate_frame.hpp:68
CoordinateFrame with_many_frame(const Collection< rerun::components::TransformFrameId > &_frame) &&
This method makes it possible to pack multiple frame in a single component batch.
Definition coordinate_frame.hpp:111
Collection< ComponentColumn > columns()
Partitions the component data into unit-length sub-batches.
Definition coordinate_frame.hpp:134
CoordinateFrame with_frame(const rerun::components::TransformFrameId &_frame) &&
The coordinate frame to use for the current entity.
Definition coordinate_frame.hpp:102
static constexpr auto Descriptor_frame
ComponentDescriptor for the frame field.
Definition coordinate_frame.hpp:75
static constexpr const char ArchetypeName[]
The name of the archetype as used in ComponentDescriptors.
Definition coordinate_frame.hpp:72
static CoordinateFrame update_fields()
Update only some specific fields of a CoordinateFrame.
Definition coordinate_frame.hpp:92
static CoordinateFrame clear_fields()
Clear all the fields of a CoordinateFrame.