ARCore is back at Google I/O on May 10! Register now.
Stay organized with collections Save and categorize content based on your preferences.

ArPose

Represents an immutable rigid transformation from one coordinate space to another.

Summary

Typedefs

ArPose typedef
struct ArPose_
A structured rigid transformation (value type).

Functions

ArPose_create(const ArSession *session, const float *pose_raw, ArPose **out_pose)
void
Allocates and initializes a new pose object.
ArPose_destroy(ArPose *pose)
void
Releases memory used by a pose object.
ArPose_getMatrix(const ArSession *session, const ArPose *pose, float *out_matrix_col_major_4x4)
void
Converts a pose into a 4x4 transformation matrix.
ArPose_getPoseRaw(const ArSession *session, const ArPose *pose, float *out_pose_raw_7)
void
Extracts the quaternion rotation and translation from a pose object.

Typedefs

ArPose

struct ArPose_ ArPose

A structured rigid transformation (value type).

Functions

ArPose_create

void ArPose_create(
  const ArSession *session,
  const float *pose_raw,
  ArPose **out_pose
)

Allocates and initializes a new pose object.

pose_raw points to an array of 7 floats, describing the rotation (quaternion) and translation of the pose in the same order as the first 7 elements of the Android Sensor.TYPE_POSE_6DOF values documented on SensorEvent.values() .

The order of the values is: qx, qy, qz, qw, tx, ty, tz.

If pose_raw is NULL, initializes with the identity pose.

ArPose_destroy

void ArPose_destroy(
  ArPose *pose
)

Releases memory used by a pose object.

ArPose_getMatrix

void ArPose_getMatrix(
  const ArSession *session,
  const ArPose *pose,
  float *out_matrix_col_major_4x4
)

Converts a pose into a 4x4 transformation matrix.

Details
Parameters
session
The ARCore session
pose
The pose to convert
out_matrix_col_major_4x4
Pointer to an array of 16 floats, to be filled with a column-major homogenous transformation matrix, as used by OpenGL.

ArPose_getPoseRaw

void ArPose_getPoseRaw(
  const ArSession *session,
  const ArPose *pose,
  float *out_pose_raw_7
)

Extracts the quaternion rotation and translation from a pose object.

Details
Parameters
session
The ARCore session
pose
The pose to extract
out_pose_raw_7
Pointer to an array of 7 floats, to be filled with the quaternion rotation and translation as described in ArPose_create.