LCCRender::load
Lädt LCC-Daten und gibt ein LCCObject zurück.
Das Web SDK unterstützt Three.js und CesiumJS Engines. Übergeben Sie die entsprechenden Engine-Parameter, um ein LCC-Modell zu laden.
Versionsanforderung
SDK v0.2.0+
Engine-Unterstützung
Three.js / CesiumJS
API
LCCRender::load(param: LoadOptions, successFunc: SuccessFunc, progressFunc: ProgressFunc, failureFunc: FailureFunc, preProcessFunc?: PreProcessFunc): LCCObject
Parameter
param (Three.js)
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
param.camera | THREE.PerspectiveCamera / THREE.OrthographicCamera | Ja | - | Three.js Kameraobjekt. |
param.scene | THREE.Scene | Ja | - | Three.js Szenenobjekt. |
param.renderLib | THREE | Ja | - | Three.js Bibliotheksreferenz, z. B. import * as THREE from 'three'. |
param.renderLibWebgpu | typeof import('three/webgpu') | Nein | - | Three.js WebGPU-Modulreferenz, z. B. import * as THREE_WEBGPU from 'three/webgpu'. |
param.renderLibTSL | typeof import('three/tsl') | Nein | - | Three.js TSL-Modulreferenz, z. B. import * as TSL from 'three/tsl'. |
param.renderer | THREE.WebGLRenderer | Ja | - | Three.js Renderer. |
param.dataPath | String / Object | Ja | - | LCC-Datenpfad. Unterstützt Zeichenkettenpfad (.lcc / .lcc2 / meta.lcc mit Token) oder Pfad-Deskriptor-Objekt. |
param.canvas | HTMLCanvasElement | Ja | - | Canvas-Element für das Rendering, verfügbar über renderer.domElement. |
param.appKey | String | Nein | - | AppKey zum Entfernen des Wasserzeichens. |
param.useEnv | Boolean | Nein | - | Ob Umgebungsdaten angezeigt werden sollen. |
param.useIndexDB | Boolean | Nein | true | Ob lokales Daten-Caching aktiviert werden soll. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | Nein | false | Ob Ladeeffekte aktiviert werden sollen. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | Nein | - | Mittelpunktposition des Ladeeffekts. SDK v0.5.1+ |
param.pointsColor | String | Nein | 'default' | Punktwolken-Anzeigestil: 'default' (Originalfarbe) oder 'rainbow' (Höhenfarbe). |
param.modelMatrix | THREE.Matrix4 | Nein | - | Modellmatrix. SDK v0.5.2+ |
param.maxHostCacheSize | number | Nein | - | Host-Cache-Größe. SDK v0.5.4+ |
param.maxGpuCacheSize | number | Nein | - | GPU-Cache-Größe. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | Nein | true (PC) | Hochpräzises Raycasting aktivieren. Standardmäßig auf PC aktiviert; auf Mobilgeräten nicht unterstützt. SDK v0.6.3+ |
param (CesiumJS)
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
param.camera | Cesium.Camera | Ja | - | Cesium Kameraobjekt. |
param.scene | Cesium.Scene | Ja | - | Cesium Szenenobjekt. |
param.renderLib | Cesium | Ja | - | CesiumJS Bibliotheksreferenz, z. B. import * as Cesium from 'cesium'. |
param.dataPath | String / Object | Ja | - | LCC-Datenpfad. Unterstützt Zeichenkettenpfad (.lcc / .lcc2 / meta.lcc mit Token) oder Pfad-Deskriptor-Objekt. |
param.canvas | HTMLCanvasElement | Ja | - | Canvas-Element für das Rendering, verfügbar über viewer.scene.canvas. |
param.modelMatrix | Cesium.Matrix4 | Nein | - | Modelltransformationsmatrix. Nicht erforderlich für RTK-georeferenzierte Daten. |
param.appKey | String | Nein | - | AppKey zum Entfernen des Wasserzeichens. |
param.useEnv | Boolean | Nein | - | Ob Umgebungsdaten angezeigt werden sollen. |
param.useIndexDB | Boolean | Nein | true | Ob lokales Daten-Caching aktiviert werden soll. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | Nein | false | Ob Ladeeffekte aktiviert werden sollen. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | Nein | - | Mittelpunktposition des Ladeeffekts. SDK v0.5.1+ |
param.pointsColor | String | Nein | 'default' | Punktwolken-Anzeigestil: 'default' (Originalfarbe) oder 'rainbow' (Höhenfarbe). |
param.maxHostCacheSize | number | Nein | - | Host-Cache-Größe. SDK v0.5.4+ |
param.maxGpuCacheSize | number | Nein | - | GPU-Cache-Größe. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | Nein | true (PC) | Hochpräzises Raycasting aktivieren. Standardmäßig auf PC aktiviert; auf Mobilgeräten nicht unterstützt. SDK v0.6.3+ |
Callback-Funktionen
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
successFunc | (model: any) => void | Ja | Callback bei erfolgreichem Modell-Laden. Parameter ist das erstellte Mesh. |
progressFunc | (progress: number) => void | Ja | Callback für den Ladefortschritt des Modells. Parameter ist der Prozentsatz (0–1). |
failureFunc | () => void | Ja | Callback bei fehlgeschlagenem Modell-Laden. |
preProcessFunc | (buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }> | Nein | Datenvorverarbeitungs-Callback zur Verarbeitung von Daten vor dem Rendering. SDK v0.5.0+ |
dataPath-Format
dataPath unterstützt zwei Formate:
Option 1: Zeichenkettenpfad (empfohlen)
Übergeben Sie direkt eine Zeichenkette mit dem LCC-Datenpfad:
- Vollständiger
.lcc-Dateipfad, z. B.http://example.com/data/xxxx.lcc. SDK v0.4.1+ (empfohlen) - Vollständiger
.lcc2-Dateipfad, z. B.http://example.com/data/xxxx.lcc2. SDK v0.6.0+ (empfohlen) meta.lcc-Dateipfad mit Token und anderen Parametern für verschlüsselte Datenszenarien, z. B.https://example.com/data/meta.lcc?token=xxx&other=xxx- Verzeichnispfad erfordert eine
meta.lcc-Datei im Verzeichnis, z. B.https://example.com/data(veraltet)
const lccObject = LCCRender.load({
// ...other params
dataPath: 'http://example.com/data/xxxx.lcc',
}, successFunc, progressFunc, failureFunc);
Option 2: Pfad-Deskriptor-Sammlung (SDK v0.5.0+)
Verwenden Sie ein Objekt, um alle Dateipfade mit Verschlüsselungsunterstützung anzupassen, anwendbar auf das LCC-Format.
Dateipfad-Deskriptor-Format:
{
"fileName": {
"url": "xxxxxxxxxxxx",
"header": { "field1": "xxx", "field2": "yyy" } // Optional, added to HTTP request headers
}
}
Beispiel:
const dataPath = {
meta: { url: 'http://example.com/xxx/meta.lcc' },
index: { url: 'http://example.com/xxx/index.bin' },
data: { url: 'http://example.com/xxx/data.bin' },
environment: { url: 'http://example.com/xxx/environment.bin' },
collision: { url: 'http://example.com/xxx/collision.lci' },
shcoef: { url: 'http://example.com/xxx/shcoef.bin' },
};
const lccObject = LCCRender.load({
// ...other params
dataPath: dataPath,
}, successFunc, progressFunc, failureFunc);
Rückgabewert
LCCObject — LCC-Modellobjekt mit Schnittstellen für Raycasting, Clipping, Rendersteuerung und mehr.
Hinweise
- Die Three.js Engine erfordert den Aufruf von
LCCRender.update()in der Render-Schleife. - Der Parameter
param.useSHist veraltet; verwenden Sie stattdessen die MethodeLCCObject.useShcoef(). - Der Parameter
param.gpuAccelerationist veraltet. - dataPath unterstützt das
.lcc-Format (SDK v0.4.1+) und das.lcc2-Format (SDK v0.6.0+).
Verwandte APIs
LCCRender::unload()LCCRender::update()LCCRender::dispose()