Layer
Abstract base class for everything that can be added to a viewport.
A Layer owns a set of renderable objects and contributes them to the scene each frame. Subclasses (e.g. ImageLayer, VolumeLayer, LabelLayer) implement Layer.update to build or refresh those objects for the current view, and may override the attach/detach hooks to acquire and release resources when the layer joins or leaves a viewport.
Layers carry shared presentation state — Layer.opacity and blend mode — and expose a lifecycle LayerState (initialized → loading → ready) that observers can subscribe to. A layer instance may be attached to only one viewport at a time.
Extended by
Constructor
ts
new Layer(__namedParameters?): Layer;| Parameter | Type |
|---|---|
__namedParameters | LayerProps |
Types
LayerState
ts
type LayerState = "initialized" | "loading" | "ready";Properties
type
ts
abstract readonly type: string;blendMode
ts
blendMode: BlendMode;Accessors
opacity number
ts
get opacity(): number;ts
set opacity(value): void;| Parameter | Type |
|---|---|
value | number |
coverageGroups ReadonlyMap<number | null, readonly RenderableObject[]>
ts
get coverageGroups(): ReadonlyMap<number | null, readonly RenderableObject[]>;state LayerState
ts
get state(): LayerState;Methods
update() void
ts
abstract update(viewport?): void;| Parameter | Type |
|---|---|
viewport? | Viewport |
onEvent() void
ts
onEvent(_): void;| Parameter | Type |
|---|---|
_ | EventContext |
onAttached() void
ts
onAttached(context): void;| Parameter | Type |
|---|---|
context | IdetikContext |
onDetached() void
ts
onDetached(context): void;| Parameter | Type |
|---|---|
context | IdetikContext |
attach() void
ts
protected attach(_context): void;| Parameter | Type |
|---|---|
_context | IdetikContext |
detach() void
ts
protected detach(_context): void;| Parameter | Type |
|---|---|
_context | IdetikContext |
addStateChangeCallback() void
ts
addStateChangeCallback(callback): void;| Parameter | Type |
|---|---|
callback | StateChangeCallback |
removeStateChangeCallback() void
ts
removeStateChangeCallback(callback): void;| Parameter | Type |
|---|---|
callback | StateChangeCallback |
setState() void
ts
protected setState(newState): void;| Parameter | Type |
|---|---|
newState | LayerState |
addObject() void
ts
protected addObject(object, coverageGroup?): void;| Parameter | Type | Default value |
|---|---|---|
object | RenderableObject | undefined |
coverageGroup | number | null | null |
clearObjects() void
ts
protected clearObjects(): void;getUniforms() Record<string, unknown>
Get uniforms for shader program. Override in derived classes that need custom uniforms.
ts
getUniforms(): Record<string, unknown>;