holoscan::Pose3

Beta
View as Markdown
template <typename K>
struct Pose3

Class representing 3D transformations (rigid body motion in 3D).

This class represents elements of the SE(3) group, which combines 3D rotations and translations. Each pose consists of a rotation component (SO3) and a translation vector in 3D space.

#include <holoscan/pose3.hpp>

Template parameters

K
typename

Scalar type (typically float or double).


Constructors

Pose3

holoscan::Pose3<K>::Pose3()

Default constructor creates identity pose.


Methods

inverse

Pose3 holoscan::Pose3<K>::inverse() const

Get the inverse transformation.

Returns: Inverse transformation.

matrix

Matrix4<K> holoscan::Pose3<K>::matrix() const

Get the 4×4 homogeneous transformation matrix representation.

Returns: 4×4 transformation matrix.

cast

template <typename S>
Pose3<S> holoscan::Pose3<K>::cast() const

Cast to a different scalar type.

Returns: Pose cast to the target type.

Template parameters

S
typename

Target scalar type.

to_pose2_xy

Pose2<K> holoscan::Pose3<K>::to_pose2_xy() const

Convert to a 2D pose in the XY plane.

Returns: 2D pose representing the XY components of this 3D pose.

pow

Pose3 holoscan::Pose3<K>::pow(
K exponent
) const

Compute the power of the transformation.

This computes the transformation raised to the given exponent using exponential coordinates and matrix exponentiation. The implementation handles the general case by aligning the rotation axis with the Z-axis.

Returns: Transformation raised to the given power.

Parameters

exponent
K

Power to raise the transformation to.


Static methods

identity

static Pose3 holoscan::Pose3<K>::identity()

Create the identity transformation.

Returns: Identity transformation (no rotation or translation).

from_translation

static Pose3 holoscan::Pose3<K>::from_translation(
const Vector3<K> &translation
)

Create a pure translation transformation.

Returns: Translation-only transformation.

Parameters

translation
const Vector3<K> &

Translation vector.

from_rotation

static Pose3 holoscan::Pose3<K>::from_rotation(
const Vector3<K> &axis,
K angle
)

Create a pure rotation transformation.

Returns: Rotation-only transformation.

Parameters

axis
const Vector3<K> &

Rotation axis (will be normalized internally).

angle
K

Rotation angle in radians.

from_pose2_xy

static Pose3 holoscan::Pose3<K>::from_pose2_xy(
const Pose2<K> &pose
)

Create a 3D pose from a 2D pose in the XY plane.

Returns: 3D pose with Z translation = 0 and rotation around Z-axis.

Parameters

pose
const Pose2<K> &

2D pose in the XY plane.

from_matrix

static Pose3 holoscan::Pose3<K>::from_matrix(
const Matrix4<K> &matrix
)

Create a pose from a 4×4 transformation matrix.

Returns: Pose represented by the matrix.

Parameters

matrix
const Matrix4<K> &

4×4 Homogeneous transformation matrix.


Types

Typedefs

NameDefinition
ScalarK

Member variables

NameTypeDescription
kDimension static constexprint
rotationSO3< K >Rotation component.
translationVector3< K >Translation component.