Skip to content

@jdultra/ultra-globe


@jdultra/ultra-globe / OGC3DTileLayer

Class: OGC3DTileLayer

Defined in: layers/object/OGC3DTileLayer.d.ts:23

OGC3DTileLayer

A facade for OGC3DTile that integrates with ObjectLayer's georeferencing and scaling.

Differences vs using OGC3DTile directly:

  • You cannot pass a TileLoader. Use cacheGroup instead.
  • A TileLoader is shared per cacheGroup and updated once per frame via Layer._update().
  • The underlying BundleGroup render bundle is invalidated when the layer moves or when the map floating origin shifts.

Facade design

This class exposes the public API of both OGC3DTile (tileset-level controls) and TileLoader (cache/loader controls).

  • tileset and tileLoader are created lazily when the layer is attached to a map.
  • You can call most tileset/loader methods before initialization; values are queued and applied once the tileset is created.
  • The tileLoader is shared across all layers using the same cacheGroup. Changing loader properties or clearing caches affects all those layers.

Extends

Constructors

Constructor

new OGC3DTileLayer(properties?): OGC3DTileLayer

Defined in: layers/object/OGC3DTileLayer.d.ts:65

Creates an OGC 3D Tiles layer.

This constructor accepts:

  • all Layer / ObjectLayer properties (id/name/visibility, georeferencing pose, scaling, etc.)
  • all OGC3DTile constructor properties except tileLoader
  • optional shared TileLoader tuning properties

Parameters

properties?

Object

Returns

OGC3DTileLayer

Overrides

ObjectLayer.constructor

Properties

attribution

attribution: string | null

Defined in: layers/Layer.d.ts:29

Inherited from

ObjectLayer.attribution


bounds

bounds: any

Defined in: layers/Layer.d.ts:26

Inherited from

ObjectLayer.bounds


cacheGroup

cacheGroup: number

Defined in: layers/object/OGC3DTileLayer.d.ts:96


floatingRoot

floatingRoot: any

Defined in: layers/object/ObjectLayer.d.ts:18

Inherited from

ObjectLayer.floatingRoot


id

id: string | number

Defined in: layers/Layer.d.ts:24

Inherited from

ObjectLayer.id


isLayer

isLayer: boolean

Defined in: layers/Layer.d.ts:22

Inherited from

ObjectLayer.isLayer


isObjectLayer

isObjectLayer: boolean

Defined in: layers/object/ObjectLayer.d.ts:14

Inherited from

ObjectLayer.isObjectLayer


isOGC3DTileLayer

isOGC3DTileLayer: boolean

Defined in: layers/object/OGC3DTileLayer.d.ts:94


isOverlay

isOverlay: any

Defined in: layers/object/ObjectLayer.d.ts:13

Inherited from

ObjectLayer.isOverlay


isSelectable

isSelectable: boolean

Defined in: layers/Layer.d.ts:23

Inherited from

ObjectLayer.isSelectable


isSplats

isSplats: boolean

Defined in: layers/object/OGC3DTileLayer.d.ts:115

If true, this layer is rendered in the map's splats scene.


listeners

listeners: Object

Defined in: layers/Layer.d.ts:28

Inherited from

ObjectLayer.listeners


map

map: any

Defined in: layers/Layer.d.ts:92

Inherited from

ObjectLayer.map


name

name: string

Defined in: layers/Layer.d.ts:25

Inherited from

ObjectLayer.name


object

object: any

Defined in: layers/object/ObjectLayer.d.ts:16

Inherited from

ObjectLayer.object


object3D

object3D: any

Defined in: layers/object/ObjectLayer.d.ts:17

Inherited from

ObjectLayer.object3D


objectType

objectType: any

Defined in: layers/object/ObjectLayer.d.ts:15

Inherited from

ObjectLayer.objectType


paused

paused: boolean | undefined

Defined in: layers/Layer.d.ts:82

Inherited from

ObjectLayer.paused


physics

physics: { sim: any; rigidBodyID: any; colliderIDs: never[]; } | undefined

Defined in: layers/object/ObjectLayer.d.ts:21

Inherited from

ObjectLayer.physics


physicsProps

physicsProps: any

Defined in: layers/object/ObjectLayer.d.ts:20

Inherited from

ObjectLayer.physicsProps


planet

planet: any

Defined in: layers/object/ObjectLayer.d.ts:40

Inherited from

ObjectLayer.planet


pointType

pointType: number

Defined in: layers/object/OGC3DTileLayer.d.ts:98


properties

properties: Object

Defined in: layers/object/ObjectLayer.d.ts:19

Inherited from

ObjectLayer.properties


rotation

rotation: any

Defined in: layers/object/ObjectLayer.d.ts:12

Inherited from

ObjectLayer.rotation


scene

scene: any

Defined in: layers/object/ObjectLayer.d.ts:41

Inherited from

ObjectLayer.scene


tileLoader

tileLoader: TileLoader | undefined

Defined in: layers/object/OGC3DTileLayer.d.ts:104


tileset

tileset: OGC3DTile | undefined

Defined in: layers/object/OGC3DTileLayer.d.ts:102


visible

visible: boolean

Defined in: layers/Layer.d.ts:27

Inherited from

ObjectLayer.visible

Methods

addListener()

addListener(key, listener): void

Defined in: layers/Layer.d.ts:74

Adds a listener for layer events

Parameters

key

any

can be anything but should be unique

listener

Function

a function : (layer, eventType)=>{}

Returns

void

Inherited from

ObjectLayer.addListener


clear()

clear(): void

Defined in: layers/object/OGC3DTileLayer.d.ts:299

Clears unused cached tile contents for this layer's shared cacheGroup. Equivalent to TileLoader.clear.

Note: this affects all layers using the same cacheGroup.

Returns

void


dispose()

dispose(): void

Defined in: layers/Layer.d.ts:87

disposes of any resources used by this layer

Returns

void

Inherited from

ObjectLayer.dispose


getBounds()

getBounds(): Box2

Defined in: layers/Layer.d.ts:62

Returns

Box2

bounds in longitude latitude (degrees)

Inherited from

ObjectLayer.getBounds


getCenter()

getCenter(sfct): Vector3

Defined in: layers/Layer.d.ts:37

Moves a given point to this layer's center in degree longitude/latitude

Parameters

sfct

Vector3

a point to move

Returns

Vector3

the input point

Inherited from

ObjectLayer.getCenter


getID()

getID(): string | number

Defined in: layers/Layer.d.ts:42

Returns

string | number

layer id

Inherited from

ObjectLayer.getID


getName()

getName(): string

Defined in: layers/Layer.d.ts:47

Returns

string

layer name

Inherited from

ObjectLayer.getName


getPointSize()

getPointSize(): number

Defined in: layers/object/OGC3DTileLayer.d.ts:355

Returns the multiplier applied to the automatically computed point size. The base point size is estimated from point density / geometric error, so this value is unitless and does not represent a size in meters.

Returns

number


getTileLoader()

getTileLoader(): TileLoader | undefined

Defined in: layers/object/OGC3DTileLayer.d.ts:143

Returns the shared TileLoader for this layer's cacheGroup, if already initialized.

Important: the TileLoader is shared by all layers using the same cacheGroup. Modifying it (e.g. maxCachedItems) affects all layers in that group.

Returns

TileLoader | undefined


getTileset()

getTileset(): OGC3DTile | undefined

Defined in: layers/object/OGC3DTileLayer.d.ts:134

Returns the underlying OGC3DTile instance, if already initialized.

Prefer OGC3DTileLayer.whenReady if you need to ensure the tileset exists.

Returns

OGC3DTile | undefined


hideCopyright()

hideCopyright(): void

Defined in: layers/object/OGC3DTileLayer.d.ts:213

Returns

void


invalidate()

invalidate(path, tileIdentifier): void

Defined in: layers/object/OGC3DTileLayer.d.ts:310

Invalidates a cached tile content URL after a delay (timeout ms). Equivalent to TileLoader.invalidate.

Note: this affects all layers using the same cacheGroup.

Parameters

path

string

Content URL/path.

tileIdentifier

Tile identifier (usually a UUID).

string | number

Returns

void


move()

move(longitude?, latitude?, height?, yaw?, pitch?, roll?, scaleX?, scaleY?, scaleZ?): void

Defined in: layers/object/ObjectLayer.d.ts:35

Sets the object position and orientation based on Longitude, Latitude, Height, Yaw, Pitch, Roll

Parameters

longitude?

number

latitude?

number

height?

number

yaw?

number

pitch?

number

roll?

number

scaleX?

number

scaleY?

number

scaleZ?

number

Returns

void

Inherited from

ObjectLayer.move


move2()

move2(longitude?, latitude?, height?, targetLongitude?, targetLatitude?, targetHeight?, scaleX?, scaleY?, scaleZ?): void

Defined in: layers/object/ObjectLayer.d.ts:36

Parameters

longitude?

number

latitude?

number

height?

number

targetLongitude?

number

targetLatitude?

number

targetHeight?

number

scaleX?

number

scaleY?

number

scaleZ?

number

Returns

void

Inherited from

ObjectLayer.move2


raycast()

raycast(raycaster): any[]

Defined in: layers/Layer.d.ts:80

raycasts through objects from this layer if the layer is selectable and if the objects are raycastable

Parameters

raycaster

Object

a three.js Raycaster

Returns

any[]

an array of selected objects

Inherited from

ObjectLayer.raycast


raycastTileset()

raycastTileset(raycaster, intersects): void

Defined in: layers/object/OGC3DTileLayer.d.ts:225

Raycasts against the tileset contents (three.js style).

This is not the map selection API; this is the low-level three.js Object3D.raycast hook.

Parameters

raycaster

Raycaster

intersects

Intersection[]

Returns

void


removeListener()

removeListener(key): void

Defined in: layers/Layer.d.ts:68

Removes the listener associated to the given key

Parameters

key

any

can be anything but should be unique

Returns

void

Inherited from

ObjectLayer.removeListener


setCanvasSize()

setCanvasSize(width, height): void

Defined in: layers/object/OGC3DTileLayer.d.ts:171

Sets the canvas width/height used to compute geometric error refinement.

Note: if a renderer is available, the tileset can infer the drawing buffer size automatically.

Parameters

width

number

height

number

Returns

void


setClipShape()

setClipShape(clipShape?): void

Defined in: layers/object/OGC3DTileLayer.d.ts:154

Specifies a clip shape object in world space; tiles outside of the shape are not loaded.

Parameters

clipShape?

any

Clip volume.

Returns

void


setDistanceBias()

setDistanceBias(distanceBias): void

Defined in: layers/object/OGC3DTileLayer.d.ts:211

Sets the distance bias exponent used by refinement.

Parameters

distanceBias

number

Returns

void


setDownloadParallelism()

setDownloadParallelism(downloadParallelism): void

Defined in: layers/object/OGC3DTileLayer.d.ts:328

Sets the max number of concurrent downloads for the shared TileLoader.

Note: this affects all layers using the same cacheGroup.

Parameters

downloadParallelism

number

Returns

void


setGeometricErrorMultiplier()

setGeometricErrorMultiplier(geometricErrorMultiplier): void

Defined in: layers/object/OGC3DTileLayer.d.ts:204

Sets the geometric error multiplier for the tileset.

Parameters

geometricErrorMultiplier

number

Returns

void


setMaxCachedItems()

setMaxCachedItems(maxCachedItems): void

Defined in: layers/object/OGC3DTileLayer.d.ts:319

Sets the maximum number of cached items for the shared TileLoader.

Note: this affects all layers using the same cacheGroup.

Parameters

maxCachedItems

number

Returns

void


setName()

setName(name): void

Defined in: layers/Layer.d.ts:52

change the layer name

Parameters

name

string

Returns

void

Inherited from

ObjectLayer.setName


setPointSize()

setPointSize(pointSize?): void

Defined in: layers/object/OGC3DTileLayer.d.ts:363

Sets the multiplier applied to the automatically computed point size. The base point size is estimated from point density / geometric error, so this value is unitless and does not represent a size in meters.

Parameters

pointSize?

number

Returns

void


setPointType()

setPointType(pointType): void

Defined in: layers/object/OGC3DTileLayer.d.ts:290

Sets the point representation mode for this tileset at runtime.

This only affects this layer/tileset instance and does not mutate the shared TileLoader for the cacheGroup.

Parameters

pointType

number

Returns

void


setPose()

setPose(position, rotation, scale): void

Defined in: layers/object/ObjectLayer.d.ts:37

Parameters

position

any

rotation

any

scale

any

Returns

void

Inherited from

ObjectLayer.setPose


setSplatsContrast()

setSplatsContrast(splatsContrast): void

Defined in: layers/object/OGC3DTileLayer.d.ts:273

Sets contrast multiplier for splats.

Parameters

splatsContrast

number

Returns

void


setSplatsCPUCulling()

setSplatsCPUCulling(splatsCPUCulling): void

Defined in: layers/object/OGC3DTileLayer.d.ts:249

Enables/disables CPU culling for splats.

Parameters

splatsCPUCulling

boolean

Returns

void


setSplatsCropRadius()

setSplatsCropRadius(cropRadius): void

Defined in: layers/object/OGC3DTileLayer.d.ts:237

Specifies a crop radius for splats.

Parameters

cropRadius

number

Returns

void


setSplatsDepthBias()

setSplatsDepthBias(depthBias): void

Defined in: layers/object/OGC3DTileLayer.d.ts:243

Sets depth bias for splats rendering (helps avoid overlap issues when overlaying splats on meshes).

Parameters

depthBias

number

Returns

void


setSplatsExposureEV()

setSplatsExposureEV(splatsExposureEV): void

Defined in: layers/object/OGC3DTileLayer.d.ts:261

Sets exposure compensation (EV stops) for splats.

Parameters

splatsExposureEV

number

Returns

void


setSplatsQuality()

setSplatsQuality(splatsQuality): void

Defined in: layers/object/OGC3DTileLayer.d.ts:255

Sets splats quality.

Parameters

splatsQuality

number

Returns

void


setSplatsSaturation()

setSplatsSaturation(splatsSaturation): void

Defined in: layers/object/OGC3DTileLayer.d.ts:267

Sets saturation multiplier for splats.

Parameters

splatsSaturation

number

Returns

void


setSplatsSizeMultiplier()

setSplatsSizeMultiplier(sizeMultiplier): void

Defined in: layers/object/OGC3DTileLayer.d.ts:231

Specifies a size multiplier for splats.

Parameters

sizeMultiplier

number

Returns

void


setSplatsTempTint()

setSplatsTempTint(splatsTemperature, splatsTint): void

Defined in: layers/object/OGC3DTileLayer.d.ts:280

Sets temperature and tint for splats.

Parameters

splatsTemperature

number

splatsTint

number

Returns

void


setTileLoaderTimeout()

setTileLoaderTimeout(timeout): void

Defined in: layers/object/OGC3DTileLayer.d.ts:337

Sets the invalidate timeout (ms) for the shared TileLoader.

Note: this affects all layers using the same cacheGroup.

Parameters

timeout

number

Returns

void


setTilesetPose()

setTilesetPose(position, rotation, scale): void

Defined in: layers/object/OGC3DTileLayer.d.ts:197

Sets the world-space pose of the tileset.

Note: for georeferenced positioning, prefer ObjectLayer.move / ObjectLayer.setPose. This method is exposed for API parity with OGC3DTile.

Parameters

position

Vector3

rotation

any

scale

Vector3

Returns

void


setVisible()

setVisible(visible): void

Defined in: layers/object/ObjectLayer.d.ts:42

Modifies the layer visibility

Parameters

visible

any

Returns

void

Inherited from

ObjectLayer.setVisible


showCopyright()

showCopyright(): void

Defined in: layers/object/OGC3DTileLayer.d.ts:215

Returns

void


update()

update(camera): { numTilesLoaded: number; numTilesRendered: number; maxLOD: number; percentageLoaded: number; } | undefined

Defined in: layers/object/OGC3DTileLayer.d.ts:180

Updates the tileset refinement state.

This is normally called automatically by the map render loop.

Parameters

camera

Camera

Returns

{ numTilesLoaded: number; numTilesRendered: number; maxLOD: number; percentageLoaded: number; } | undefined


updateMatrices()

updateMatrices(): void

Defined in: layers/object/OGC3DTileLayer.d.ts:161

Manually updates all matrices of the tileset. Use this after transforming a tileset created with the static option.

Returns

void


whenReady()

whenReady(): Promise<OGC3DTile | undefined>

Defined in: layers/object/OGC3DTileLayer.d.ts:126

Ensures the layer is initialized (tileset + shared TileLoader).

This is useful when you want to call tileset/loader APIs immediately after adding the layer.

Returns

Promise<OGC3DTile | undefined>

Resolves once initialized. Resolves to undefined if the layer has no map/renderer yet.