LCCRender::load
Carica i dati LCC e restituisce un LCCObject.
Il Web SDK supporta i motori Three.js e CesiumJS. Passare i parametri del motore corrispondente per caricare un modello LCC.
Requisito di versione
SDK v0.2.0+
Supporto motore
Three.js / CesiumJS
API
LCCRender::load(param: LoadOptions, successFunc: SuccessFunc, progressFunc: ProgressFunc, failureFunc: FailureFunc, preProcessFunc?: PreProcessFunc): LCCObject
Parametri
param (Three.js)
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|
param.camera | THREE.PerspectiveCamera / THREE.OrthographicCamera | Sì | - | Oggetto camera di Three.js. |
param.scene | THREE.Scene | Sì | - | Oggetto scena di Three.js. |
param.renderLib | THREE | Sì | - | Riferimento alla libreria Three.js, ad es. import * as THREE from 'three'. |
param.renderLibWebgpu | typeof import('three/webgpu') | No | - | Riferimento al modulo WebGPU di Three.js, ad es. import * as THREE_WEBGPU from 'three/webgpu'. |
param.renderLibTSL | typeof import('three/tsl') | No | - | Riferimento al modulo TSL di Three.js, ad es. import * as TSL from 'three/tsl'. |
param.renderer | THREE.WebGLRenderer | Sì | - | Renderer di Three.js. |
param.dataPath | String / Object | Sì | - | Percorso dei dati LCC. Supporta percorso stringa (.lcc / .lcc2 / meta.lcc con token) o oggetto descrittore di percorso. |
param.canvas | HTMLCanvasElement | Sì | - | Elemento canvas per il rendering, disponibile tramite renderer.domElement. |
param.appKey | String | No | - | AppKey per la rimozione del watermark. |
param.useEnv | Boolean | No | - | Se visualizzare i dati ambientali. |
param.useIndexDB | Boolean | No | true | Se abilitare la cache locale dei dati. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | No | false | Se abilitare gli effetti di caricamento. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | No | - | Posizione del centro dell'effetto di caricamento. SDK v0.5.1+ |
param.pointsColor | String | No | 'default' | Stile di visualizzazione della nuvola di punti: 'default' (colore originale) o 'rainbow' (colore per elevazione). |
param.modelMatrix | THREE.Matrix4 | No | - | Matrice del modello. SDK v0.5.2+ |
param.maxHostCacheSize | number | No | - | Dimensione della cache host. SDK v0.5.4+ |
param.maxGpuCacheSize | number | No | - | Dimensione della cache GPU. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | No | true (PC) | Abilita il raycasting ad alta precisione. Abilitato per impostazione predefinita su PC; non supportato su mobile. SDK v0.6.3+ |
param (CesiumJS)
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|
param.camera | Cesium.Camera | Sì | - | Oggetto camera di Cesium. |
param.scene | Cesium.Scene | Sì | - | Oggetto scena di Cesium. |
param.renderLib | Cesium | Sì | - | Riferimento alla libreria CesiumJS, ad es. import * as Cesium from 'cesium'. |
param.dataPath | String / Object | Sì | - | Percorso dei dati LCC. Supporta percorso stringa (.lcc / .lcc2 / meta.lcc con token) o oggetto descrittore di percorso. |
param.canvas | HTMLCanvasElement | Sì | - | Elemento canvas per il rendering, disponibile tramite viewer.scene.canvas. |
param.modelMatrix | Cesium.Matrix4 | No | - | Matrice di trasformazione del modello. Non richiesta per dati georeferenziati con RTK. |
param.appKey | String | No | - | AppKey per la rimozione del watermark. |
param.useEnv | Boolean | No | - | Se visualizzare i dati ambientali. |
param.useIndexDB | Boolean | No | true | Se abilitare la cache locale dei dati. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | No | false | Se abilitare gli effetti di caricamento. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | No | - | Posizione del centro dell'effetto di caricamento. SDK v0.5.1+ |
param.pointsColor | String | No | 'default' | Stile di visualizzazione della nuvola di punti: 'default' (colore originale) o 'rainbow' (colore per elevazione). |
param.maxHostCacheSize | number | No | - | Dimensione della cache host. SDK v0.5.4+ |
param.maxGpuCacheSize | number | No | - | Dimensione della cache GPU. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | No | true (PC) | Abilita il raycasting ad alta precisione. Abilitato per impostazione predefinita su PC; non supportato su mobile. SDK v0.6.3+ |
Funzioni di callback
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
successFunc | (model: any) => void | Sì | Callback di successo del caricamento modello. Il parametro è la mesh costruita. |
progressFunc | (progress: number) => void | Sì | Callback di progresso del caricamento modello. Il parametro è la percentuale (0–1). |
failureFunc | () => void | Sì | Callback di fallimento del caricamento modello. |
preProcessFunc | (buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }> | No | Callback di pre-elaborazione dati per elaborare i dati prima del rendering. SDK v0.5.0+ |
Formato dataPath
dataPath supporta due formati:
Opzione 1: Percorso stringa (consigliato)
Passare direttamente una stringa che specifica il percorso dei dati LCC:
- Percorso completo del file
.lcc, ad es.http://example.com/data/xxxx.lcc. SDK v0.4.1+ (consigliato) - Percorso completo del file
.lcc2, ad es.http://example.com/data/xxxx.lcc2. SDK v0.6.0+ (consigliato) - Percorso del file
meta.lcccon token e altri parametri per scenari di dati crittografati, ad es.https://example.com/data/meta.lcc?token=xxx&other=xxx - Percorso directory che richiede un file
meta.lccnella directory, ad es.https://example.com/data(deprecato)
const lccObject = LCCRender.load({
// ...other params
dataPath: 'http://example.com/data/xxxx.lcc',
}, successFunc, progressFunc, failureFunc);
Opzione 2: Collezione di descrittori di percorso (SDK v0.5.0+)
Utilizzare un oggetto per personalizzare tutti i percorsi dei file con supporto alla crittografia, applicabile al formato LCC.
Formato del descrittore di percorso file:
{
"fileName": {
"url": "xxxxxxxxxxxx",
"header": { "field1": "xxx", "field2": "yyy" } // Optional, added to HTTP request headers
}
}
Esempio:
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);
Valore di ritorno
LCCObject — Oggetto modello LCC con interfacce per raycasting, ritaglio, controllo del rendering e altro.
Note
- Il motore Three.js richiede la chiamata di
LCCRender.update()nel ciclo di rendering. - Il parametro
param.useSHè deprecato; utilizzare il metodoLCCObject.useShcoef(). - Il parametro
param.gpuAccelerationè deprecato. - dataPath supporta il formato
.lcc(SDK v0.4.1+) e il formato.lcc2(SDK v0.6.0+).
API correlate
LCCRender::unload()LCCRender::update()LCCRender::dispose()