LCCRender::load
Carga datos LCC y devuelve un LCCObject.
El Web SDK soporta los motores Three.js y CesiumJS. Pase los parámetros del motor correspondiente para cargar un modelo LCC.
Requisito de versión
SDK v0.2.0+
Compatibilidad de motor
Three.js / CesiumJS
API
LCCRender::load(param: LoadOptions, successFunc: SuccessFunc, progressFunc: ProgressFunc, failureFunc: FailureFunc, preProcessFunc?: PreProcessFunc): LCCObject
Parámetros
param (Three.js)
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
param.camera | THREE.PerspectiveCamera / THREE.OrthographicCamera | Sí | - | Objeto de cámara de Three.js. |
param.scene | THREE.Scene | Sí | - | Objeto de escena de Three.js. |
param.renderLib | THREE | Sí | - | Referencia a la biblioteca Three.js, p. ej., import * as THREE from 'three'. |
param.renderLibWebgpu | typeof import('three/webgpu') | No | - | Referencia al módulo WebGPU de Three.js, p. ej., import * as THREE_WEBGPU from 'three/webgpu'. |
param.renderLibTSL | typeof import('three/tsl') | No | - | Referencia al módulo TSL de Three.js, p. ej., import * as TSL from 'three/tsl'. |
param.renderer | THREE.WebGLRenderer | Sí | - | Renderizador de Three.js. |
param.dataPath | String / Object | Sí | - | Ruta de datos LCC. Soporta ruta de cadena (.lcc / .lcc2 / meta.lcc con token) u objeto descriptor de ruta. |
param.canvas | HTMLCanvasElement | Sí | - | Elemento canvas para renderizado, disponible mediante renderer.domElement. |
param.appKey | String | No | - | AppKey para eliminar la marca de agua. |
param.useEnv | Boolean | No | - | Si se muestran los datos de entorno. |
param.useIndexDB | Boolean | No | true | Si se habilita el almacenamiento en caché local de datos. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | No | false | Si se habilitan los efectos de carga. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | No | - | Posición central del efecto de carga. SDK v0.5.1+ |
param.pointsColor | String | No | 'default' | Estilo de visualización de nube de puntos: 'default' (color original) o 'rainbow' (color por elevación). |
param.modelMatrix | THREE.Matrix4 | No | - | Matriz del modelo. SDK v0.5.2+ |
param.maxHostCacheSize | number | No | - | Tamaño de caché del host. SDK v0.5.4+ |
param.maxGpuCacheSize | number | No | - | Tamaño de caché de GPU. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | No | true (PC) | Habilitar raycasting de alta precisión. Habilitado por defecto en PC; no soportado en móvil. SDK v0.6.3+ |
param (CesiumJS)
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
param.camera | Cesium.Camera | Sí | - | Objeto de cámara de Cesium. |
param.scene | Cesium.Scene | Sí | - | Objeto de escena de Cesium. |
param.renderLib | Cesium | Sí | - | Referencia a la biblioteca CesiumJS, p. ej., import * as Cesium from 'cesium'. |
param.dataPath | String / Object | Sí | - | Ruta de datos LCC. Soporta ruta de cadena (.lcc / .lcc2 / meta.lcc con token) u objeto descriptor de ruta. |
param.canvas | HTMLCanvasElement | Sí | - | Elemento canvas para renderizado, disponible mediante viewer.scene.canvas. |
param.modelMatrix | Cesium.Matrix4 | No | - | Matriz de transformación del modelo. No requerida para datos georreferenciados con RTK. |
param.appKey | String | No | - | AppKey para eliminar la marca de agua. |
param.useEnv | Boolean | No | - | Si se muestran los datos de entorno. |
param.useIndexDB | Boolean | No | true | Si se habilita el almacenamiento en caché local de datos. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | No | false | Si se habilitan los efectos de carga. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | No | - | Posición central del efecto de carga. SDK v0.5.1+ |
param.pointsColor | String | No | 'default' | Estilo de visualización de nube de puntos: 'default' (color original) o 'rainbow' (color por elevación). |
param.maxHostCacheSize | number | No | - | Tamaño de caché del host. SDK v0.5.4+ |
param.maxGpuCacheSize | number | No | - | Tamaño de caché de GPU. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | No | true (PC) | Habilitar raycasting de alta precisión. Habilitado por defecto en PC; no soportado en móvil. SDK v0.6.3+ |
Funciones de callback
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
successFunc | (model: any) => void | Sí | Callback de éxito de carga del modelo. El parámetro es la malla construida. |
progressFunc | (progress: number) => void | Sí | Callback de progreso de carga del modelo. El parámetro es el porcentaje (0–1). |
failureFunc | () => void | Sí | Callback de fallo de carga del modelo. |
preProcessFunc | (buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }> | No | Callback de preprocesamiento de datos para procesar datos antes del renderizado. SDK v0.5.0+ |
Formato de dataPath
dataPath soporta dos formatos:
Opción 1: Ruta de cadena (recomendado)
Pase una cadena directamente especificando la ruta de datos LCC:
- Ruta completa de archivo
.lcc, p. ej.,http://example.com/data/xxxx.lcc. SDK v0.4.1+ (recomendado) - Ruta completa de archivo
.lcc2, p. ej.,http://example.com/data/xxxx.lcc2. SDK v0.6.0+ (recomendado) - Ruta de archivo
meta.lcccon token y otros parámetros para escenarios de datos encriptados, p. ej.,https://example.com/data/meta.lcc?token=xxx&other=xxx - Ruta de directorio que requiere un archivo
meta.lccen el directorio, p. ej.,https://example.com/data(obsoleto)
const lccObject = LCCRender.load({
// ...other params
dataPath: 'http://example.com/data/xxxx.lcc',
}, successFunc, progressFunc, failureFunc);
Opción 2: Colección de descriptores de ruta (SDK v0.5.0+)
Use un objeto para personalizar todas las rutas de archivos con soporte de encriptación, aplicable al formato LCC.
Formato del descriptor de ruta de archivo:
{
"fileName": {
"url": "xxxxxxxxxxxx",
"header": { "field1": "xxx", "field2": "yyy" } // Optional, added to HTTP request headers
}
}
Ejemplo:
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);
Valor de retorno
LCCObject — Objeto del modelo LCC con interfaces para raycasting, recorte, control de renderizado y más.
Notas
- El motor Three.js requiere llamar a
LCCRender.update()en el bucle de renderizado. - El parámetro
param.useSHestá obsoleto; use el métodoLCCObject.useShcoef()en su lugar. - El parámetro
param.gpuAccelerationestá obsoleto. - dataPath soporta formato
.lcc(SDK v0.4.1+) y formato.lcc2(SDK v0.6.0+).
APIs relacionadas
LCCRender::unload()LCCRender::update()LCCRender::dispose()