Pose struct
Position plus orientation (x, y, z, w). A pose carries no space of its own: every member that holds one names the space it is in. The bindings convert no coordinates; each value is exactly what the native library produced.
Namespace: Quaternar.Qaros.Mathematics · Assembly: Quaternar.Qaros.dll
public readonly struct Pose
Remarks
Every 3D space follows OpenXR: right-handed, +Y up, -Z forward, so a view looks along -Z. The spaces, as in the C header (types.h, "Coordinate systems") and https://docs.quaternar.com/docs/developer-guide/coordinate-systems/:
- Room space: the frame every peer in a session places things in, in metres. Whatever arrives through data streams and shared objects is in the publishing peer's room space: app volume poses, GUI panel poses, peer data.
- App volume space: one app volume's local frame, origin at the cuboid centre, +X along width, +Y up along height, +Z along length, in metres. The app pose and the deltas of a mapped app volume gesture are in it.
- App content space: the application's own world inside the volume, the space it renders in: app volume space taken into the app pose, positions divided by the app scale, so in app metres. Everything a render sender hands the source application is in the bound volume's app content space: view poses, the rendered pose of a view override, hand aim poses, joint poses, joint radii and joint velocities.
- View space: one render view's camera frame, looking along -Z.
Fovangles are in it.
Constructors
Pose(Quaternion, Vector3)
public Pose(Quaternion orientation, Vector3 position)
Parameters
| Name | Type | Description |
|---|---|---|
orientation | Quaternion | |
position | Vector3 |
Properties
| Member | Description |
|---|---|
| Orientation | |
| Position | |
| Identity |
Orientation
public Quaternion Orientation { get; }
Value: Quaternion
Position
public Vector3 Position { get; }
Value: Vector3
Identity
public static Pose Identity { get; }
Value: Pose