Rerun C++ SDK
|
Archetype: One or more transforms between the current entity and its parent. More...
#include <rerun/archetypes/instance_poses3d.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 | |
InstancePoses3D (InstancePoses3D &&other)=default | |
InstancePoses3D (const InstancePoses3D &other)=default | |
InstancePoses3D & | operator= (const InstancePoses3D &other)=default |
InstancePoses3D & | operator= (InstancePoses3D &&other)=default |
InstancePoses3D | with_translations (const Collection< rerun::components::PoseTranslation3D > &_translations) && |
Translation vectors. | |
InstancePoses3D | with_rotation_axis_angles (const Collection< rerun::components::PoseRotationAxisAngle > &_rotation_axis_angles) && |
Rotations via axis + angle. | |
InstancePoses3D | with_quaternions (const Collection< rerun::components::PoseRotationQuat > &_quaternions) && |
Rotations via quaternion. | |
InstancePoses3D | with_scales (const Collection< rerun::components::PoseScale3D > &_scales) && |
Scaling factors. | |
InstancePoses3D | with_mat3x3 (const Collection< rerun::components::PoseTransformMat3x3 > &_mat3x3) && |
3x3 transformation matrices. | |
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 InstancePoses3D | update_fields () |
Update only some specific fields of a InstancePoses3D . | |
static InstancePoses3D | clear_fields () |
Clear all the fields of a InstancePoses3D . | |
Public Attributes | |
std::optional< ComponentBatch > | translations |
Translation vectors. | |
std::optional< ComponentBatch > | rotation_axis_angles |
Rotations via axis + angle. | |
std::optional< ComponentBatch > | quaternions |
Rotations via quaternion. | |
std::optional< ComponentBatch > | scales |
Scaling factors. | |
std::optional< ComponentBatch > | mat3x3 |
3x3 transformation matrices. | |
Static Public Attributes | |
static constexpr const char | IndicatorComponentName [] |
static constexpr const char | ArchetypeName [] = "rerun.archetypes.InstancePoses3D" |
The name of the archetype as used in ComponentDescriptor s. | |
static constexpr auto | Descriptor_translations |
ComponentDescriptor for the translations 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_scales |
ComponentDescriptor for the scales field. | |
static constexpr auto | Descriptor_mat3x3 |
ComponentDescriptor for the mat3x3 field. | |
Archetype: One or more transforms between the current entity and its parent.
Unlike archetypes::Transform3D
, it is not propagated in the transform hierarchy.
If both archetypes::InstancePoses3D
and archetypes::Transform3D
are present, first the tree propagating archetypes::Transform3D
is applied, then archetypes::InstancePoses3D
.
From the point of view of the entity's coordinate system, all components are applied in the inverse order they are listed here. E.g. if both a translation and a max3x3 transform are present, the 3x3 matrix is applied first, followed by the translation.
Currently, many visualizers support only a single instance transform per entity. Check archetype documentations for details - if not otherwise specified, only the first instance transform is applied. Some visualizers like the mesh visualizer used for archetypes::Mesh3D
, will draw an object for every pose, a behavior also known as "instancing".
Collection< ComponentColumn > rerun::archetypes::InstancePoses3D::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::InstancePoses3D::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.
|
staticconstexpr |
|
staticconstexpr |
ComponentDescriptor
for the translations
field.
|
staticconstexpr |
ComponentDescriptor
for the rotation_axis_angles
field.
|
staticconstexpr |
ComponentDescriptor
for the quaternions
field.
|
staticconstexpr |
ComponentDescriptor
for the scales
field.
|
staticconstexpr |
ComponentDescriptor
for the mat3x3
field.