# Interface TrackCoordinate2D<Tracked3D>

Represents information on a 3D coordinate's location on screen (2D).

interface TrackCoordinate2D<Tracked3D extends Vertex3 = Vertex3> {
canvasPosition: DeepImmutable<Vertex2>;
distance: number;
id: unknown;
position: DeepImmutable<Vertex2>;
state: TrackCoordinate2DState;
trackedCoordinate: Tracked3D;
visible: boolean;
}

#### Type Parameters

- Tracked3D extends Vertex3 = Vertex3

#### Hierarchy (View Summary)

- TrackCoordinate2DData
  - TrackCoordinate2D

##### Index

### Properties

canvasPosition
distance
id
position
state
trackedCoordinate
visible

## Properties

### `Readonly` canvasPosition

canvasPosition: DeepImmutable<Vertex2>

Position in 2D of the tracked coordinate relative to the canvas. Canvas refers to the the HTML canvas that BimApi uses.

#### Remarks

This is useful when one wants to position HTML elements on top of the canvas and make those HTML elements children to the canvas.

Inherited from TrackCoordinate2DData.canvasPosition

### `Readonly` distance

distance: number

If active camera is a perspective camera, this is the distance from the camera to the 3D coordinate For an orthographic camera, it is the height of the frustum.

Inherited from TrackCoordinate2DData.distance

### `Readonly` id

id: unknown

Id of tracked 3D coordinate

Inherited from TrackCoordinate2DData.id

### `Readonly` position

position: DeepImmutable<Vertex2>

Position in 2D of the tracked coordinate

Inherited from TrackCoordinate2DData.position

### `Readonly` state

state: TrackCoordinate2DState

Current state. Tells whether item is detached, added, updated or deleted.

Inherited from TrackCoordinate2DData.state

### `Readonly` trackedCoordinate

trackedCoordinate: Tracked3D

3D coordinate we subscribed to.

### `Readonly` visible

visible: boolean

Whether the 3D coordinate is visible on screen or not

Inherited from TrackCoordinate2DData.visible