Skip to content

Class: CrosshairManager

Defined in: src/CrosshairManager.ts:15

Manages a 3D crosshair (three orthogonal lines) that can be positioned at a vertex on a surface mesh. Supports selection and hover modes.

Constructors

Constructor

ts
new CrosshairManager(requestRender): CrosshairManager;

Defined in: src/CrosshairManager.ts:32

Parameters

requestRender

() => void

Returns

CrosshairManager

Properties

size

ts
size: number = 1.5;

Defined in: src/CrosshairManager.ts:20


color

ts
color: number = 0xffcc00;

Defined in: src/CrosshairManager.ts:21


surfaceId

ts
surfaceId: string | null = null;

Defined in: src/CrosshairManager.ts:22


vertexIndex

ts
vertexIndex: number | null = null;

Defined in: src/CrosshairManager.ts:23


visible

ts
visible: boolean = false;

Defined in: src/CrosshairManager.ts:24


mode

ts
mode: CrosshairMode | null = null;

Defined in: src/CrosshairManager.ts:25


hoverThrottleMs

ts
hoverThrottleMs: number = 80;

Defined in: src/CrosshairManager.ts:27


lastHoverUpdate

ts
lastHoverUpdate: number = 0;

Defined in: src/CrosshairManager.ts:28

Methods

show()

ts
show(
   mesh, 
   surfaceId, 
   vertexIndex, 
   options?): void;

Defined in: src/CrosshairManager.ts:39

Show the crosshair at a specific vertex on a mesh.

Parameters

mesh

Mesh

surfaceId

string

vertexIndex

number

options?

CrosshairOptions

Returns

void


hide()

ts
hide(): void;

Defined in: src/CrosshairManager.ts:81

Hide the crosshair and clear tracking state.

Returns

void


toggle()

ts
toggle(
   mesh, 
   surfaceId?, 
   vertexIndex?, 
   options?): void;

Defined in: src/CrosshairManager.ts:100

Toggle crosshair visibility. If hidden and a target is provided (or remembered from a previous show()), it will be re-shown.

Parameters

mesh

| Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap> | null

surfaceId?

string

vertexIndex?

number

options?

CrosshairOptions

Returns

void


canHoverUpdate()

ts
canHoverUpdate(): boolean;

Defined in: src/CrosshairManager.ts:122

Returns true if a hover update is allowed (throttle has elapsed).

Returns

boolean


toStateJSON()

ts
toStateJSON(): object;

Defined in: src/CrosshairManager.ts:129

Returns

object

visible
ts
visible: boolean;
surfaceId
ts
surfaceId: string | null;
vertexIndex
ts
vertexIndex: number | null;
size
ts
size: number;
color
ts
color: number;
mode
ts
mode: string | null;

dispose()

ts
dispose(): void;

Defined in: src/CrosshairManager.ts:143

Dispose all GPU resources (geometries, material).

Returns

void

Released under the MIT License.