Rerun C++ SDK
|
Archetype: 3D boxes with half-extents and optional center, rotations, colors etc. More...
#include <rerun/archetypes/boxes3d.hpp>
Public Types | |
using | IndicatorComponent = rerun::components::IndicatorComponent< IndicatorComponentName > |
Indicator component, used to identify the archetype when converting to a list of components. | |
Public Member Functions | |
Boxes3D (Boxes3D &&other)=default | |
Boxes3D (const Boxes3D &other)=default | |
Boxes3D & | operator= (const Boxes3D &other)=default |
Boxes3D & | operator= (Boxes3D &&other)=default |
Boxes3D | with_half_sizes (const Collection< rerun::components::HalfSize3D > &_half_sizes) && |
All half-extents that make up the batch of boxes. | |
Boxes3D | with_centers (const Collection< rerun::components::PoseTranslation3D > &_centers) && |
Optional center positions of the boxes. | |
Boxes3D | with_rotation_axis_angles (const Collection< rerun::components::PoseRotationAxisAngle > &_rotation_axis_angles) && |
Rotations via axis + angle. | |
Boxes3D | with_quaternions (const Collection< rerun::components::PoseRotationQuat > &_quaternions) && |
Rotations via quaternion. | |
Boxes3D | with_colors (const Collection< rerun::components::Color > &_colors) && |
Optional colors for the boxes. | |
Boxes3D | with_radii (const Collection< rerun::components::Radius > &_radii) && |
Optional radii for the lines that make up the boxes. | |
Boxes3D | with_fill_mode (const rerun::components::FillMode &_fill_mode) && |
Optionally choose whether the boxes are drawn with lines or solid. | |
Boxes3D | with_many_fill_mode (const Collection< rerun::components::FillMode > &_fill_mode) && |
This method makes it possible to pack multiple fill_mode in a single component batch. | |
Boxes3D | with_labels (const Collection< rerun::components::Text > &_labels) && |
Optional text labels for the boxes. | |
Boxes3D | with_show_labels (const rerun::components::ShowLabels &_show_labels) && |
Optional choice of whether the text labels should be shown by default. | |
Boxes3D | with_many_show_labels (const Collection< rerun::components::ShowLabels > &_show_labels) && |
This method makes it possible to pack multiple show_labels in a single component batch. | |
Boxes3D | with_class_ids (const Collection< rerun::components::ClassId > &_class_ids) && |
Optional components::ClassId s for the boxes. | |
Collection< ComponentColumn > | columns (const Collection< uint32_t > &lengths_) |
Partitions the component data into multiple sub-batches. | |
Collection< ComponentColumn > | columns () |
Partitions the component data into unit-length sub-batches. | |
Static Public Member Functions | |
static Boxes3D | from_half_sizes (Collection< components::HalfSize3D > half_sizes) |
Creates new Boxes3D with half_sizes centered around the local origin. | |
static Boxes3D | from_centers_and_half_sizes (Collection< components::PoseTranslation3D > centers, Collection< components::HalfSize3D > half_sizes) |
Creates new Boxes3D with centers and half_sizes . | |
static Boxes3D | from_sizes (const std::vector< datatypes::Vec3D > &sizes) |
Creates new Boxes3D with half_sizes created from (full) sizes. | |
static Boxes3D | from_centers_and_sizes (Collection< components::PoseTranslation3D > centers, const std::vector< datatypes::Vec3D > &sizes) |
Creates new Boxes3D with centers and half_sizes created from centers and (full) sizes. | |
static Boxes3D | from_mins_and_sizes (const std::vector< datatypes::Vec3D > &mins, const std::vector< datatypes::Vec3D > &sizes) |
Creates new Boxes3D with half_sizes and centers created from minimums and (full) sizes. | |
static Boxes3D | update_fields () |
Update only some specific fields of a Boxes3D . | |
static Boxes3D | clear_fields () |
Clear all the fields of a Boxes3D . | |
Public Attributes | |
std::optional< ComponentBatch > | half_sizes |
All half-extents that make up the batch of boxes. | |
std::optional< ComponentBatch > | centers |
Optional center positions of the boxes. | |
std::optional< ComponentBatch > | rotation_axis_angles |
Rotations via axis + angle. | |
std::optional< ComponentBatch > | quaternions |
Rotations via quaternion. | |
std::optional< ComponentBatch > | colors |
Optional colors for the boxes. | |
std::optional< ComponentBatch > | radii |
Optional radii for the lines that make up the boxes. | |
std::optional< ComponentBatch > | fill_mode |
Optionally choose whether the boxes are drawn with lines or solid. | |
std::optional< ComponentBatch > | labels |
Optional text labels for the boxes. | |
std::optional< ComponentBatch > | show_labels |
Optional choice of whether the text labels should be shown by default. | |
std::optional< ComponentBatch > | class_ids |
Optional components::ClassId s for the boxes. | |
Static Public Attributes | |
static constexpr const char | IndicatorComponentName [] = "rerun.components.Boxes3DIndicator" |
static constexpr const char | ArchetypeName [] = "rerun.archetypes.Boxes3D" |
The name of the archetype as used in ComponentDescriptor s. | |
static constexpr auto | Descriptor_half_sizes |
ComponentDescriptor for the half_sizes field. | |
static constexpr auto | Descriptor_centers |
ComponentDescriptor for the centers field. | |
static constexpr auto | Descriptor_rotation_axis_angles |
ComponentDescriptor for the rotation_axis_angles field. | |
static constexpr auto | Descriptor_quaternions |
ComponentDescriptor for the quaternions field. | |
static constexpr auto | Descriptor_colors |
ComponentDescriptor for the colors field. | |
static constexpr auto | Descriptor_radii |
ComponentDescriptor for the radii field. | |
static constexpr auto | Descriptor_fill_mode |
ComponentDescriptor for the fill_mode field. | |
static constexpr auto | Descriptor_labels |
ComponentDescriptor for the labels field. | |
static constexpr auto | Descriptor_show_labels |
ComponentDescriptor for the show_labels field. | |
static constexpr auto | Descriptor_class_ids |
ComponentDescriptor for the class_ids field. | |
Archetype: 3D boxes with half-extents and optional center, rotations, colors etc.
Note that orienting and placing the box is handled via [archetypes.InstancePoses3D]
. Some of its component are repeated here for convenience. If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses.
|
static |
Creates new Boxes3D
with half_sizes
created from (full) sizes.
TODO(#3285): Does not preserve data as-is and instead creates half-sizes from the input data. TODO(andreas): This should not take an std::vector.
|
inlinestatic |
Creates new Boxes3D
with centers
and half_sizes
created from centers and (full) sizes.
TODO(#3285): Does not preserve data as-is and instead creates centers and half-sizes from the input data. TODO(andreas): This should not take an std::vector.
|
static |
Creates new Boxes3D
with half_sizes
and centers
created from minimums and (full) sizes.
TODO(#3285): Does not preserve data as-is and instead creates centers and half-sizes from the input data. TODO(andreas): This should not take an std::vector.
|
inline |
Optional center positions of the boxes.
If not specified, the centers will be at (0, 0, 0). Note that this uses a components::PoseTranslation3D
which is also used by archetypes::InstancePoses3D
.
|
inline |
Rotations via axis + angle.
If no rotation is specified, the axes of the boxes align with the axes of the local coordinate system. Note that this uses a components::PoseRotationAxisAngle
which is also used by archetypes::InstancePoses3D
.
|
inline |
Rotations via quaternion.
If no rotation is specified, the axes of the boxes align with the axes of the local coordinate system. Note that this uses a components::PoseRotationQuat
which is also used by archetypes::InstancePoses3D
.
|
inline |
This method makes it possible to pack multiple fill_mode
in a single component batch.
This only makes sense when used in conjunction with columns
. with_fill_mode
should be used when logging a single row's worth of data.
|
inline |
Optional text labels for the boxes.
If there's a single label present, it will be placed at the center of the entity. Otherwise, each instance will have its own label.
|
inline |
This method makes it possible to pack multiple show_labels
in a single component batch.
This only makes sense when used in conjunction with columns
. with_show_labels
should be used when logging a single row's worth of data.
|
inline |
Optional components::ClassId
s for the boxes.
The components::ClassId
provides colors and labels if not specified explicitly.
Collection< ComponentColumn > rerun::archetypes::Boxes3D::columns | ( | const Collection< uint32_t > & | lengths_ | ) |
Partitions the component data into multiple sub-batches.
Specifically, this transforms the existing ComponentBatch
data into ComponentColumn
s instead, via ComponentBatch::partitioned
.
This makes it possible to use RecordingStream::send_columns
to send columnar data directly into Rerun.
The specified lengths
must sum to the total length of the component batch.
Collection< ComponentColumn > rerun::archetypes::Boxes3D::columns | ( | ) |
Partitions the component data into unit-length sub-batches.
This is semantically similar to calling columns
with std::vector<uint32_t>(n, 1)
, where n
is automatically guessed.
std::optional<ComponentBatch> rerun::archetypes::Boxes3D::centers |
Optional center positions of the boxes.
If not specified, the centers will be at (0, 0, 0). Note that this uses a components::PoseTranslation3D
which is also used by archetypes::InstancePoses3D
.
std::optional<ComponentBatch> rerun::archetypes::Boxes3D::rotation_axis_angles |
Rotations via axis + angle.
If no rotation is specified, the axes of the boxes align with the axes of the local coordinate system. Note that this uses a components::PoseRotationAxisAngle
which is also used by archetypes::InstancePoses3D
.
std::optional<ComponentBatch> rerun::archetypes::Boxes3D::quaternions |
Rotations via quaternion.
If no rotation is specified, the axes of the boxes align with the axes of the local coordinate system. Note that this uses a components::PoseRotationQuat
which is also used by archetypes::InstancePoses3D
.
std::optional<ComponentBatch> rerun::archetypes::Boxes3D::labels |
Optional text labels for the boxes.
If there's a single label present, it will be placed at the center of the entity. Otherwise, each instance will have its own label.
std::optional<ComponentBatch> rerun::archetypes::Boxes3D::class_ids |
Optional components::ClassId
s for the boxes.
The components::ClassId
provides colors and labels if not specified explicitly.
|
staticconstexpr |
ComponentDescriptor
for the half_sizes
field.
|
staticconstexpr |
ComponentDescriptor
for the centers
field.
|
staticconstexpr |
ComponentDescriptor
for the rotation_axis_angles
field.
|
staticconstexpr |
ComponentDescriptor
for the quaternions
field.
|
staticconstexpr |
ComponentDescriptor
for the colors
field.
|
staticconstexpr |
ComponentDescriptor
for the radii
field.
|
staticconstexpr |
ComponentDescriptor
for the fill_mode
field.
|
staticconstexpr |
ComponentDescriptor
for the labels
field.
|
staticconstexpr |
ComponentDescriptor
for the show_labels
field.
|
staticconstexpr |
ComponentDescriptor
for the class_ids
field.