# Pose3D

Encapsulates a rotation and a translation.

## Summary

This is a convenience class that allows construction and value access either by Matrix4x4 or Quaternion + Vector3 types.

### Inheritance

Direct Known Subclasses:[MutablePose3D](https://developers.google.com/vr/reference/unity/class/MutablePose3D)

| ### Constructors and Destructors ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1ae7990746a758a181727844f1e7a4c321()` Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class. ||
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1aee0d4293a73ac6979f844880abba2b50(Vector3 position, Quaternion orientation)` Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class. ||
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a312f7a43f03ea77f6a70d92152a3c857(Matrix4x4 matrix)` Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class. ||

| ### Public static attributes ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a696f278f27d739563b1bd8705e9575da = Matrix4x4.Scale(new Vector3(1, 1, -1))` | `readonly Matrix4x4` Right-handed to left-handed matrix converter (and vice versa). |

| ### Properties ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a369abb76b08db340ae4e7bbd707b29a1` | `Matrix4x4` Gets or sets the pose as a matrix in Unity gameobject convention. |
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a9feca30653b61f261d23f1b4692906fd` | `Quaternion` Gets or sets the rotation component of the pose. |
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a9b6b79be719730e495717118f95ea4f7` | `Vector3` Gets or sets the translation component of the pose. |
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1ad77425279d4a00e5c5c65e65d775fef7` | `Matrix4x4` Gets the pose as a matrix in right-handed coordinates. |

| ### Public static functions ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a5c3f201a4baa91aef893bf95cba137d2(Matrix4x4 matrix)` | `Matrix4x4` Flip the handedness of a matrix. |

| ### Protected functions ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1a5dd55ee8be1972b45d528a98a3bd0df2(Vector3 position, Quaternion orientation)` | `void` Sets a [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) according to the provided values. |
| `https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D_1ac5c53a6d8db8f87d42efbc4accec2625(Matrix4x4 matrix)` | `void` Sets a [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) according to the provided values. |

## Public static attributes

### FLIP_Z

```c#
readonly Matrix4x4 FLIP_Z = Matrix4x4.Scale(new Vector3(1, 1, -1))
```
Right-handed to left-handed matrix converter (and vice versa).

## Properties

### Matrix

```c#
Matrix4x4 Matrix
```
Gets or sets the pose as a matrix in Unity gameobject convention.

GVR contention is right-handed, while Unity convention is left-handed.

The pose as a matrix in Unity gameobject convention.

### Orientation

```c#
Quaternion Orientation
```
Gets or sets the rotation component of the pose.

The rotation component of the pose.

### Position

```c#
Vector3 Position
```
Gets or sets the translation component of the pose.

The translation component of the pose.

### RightHandedMatrix

```c#
Matrix4x4 RightHandedMatrix
```
Gets the pose as a matrix in right-handed coordinates.

The pose as a matrix in right-handed coordinates.

## Public functions

### Pose3D

```c#
 Pose3D()
```
Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class.

Initializes position to the origin and orientation to the identity rotation.

### Pose3D

```c#
 Pose3D(
  Vector3 position,
  Quaternion orientation
)
```
Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class.

<br />

Details Parameters `position` The position to initialize. `orientation` The orientation to initialize.

### Pose3D

```c#
 Pose3D(
  Matrix4x4 matrix
)
```
Initializes a new instance of the [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) class.

<br />

Details Parameters `matrix` The matrix to initialize.

## Public static functions

### FlipHandedness

```c#
Matrix4x4 FlipHandedness(
  Matrix4x4 matrix
)
```
Flip the handedness of a matrix.

<br />

Details Parameters `matrix` The Matrix4x4 to flip. **Returns** A handedness-flipped Matrix4x4.

## Protected functions

### Set

```c#
void Set(
  Vector3 position,
  Quaternion orientation
)
```
Sets a [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) according to the provided values.

<br />

Details Parameters `position` The position to set. `orientation` The orientation to set.

### Set

```c#
void Set(
  Matrix4x4 matrix
)
```
Sets a [Pose3D](https://developers.google.com/vr/reference/unity/class/Pose3D#classPose3D) according to the provided values.

<br />

Details Parameters `matrix` The matrix to set.