LCC verilerini yükler ve bir LCCObject döndürür.
Web SDK, Three.js ve CesiumJS motorlarını destekler. Bir LCC modelini yüklemek için ilgili motor parametrelerini iletin.
Sürüm Gereksinimi
SDK v0.2.0+
Motor Desteği
Three.js / CesiumJS
API
LCCRender::load(param: LoadOptions, successFunc: SuccessFunc, progressFunc: ProgressFunc, failureFunc: FailureFunc, preProcessFunc?: PreProcessFunc): LCCObject
Parametreler
param (Three.js)
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
param.camera | THREE.PerspectiveCamera / THREE.OrthographicCamera | Evet | - | Three.js kamera nesnesi. |
param.scene | THREE.Scene | Evet | - | Three.js sahne nesnesi. |
param.renderLib | THREE | Evet | - | Three.js kütüphane referansı, ör. import * as THREE from 'three'. |
param.renderLibWebgpu | typeof import('three/webgpu') | Hayır | - | Three.js WebGPU modül referansı, ör. import * as THREE_WEBGPU from 'three/webgpu'. |
param.renderLibTSL | typeof import('three/tsl') | Hayır | - | Three.js TSL modül referansı, ör. import * as TSL from 'three/tsl'. |
param.renderer | THREE.WebGLRenderer | Evet | - | Three.js görüntüleyicisi (renderer). |
param.dataPath | String / Object | Evet | - | LCC veri yolu. Metin yolunu (token içeren .lcc / .lcc2 / meta.lcc) veya yol tanımlayıcı nesnesini destekler. |
param.canvas | HTMLCanvasElement | Evet | - | Görüntüleme için kullanılan canvas öğesi; renderer.domElement üzerinden alınabilir. |
param.appKey | String | Hayır | - | Filigranı kaldırmak için AppKey. |
param.useEnv | Boolean | Hayır | - | Ortam verilerinin gösterilip gösterilmeyeceği. |
param.useIndexDB | Boolean | Hayır | true | Yerel veri önbelleklemenin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | Hayır | false | Yükleme efektlerinin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | Hayır | - | Yükleme efektinin merkez konumu. SDK v0.5.1+ |
param.pointsColor | String | Hayır | 'default' | Nokta bulutu görüntüleme stili: 'default' (orijinal renk) veya 'rainbow' (yükseklik rengi). |
param.modelMatrix | THREE.Matrix4 | Hayır | - | Model matrisi. SDK v0.5.2+ |
param.maxHostCacheSize | number | Hayır | - | Ana bilgisayar önbellek boyutu. SDK v0.5.4+ |
param.maxGpuCacheSize | number | Hayır | - | GPU önbellek boyutu. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | Hayır | true (PC) / false (Mobil) | Yüksek hassasiyetli ışın izlemeyi (raycasting) etkinleştirir. PC'de varsayılan olarak etkindir (SDK v0.6.3+); mobilde varsayılan olarak devre dışıdır (SDK v0.6.4+). |
param.usePage | Boolean | Hayır | false | Mobil optimizasyon, yalnızca WebGL. SDK v0.6.4+ |
param (CesiumJS)
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
param.camera | Cesium.Camera | Evet | - | Cesium kamera nesnesi. |
param.scene | Cesium.Scene | Evet | - | Cesium sahne nesnesi. |
param.renderLib | Cesium | Evet | - | CesiumJS kütüphane referansı, ör. import * as Cesium from 'cesium'. |
param.dataPath | String / Object | Evet | - | LCC veri yolu. Metin yolunu (token içeren .lcc / .lcc2 / meta.lcc) veya yol tanımlayıcı nesnesini destekler. |
param.canvas | HTMLCanvasElement | Evet | - | Görüntüleme için kullanılan canvas öğesi; viewer.scene.canvas üzerinden alınabilir. |
param.modelMatrix | Cesium.Matrix4 | Hayır | - | Model dönüşüm matrisi. RTK jeoreferanslı veriler için gerekli değildir. |
param.appKey | String | Hayır | - | Filigranı kaldırmak için AppKey. |
param.useEnv | Boolean | Hayır | - | Ortam verilerinin gösterilip gösterilmeyeceği. |
param.useIndexDB | Boolean | Hayır | true | Yerel veri önbelleklemenin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.0+ |
param.useLoadingEffect | Boolean | Hayır | false | Yükleme efektlerinin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.1+ |
param.loadingEffectCenter | { x: number, y: number, z: number } | Hayır | - | Yükleme efektinin merkez konumu. SDK v0.5.1+ |
param.pointsColor | String | Hayır | 'default' | Nokta bulutu görüntüleme stili: 'default' (orijinal renk) veya 'rainbow' (yükseklik rengi). |
param.maxHostCacheSize | number | Hayır | - | Ana bilgisayar önbellek boyutu. SDK v0.5.4+ |
param.maxGpuCacheSize | number | Hayır | - | GPU önbellek boyutu. SDK v0.5.4+ |
param.usePrecisionRaycast | Boolean | Hayır | true (PC) / false (Mobil) | Yüksek hassasiyetli ışın izlemeyi (raycasting) etkinleştirir. PC'de varsayılan olarak etkindir (SDK v0.6.3+); mobilde varsayılan olarak devre dışıdır (SDK v0.6.4+). |
Geri Çağırma İşlevleri
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
successFunc | (model: any) => void | Evet | Model yükleme başarı geri çağırması. Parametre, oluşturulan mesh'tir. |
progressFunc | (progress: number) => void | Evet | Model yükleme ilerlemesi geri çağırması. Parametre yüzde değeridir (0–1). |
failureFunc | () => void | Evet | Model yükleme hatası geri çağırması. |
preProcessFunc | (buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }> | Hayır | Görüntülemeden önce verileri işlemek için veri ön işleme geri çağırması. SDK v0.5.0+ |
dataPath Biçimi
dataPath iki biçimi destekler:
Seçenek 1: Metin yolu (önerilir)
LCC veri yolunu belirten bir metni doğrudan iletin:
- Tam
.lccdosya yolu, ör.http://example.com/data/xxxx.lcc. SDK v0.4.1+ (önerilir) - Tam
.lcc2dosya yolu, ör.http://example.com/data/xxxx.lcc2. SDK v0.6.0+ (önerilir) - Şifrelenmiş veri senaryoları için token ve diğer parametreleri içeren
meta.lccdosya yolu, ör.https://example.com/data/meta.lcc?token=xxx&other=xxx - Dizinde bir
meta.lccdosyası gerektiren dizin yolu, ör.https://example.com/data(kullanımdan kaldırıldı)
const lccObject = LCCRender.load({
// ...other params
dataPath: 'http://example.com/data/xxxx.lcc',
}, successFunc, progressFunc, failureFunc);
Seçenek 2: Yol tanımlayıcı koleksiyonu (SDK v0.5.0+)
Şifreleme desteğiyle tüm dosya yollarını özelleştirmek için bir nesne kullanın. LCC biçimi için geçerlidir.
Dosya yolu tanımlayıcı biçimi:
{
"fileName": {
"url": "xxxxxxxxxxxx",
"header": { "field1": "xxx", "field2": "yyy" } // Optional, added to HTTP request headers
}
}
Örnek:
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);
Dönüş Değeri
LCCObject — ışın izleme, kırpma, görüntüleme kontrolü ve daha fazlası için arayüzler sunan LCC model nesnesi.
Notlar
- Three.js motoru, görüntüleme döngüsünde
LCCRender.update()çağrılmasını gerektirir. param.useSHparametresi kullanımdan kaldırılmıştır; bunun yerineLCCObject.useShcoef()yöntemini kullanın.param.gpuAccelerationparametresi kullanımdan kaldırılmıştır.- dataPath,
.lccbiçimini (SDK v0.4.1+) ve.lcc2biçimini (SDK v0.6.0+) destekler.
İlgili API'ler
LCCRender::unload()LCCRender::update()LCCRender::dispose()
Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

