İçeriğe geç
TREN
Atlıhan Harita

LCC for Web Kullanım Kılavuzu · API Başvurusu

LCCRender::load

Bölüm 06.48 / 07Kılavuz sürümü v0.6.4Türkçe

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)

ParametreTürGerekliVarsayılanAçıklama
param.cameraTHREE.PerspectiveCamera / THREE.OrthographicCameraEvet-Three.js kamera nesnesi.
param.sceneTHREE.SceneEvet-Three.js sahne nesnesi.
param.renderLibTHREEEvet-Three.js kütüphane referansı, ör. import * as THREE from 'three'.
param.renderLibWebgputypeof import('three/webgpu')Hayır-Three.js WebGPU modül referansı, ör. import * as THREE_WEBGPU from 'three/webgpu'.
param.renderLibTSLtypeof import('three/tsl')Hayır-Three.js TSL modül referansı, ör. import * as TSL from 'three/tsl'.
param.rendererTHREE.WebGLRendererEvet-Three.js görüntüleyicisi (renderer).
param.dataPathString / ObjectEvet-LCC veri yolu. Metin yolunu (token içeren .lcc / .lcc2 / meta.lcc) veya yol tanımlayıcı nesnesini destekler.
param.canvasHTMLCanvasElementEvet-Görüntüleme için kullanılan canvas öğesi; renderer.domElement üzerinden alınabilir.
param.appKeyStringHayır-Filigranı kaldırmak için AppKey.
param.useEnvBooleanHayır-Ortam verilerinin gösterilip gösterilmeyeceği.
param.useIndexDBBooleanHayırtrueYerel veri önbelleklemenin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.0+
param.useLoadingEffectBooleanHayırfalseYü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.pointsColorStringHayır'default'Nokta bulutu görüntüleme stili: 'default' (orijinal renk) veya 'rainbow' (yükseklik rengi).
param.modelMatrixTHREE.Matrix4Hayır-Model matrisi. SDK v0.5.2+
param.maxHostCacheSizenumberHayır-Ana bilgisayar önbellek boyutu. SDK v0.5.4+
param.maxGpuCacheSizenumberHayır-GPU önbellek boyutu. SDK v0.5.4+
param.usePrecisionRaycastBooleanHayırtrue (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.usePageBooleanHayırfalseMobil optimizasyon, yalnızca WebGL. SDK v0.6.4+

param (CesiumJS)

ParametreTürGerekliVarsayılanAçıklama
param.cameraCesium.CameraEvet-Cesium kamera nesnesi.
param.sceneCesium.SceneEvet-Cesium sahne nesnesi.
param.renderLibCesiumEvet-CesiumJS kütüphane referansı, ör. import * as Cesium from 'cesium'.
param.dataPathString / ObjectEvet-LCC veri yolu. Metin yolunu (token içeren .lcc / .lcc2 / meta.lcc) veya yol tanımlayıcı nesnesini destekler.
param.canvasHTMLCanvasElementEvet-Görüntüleme için kullanılan canvas öğesi; viewer.scene.canvas üzerinden alınabilir.
param.modelMatrixCesium.Matrix4Hayır-Model dönüşüm matrisi. RTK jeoreferanslı veriler için gerekli değildir.
param.appKeyStringHayır-Filigranı kaldırmak için AppKey.
param.useEnvBooleanHayır-Ortam verilerinin gösterilip gösterilmeyeceği.
param.useIndexDBBooleanHayırtrueYerel veri önbelleklemenin etkinleştirilip etkinleştirilmeyeceği. SDK v0.5.0+
param.useLoadingEffectBooleanHayırfalseYü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.pointsColorStringHayır'default'Nokta bulutu görüntüleme stili: 'default' (orijinal renk) veya 'rainbow' (yükseklik rengi).
param.maxHostCacheSizenumberHayır-Ana bilgisayar önbellek boyutu. SDK v0.5.4+
param.maxGpuCacheSizenumberHayır-GPU önbellek boyutu. SDK v0.5.4+
param.usePrecisionRaycastBooleanHayırtrue (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

ParametreTürGerekliAçıklama
successFunc(model: any) => voidEvetModel yükleme başarı geri çağırması. Parametre, oluşturulan mesh'tir.
progressFunc(progress: number) => voidEvetModel yükleme ilerlemesi geri çağırması. Parametre yüzde değeridir (0–1).
failureFunc() => voidEvetModel yükleme hatası geri çağırması.
preProcessFunc(buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }>HayırGö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 .lcc dosya yolu, ör. http://example.com/data/xxxx.lcc. SDK v0.4.1+ (önerilir)
  • Tam .lcc2 dosya 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.lcc dosya yolu, ör. https://example.com/data/meta.lcc?token=xxx&other=xxx
  • Dizinde bir meta.lcc dosyası 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.useSH parametresi kullanımdan kaldırılmıştır; bunun yerine LCCObject.useShcoef() yöntemini kullanın.
  • param.gpuAcceleration parametresi kullanımdan kaldırılmıştır.
  • dataPath, .lcc biçimini (SDK v0.4.1+) ve .lcc2 biçimini (SDK v0.6.0+) destekler.
  • 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:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804