An OGC tileset model connects to a 3D tile service to retrieve tiles for a TileSet3DLayer. Its constructor should not be called directly. Instead, use the static create method:

[[include:model/tileset/OGC3DTilesModelSnippets.ts_CREATE_FROM_URL]]

Supported versions

The current LuciadRIA OGC 3D Tiles model supports the OGC 3D Tiles 1.0 specification. It also partially supports the OGC 3D Tiles 1.1 specification. It explicitly supports:

  • Decoding from the `tileset.json` file entry point, with full metadata support, including property values and ranges.
  • Decoding from the `tileset.json` file entry point, when it is describing an implicit tile structure, making use of subtrees.
  • B3DM/GLB/glTF payloads for the visualization of 3D meshes.
  • Both glTF 1.0 and glTF 2.0 in the payload.
  • Draco-compressed meshes in the glTF data.
  • KTX2/CRN/WEBP/JPG/PNG images in the glTF data.
  • All PBR shading properties of the glTF format.
  • The following glTF extensions:
    • KHR_texture_transform
    • KHR_mesh_quantization
    • EXT_meshopt_compression
    • EXT_mesh_features
    • EXT_mesh_gpu_instancing
    • EXT_structural_metadata
  • glTF models referencing multiple textures.
  • PNTS/GLB/glTF payloads for the visualization of point clouds. A PNTS payload with Draco compression is also supported.
  • Additive and Replace refinement for `tileset.json`.
  • Styling and filtering of point cloud data sets with full expression language support for dynamic, GPU-based styling and filtering of point clouds.
  • Quality management to trade off between visual quality and performance, through the quality factor setting in the API.

The following limitations hold for OGC 3D Tiles:

  • Instanced 3D Model (I3DM) tiles are not supported.
  • Composite Tile Model (CMPT or multiple-node glTF or multiple contents in OGC 3D Tiles 1.1) tiles are not supported.
  • B3DM does not support animations.
  • CRN images may only contain DXT1 compatible data.
  • KTX2 images must be created from the Basis Universal Texture tool.
  • Embedded binary textures are supported, but externally referenced textures are not.
  • glTF materials extensions are not supported.
  • Declarative Styling in `tileset.json` is not supported directly, but can be achieved using LuciadRIA expressions, based on the `ExpressionFactory`.
  • Complex, hierarchical batch table properties are not supported.
  • Metadata for subtrees (implicit tiling) is not supported.
  • A payload with both 3D meshes and point clouds is not supported.
  • In EXT_mesh_features, 'Feature ID by Texture' is not supported.
  • In EXT_structural_metadata, 'Property Textures' and 'Multiple Feature IDs' are not supported.

Implements

Constructors

Accessors

  • get bounds(): Bounds
  • Bounds of the model, in the model reference. If the model has no reference, it will default to a cartesian 3D reference.

    Returns Bounds

  • get credentials(): boolean
  • Indicates whether credentials should be included with HTTP requests.

    Set this to true if the server requires credentials, like HTTP basic authentication headers or cookies. You should disable credentials if the server is configured to allow cross-origin requests from all domains (Acces-Control-Allow-Origin=*). If the server allows CORS requests from all domains, the browser will block all requests where credentials=true.

    Once set, all subsequent HTTP requests will use the newly set value.

    The default value is false.

    Returns boolean

  • set credentials(value): void
  • Parameters

    • value: boolean

    Returns void

  • get orientedBox(): OrientedBox
  • The orientedBox is a read-only attribute that contains a tight-fitting 3D box around the dataset. The OrientedBox is defined in the same reference as this model.

    Returns OrientedBox

    2020.0

  • get requestHeaders(): null | HttpRequestHeaders
  • Headers to send with every HTTP request.

    An object literal that represents the headers to send with every HTTP request. The property names represent HTTP header names, the property values represent the HTTP header values. This property can be set dynamically (post-construction). Once set, all subsequent HTTP requests will use the newly set headers.

    Note that when custom headers are being sent to a server on another domain, the server will have to properly respond to pre-flight CORS requests (a HTTP OPTION request sent by the browser before doing the actual request). The server has to indicate that the header can be used in the actual request, by including it in the pre-flight's Access-Control-Allow-Headers response header.

    The default value is null.

    Returns null | HttpRequestHeaders

  • set requestHeaders(value): void
  • Parameters

    Returns void

  • get requestParameters(): null | HttpRequestParameters
  • Custom request parameters to send along with 3DTiles requests. The object literal can contain simple key/value pairs. Accepted values are strings, numbers and booleans. A ProgrammingError will be thrown if values of another type are used. Values must not be URL encoded.

    Assignments of other values than object literals to requestParameters will throw an Error. Clearing the parameters can be done by assigning null or an empty object literal to requestParameters.

    Returns null | HttpRequestParameters

    2021.0

  • set requestParameters(value): void
  • Parameters

    Returns void

  • get url(): string
  • The URL of this OGC 3D Tiles tileset model. It is the URL where the root tileset.json resides, including "tileset.json" itself.

    For example, if tileset.json is located at "http://www.mytileset.com/ogc/dataset/tileset.json", then the `url` is "http://www.mytileset.com/ogc/dataset/tileset.json".

    Returns string

  • get urlParams(): string
  • The parameter string of model's URL.

    Returns string

    Please use requestParameters

Methods

  • Override to provide attribution strings for your OGC3DTilesModel. By default, this returns an empty array.

    Parameters

    Returns string[]

    2024.0

  • Override to provide a attributions-logo for your OGC3DTilesModel. By default, this returns null.

    Returns null | string

    2023.1

  • Creates an OGC 3D Tiles Model for a given 3D tile service

    Parameters

    • url: string

      The URI of the OGC 3D Tiles Model. It is the URL where the root tileset.json resides, including "tileset.json" itself.

    • Optionaloptions: CreateOGC3DTilesModelOptions

      An object literal specifying options for the creation of the OGC 3D Tiles Model.

    Returns Promise<OGC3DTilesModel>

    A promise for an OGC3DTilesModel. If the model cannot be created then the promise is rejected with either RequestError.

Events