|
Rerun C++ SDK
|
Archetype: One or more transforms between the current entity and its parent. More...
#include <rerun/archetypes/instance_poses3d.hpp>
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 | ArchetypeName [] = "rerun.archetypes.InstancePoses3D" |
The name of the archetype as used in ComponentDescriptors. | |
| 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.
Whenever you log this archetype, the state of the resulting overall pose is fully reset to the new archetype. This means that if you first log a pose with only a translation, and then log one with only a rotation, it will be resolved to a pose with only a rotation. (This is unlike how we usually apply latest-at semantics on an archetype where we take the latest state of any component independently)
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".

|
inline |
Translation vectors.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
|
inline |
Rotations via axis + angle.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
|
inline |
Rotations via quaternion.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
|
inline |
Scaling factors.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
|
inline |
3x3 transformation matrices.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
| 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 ComponentColumns 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.
| std::optional<ComponentBatch> rerun::archetypes::InstancePoses3D::translations |
Translation vectors.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
| std::optional<ComponentBatch> rerun::archetypes::InstancePoses3D::rotation_axis_angles |
Rotations via axis + angle.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
| std::optional<ComponentBatch> rerun::archetypes::InstancePoses3D::quaternions |
Rotations via quaternion.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
| std::optional<ComponentBatch> rerun::archetypes::InstancePoses3D::scales |
Scaling factors.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
| std::optional<ComponentBatch> rerun::archetypes::InstancePoses3D::mat3x3 |
3x3 transformation matrices.
Any update to this field will reset all other transform properties that aren't changed in the same log call or send_columns row.
|
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.