# ArPoint

Represents a point in space that ARCore is tracking.

## Summary

| ### Enumerations ||
|---|---|
| `https://developers.google.com/ar/reference/c/group/ar-point#arpointorientationmode{ https://developers.google.com/ar/reference/c/group/ar-point#ar_point_orientation_initialized_to_identity = 0, https://developers.google.com/ar/reference/c/group/ar-point#ar_point_orientation_estimated_surface_normal = 1 }` | enumIndicates the orientation mode of the `https://developers.google.com/ar/reference/c/group/ar-point#arpoint`. |

| ### Typedefs ||
|---|---|
| `https://developers.google.com/ar/reference/c/group/ar-point#arpoint` | typedef `struct ArPoint_` An arbitrary point in space ([reference type, long-lived](https://developers.google.com/ar/reference/c/group/concepts#object-ownership)). |

| ### Functions ||
|---|---|
| `https://developers.google.com/ar/reference/c/group/ar-point#arpoint_getorientationmode(const https://developers.google.com/ar/reference/c/group/ar-session#arsession *session, const https://developers.google.com/ar/reference/c/group/ar-point#arpoint *point, https://developers.google.com/ar/reference/c/group/ar-point#arpointorientationmode *out_orientation_mode)` | `void` Returns the `https://developers.google.com/ar/reference/c/group/ar-point#arpointorientationmode` of the point. |
| `https://developers.google.com/ar/reference/c/group/ar-point#arpoint_getpose(const https://developers.google.com/ar/reference/c/group/ar-session#arsession *session, const https://developers.google.com/ar/reference/c/group/ar-point#arpoint *point, https://developers.google.com/ar/reference/c/group/ar-pose#arpose *out_pose)` | `void` Returns the pose of the point. |

## Enumerations

### ArPointOrientationMode

```
 ArPointOrientationMode
```
Indicates the orientation mode of the `https://developers.google.com/ar/reference/c/group/ar-point#arpoint`.

| Properties ||
|---|---|
| `AR_POINT_ORIENTATION_ESTIMATED_SURFACE_NORMAL` | The orientation of the `https://developers.google.com/ar/reference/c/group/ar-point#arpoint` will follow the behavior described in `https://developers.google.com/ar/reference/c/group/ar-hit-result#arhitresult_gethitpose`. |
| `AR_POINT_ORIENTATION_INITIALIZED_TO_IDENTITY` | The orientation of the `https://developers.google.com/ar/reference/c/group/ar-point#arpoint` is initialized to identity but may adjust slightly over time. |

## Typedefs

### ArPoint

```
struct ArPoint_ ArPoint
```
An arbitrary point in space ([reference type, long-lived](https://developers.google.com/ar/reference/c/group/concepts#object-ownership)).


- Trackable type: `https://developers.google.com/ar/reference/c/group/ar-trackable#ar_trackable_point`
- Release with: `https://developers.google.com/ar/reference/c/group/ar-trackable#artrackable_release`

<br />

## Functions

### ArPoint_getOrientationMode

```
void ArPoint_getOrientationMode(
  const ArSession *session,
  const ArPoint *point,
  ArPointOrientationMode *out_orientation_mode
)
```
Returns the `https://developers.google.com/ar/reference/c/group/ar-point#arpointorientationmode` of the point.

For `https://developers.google.com/ar/reference/c/group/ar-point#arpoint` objects created by `https://developers.google.com/ar/reference/c/group/ar-frame#arframe_hittest`. If `https://developers.google.com/ar/reference/c/group/ar-point#arpointorientationmode` is `https://developers.google.com/ar/reference/c/group/ar-point#ar_point_orientation_estimated_surface_normal`, then normal of the surface centered around the `https://developers.google.com/ar/reference/c/group/ar-point#arpoint` was estimated successfully.


Details Parameters `session` The ARCore session. `point` The point to retrieve the pose of. `out_orientation_mode` OrientationMode output result for the point.

### ArPoint_getPose

```
void ArPoint_getPose(
  const ArSession *session,
  const ArPoint *point,
  ArPose *out_pose
)
```
Returns the pose of the point.

If `https://developers.google.com/ar/reference/c/group/ar-point#arpoint_getorientationmode` returns `https://developers.google.com/ar/reference/c/group/ar-point#ar_point_orientation_estimated_surface_normal`, the orientation will follow the behavior described in `https://developers.google.com/ar/reference/c/group/ar-hit-result#arhitresult_gethitpose`. If `https://developers.google.com/ar/reference/c/group/ar-point#arpoint_getorientationmode` returns `https://developers.google.com/ar/reference/c/group/ar-point#ar_point_orientation_initialized_to_identity`, then returns an orientation that is identity or close to identity.
Details Parameters `session` The ARCore session. `point` The point to retrieve the pose of. `out_pose` An already-allocated `https://developers.google.com/ar/reference/c/group/ar-pose#arpose` object into which the pose will be stored.