6#include "../collection.hpp"
7#include "../compiler_utils.hpp"
8#include "../component_batch.hpp"
9#include "../components/class_id.hpp"
10#include "../components/color.hpp"
11#include "../components/fill_mode.hpp"
12#include "../components/half_size3d.hpp"
13#include "../components/pose_rotation_axis_angle.hpp"
14#include "../components/pose_rotation_quat.hpp"
15#include "../components/pose_translation3d.hpp"
16#include "../components/radius.hpp"
17#include "../components/show_labels.hpp"
18#include "../components/text.hpp"
19#include "../indicator_component.hpp"
20#include "../result.hpp"
47 std::optional<Collection<rerun::components::PoseTranslation3D>>
centers;
59 std::optional<Collection<rerun::components::PoseRotationQuat>>
quaternions;
62 std::optional<Collection<rerun::components::Color>>
colors;
65 std::optional<Collection<rerun::components::Radius>>
line_radii;
68 std::optional<rerun::components::FillMode>
fill_mode;
71 std::optional<Collection<rerun::components::Text>>
labels;
79 std::optional<Collection<rerun::components::ClassId>>
class_ids;
82 static constexpr const char IndicatorComponentName[] =
83 "rerun.components.Ellipsoids3DIndicator";
99 const std::vector<datatypes::Vec3D>&
centers,
const std::vector<float>& radii
133 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
145 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
156 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
161 colors = std::move(_colors);
163 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
170 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
177 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
182 labels = std::move(_labels);
184 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
191 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
200 RR_WITH_MAYBE_UNINITIALIZED_DISABLED(
return std::move(*
this);)
208 template <
typename T>
213 struct AsComponents<archetypes::Ellipsoids3D> {
215 static Result<std::vector<ComponentBatch>> serialize(
216 const archetypes::Ellipsoids3D& archetype
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:76
FillMode
Component: How a geometric shape is drawn and colored.
Definition fill_mode.hpp:24
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:22
Archetype: 3D ellipsoids or spheres.
Definition ellipsoids3d.hpp:37
Collection< rerun::components::HalfSize3D > half_sizes
For each ellipsoid, half of its size on its three axes.
Definition ellipsoids3d.hpp:41
std::optional< Collection< rerun::components::PoseTranslation3D > > centers
Optional center positions of the ellipsoids.
Definition ellipsoids3d.hpp:47
static Ellipsoids3D from_centers_and_radii(const std::vector< datatypes::Vec3D > ¢ers, const std::vector< float > &radii)
Creates new Ellipsoids3D that are spheres, with half_sizes and centers created from centers and radii...
std::optional< Collection< rerun::components::ClassId > > class_ids
Optional class ID for the ellipsoids.
Definition ellipsoids3d.hpp:79
std::optional< Collection< rerun::components::Text > > labels
Optional text labels for the ellipsoids.
Definition ellipsoids3d.hpp:71
Ellipsoids3D with_rotation_axis_angles(Collection< rerun::components::PoseRotationAxisAngle > _rotation_axis_angles) &&
Rotations via axis + angle.
Definition ellipsoids3d.hpp:140
std::optional< rerun::components::FillMode > fill_mode
Optionally choose whether the ellipsoids are drawn with lines or solid.
Definition ellipsoids3d.hpp:68
Ellipsoids3D with_labels(Collection< rerun::components::Text > _labels) &&
Optional text labels for the ellipsoids.
Definition ellipsoids3d.hpp:181
Ellipsoids3D with_colors(Collection< rerun::components::Color > _colors) &&
Optional colors for the ellipsoids.
Definition ellipsoids3d.hpp:160
Ellipsoids3D with_centers(Collection< rerun::components::PoseTranslation3D > _centers) &&
Optional center positions of the ellipsoids.
Definition ellipsoids3d.hpp:130
Ellipsoids3D with_fill_mode(rerun::components::FillMode _fill_mode) &&
Optionally choose whether the ellipsoids are drawn with lines or solid.
Definition ellipsoids3d.hpp:174
static Ellipsoids3D from_centers_and_half_sizes(Collection< components::PoseTranslation3D > centers, Collection< components::HalfSize3D > half_sizes)
Creates new Ellipsoids3D with centers and half_sizes.
Definition ellipsoids3d.hpp:110
static Ellipsoids3D from_radii(const std::vector< float > &sizes)
Creates new Ellipsoids3D that are spheres, with half_sizes created from radii.
std::optional< Collection< rerun::components::PoseRotationAxisAngle > > rotation_axis_angles
Rotations via axis + angle.
Definition ellipsoids3d.hpp:53
Ellipsoids3D with_quaternions(Collection< rerun::components::PoseRotationQuat > _quaternions) &&
Rotations via quaternion.
Definition ellipsoids3d.hpp:152
Ellipsoids3D with_class_ids(Collection< rerun::components::ClassId > _class_ids) &&
Optional class ID for the ellipsoids.
Definition ellipsoids3d.hpp:197
std::optional< rerun::components::ShowLabels > show_labels
Optional choice of whether the text labels should be shown by default.
Definition ellipsoids3d.hpp:74
Ellipsoids3D with_show_labels(rerun::components::ShowLabels _show_labels) &&
Optional choice of whether the text labels should be shown by default.
Definition ellipsoids3d.hpp:188
static Ellipsoids3D from_half_sizes(Collection< components::HalfSize3D > half_sizes)
Creates new Ellipsoids3D with half_sizes centered around the local origin.
Definition ellipsoids3d.hpp:103
std::optional< Collection< rerun::components::Radius > > line_radii
Optional radii for the lines used when the ellipsoid is rendered as a wireframe.
Definition ellipsoids3d.hpp:65
std::optional< Collection< rerun::components::Color > > colors
Optional colors for the ellipsoids.
Definition ellipsoids3d.hpp:62
std::optional< Collection< rerun::components::PoseRotationQuat > > quaternions
Rotations via quaternion.
Definition ellipsoids3d.hpp:59
Ellipsoids3D with_line_radii(Collection< rerun::components::Radius > _line_radii) &&
Optional radii for the lines used when the ellipsoid is rendered as a wireframe.
Definition ellipsoids3d.hpp:167
Indicator component used by archetypes when converting them to component lists.
Definition indicator_component.hpp:30
Component: Whether the entity's components::Text label is shown.
Definition show_labels.hpp:18