iflow-engine-base 3.4.3 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/assets/hdr/10.hdr +0 -0
  2. package/dist/assets/hdr/11.hdr +0 -0
  3. package/dist/assets/hdr/12.hdr +0 -0
  4. package/dist/assets/hdr/13.hdr +0 -0
  5. package/dist/assets/hdr/14.hdr +0 -0
  6. package/dist/assets/hdr/15.hdr +0 -0
  7. package/dist/assets/hdr/16.hdr +0 -0
  8. package/dist/assets/hdr/17.hdr +0 -0
  9. package/dist/assets/hdr/8.hdr +0 -0
  10. package/dist/bim-engine-sdk.es.js +3175 -2929
  11. package/dist/bim-engine-sdk.es.js.map +1 -1
  12. package/dist/bim-engine-sdk.umd.js +164 -164
  13. package/dist/bim-engine-sdk.umd.js.map +1 -1
  14. package/dist/index.d.ts +43 -86
  15. package/dist/texture/ground/concrete01.jpg +0 -0
  16. package/dist/texture/ground/concrete02.jpg +0 -0
  17. package/dist/texture/ground/grass01.jpg +0 -0
  18. package/dist/texture/ground/grass02.jpg +0 -0
  19. package/dist/texture/ground/grass03.jpg +0 -0
  20. package/dist/texture/ground/grass04.jpg +0 -0
  21. package/dist/texture/ground/road01.jpg +0 -0
  22. package/dist/texture/ground/road02.jpg +0 -0
  23. package/dist/texture/ground/tiles01.jpg +0 -0
  24. package/dist/texture/ground/tiles02.jpg +0 -0
  25. package/dist/texture/ground/wood01.jpg +0 -0
  26. package/dist/texture/ground/z01.jpg +0 -0
  27. package/dist/texture/ground/z02.jpg +0 -0
  28. package/package.json +1 -1
  29. package/dist/assets/ground//346/267/267/345/207/235/345/234/23749.jpg +0 -0
  30. package/dist/assets/ground//350/212/261/350/215/21103.jpg +0 -0
  31. package/dist/assets/hdr/001.hdr +0 -0
  32. /package/dist/assets/hdr/{/347/272/257/345/207/200-/345/244/232/344/272/221.hdr" → 1.hdr} +0 -0
  33. /package/dist/assets/hdr/{/347/272/257/345/207/200-/350/220/275/346/227/245.hdr" → 2.hdr} +0 -0
  34. /package/dist/assets/hdr/{/347/272/257/345/207/200-/345/260/221/344/272/221.hdr" → 3.hdr} +0 -0
  35. /package/dist/assets/hdr/{/347/272/257/345/207/200-/346/227/240/344/272/221.hdr" → 4.hdr} +0 -0
  36. /package/dist/assets/hdr/{/347/272/257/345/207/200-/345/244/234/346/231/232.hdr" → 5.hdr} +0 -0
  37. /package/dist/assets/hdr/{/347/272/257/345/207/200-/351/230/264/345/244/251.hdr" → 6.hdr} +0 -0
  38. /package/dist/assets/hdr/{/347/272/257/345/207/200-/344/270/255/344/272/221.hdr" → 7.hdr} +0 -0
  39. /package/dist/assets/hdr/{/345/237/216/345/270/202/346/210/267/345/244/226/345/244/251/347/251/272-/346/227/240/344/272/221.hdr" → 9.hdr} +0 -0
  40. /package/dist/{textture → texture}/waternormals.jpg +0 -0
package/dist/index.d.ts CHANGED
@@ -1865,6 +1865,12 @@ declare class Ground {
1865
1865
  show(): void;
1866
1866
  hide(): void;
1867
1867
  dispose(): void;
1868
+ /**
1869
+ * 兼容项目内本地 three 渲染器。
1870
+ * 本地渲染器会向 lights uniforms 写入 directional/spot/point 的 shadowMap,
1871
+ * 但 npm Water 使用的 three 版本没有把这些 sampler 挂到 UniformsLib['lights'] 上。
1872
+ */
1873
+ private ensureWaterShadowUniforms;
1868
1874
  private _dispose;
1869
1875
  }
1870
1876
 
@@ -1900,66 +1906,41 @@ declare class Hdr {
1900
1906
  private isVisible;
1901
1907
  private currentIntensity;
1902
1908
  private currentTexture;
1909
+ private currentEnvironmentTexture;
1903
1910
  private skybox;
1904
1911
  private readonly textureCache;
1912
+ private previousBackground;
1913
+ private previousEnvironment;
1914
+ private previousBackgroundIntensity;
1915
+ private previousEnvironmentIntensity;
1916
+ private previousAmbientLightIntensity;
1917
+ private previousToneMapping;
1918
+ private previousToneMappingExposure;
1905
1919
  private readonly hdrList;
1906
1920
  constructor(engine: any);
1907
- /**
1908
- * 获取 HDR 列表
1909
- */
1910
1921
  getHdrList(): HdrItem[];
1911
- /**
1912
- * 切换 HDR 背景
1913
- * @param id - HDR id,"0" 表示清除 HDR
1914
- */
1915
1922
  setHdr(id: string): Promise<void>;
1916
- /**
1917
- * 设置 HDR 天空球可见性(不影响环境光照)
1918
- * @param visible - true 显示,false 隐藏
1919
- */
1920
1923
  setVisible(visible: boolean): void;
1921
- /**
1922
- * 获取当前 HDR id
1923
- */
1924
1924
  getCurrentHdrId(): string;
1925
- /**
1926
- * 获取 HDR 背景是否可见
1927
- */
1928
1925
  getVisible(): boolean;
1929
- /**
1930
- * 设置 HDR 整体亮度
1931
- * @param intensity - 亮度倍率,1 为原始亮度,推荐范围 0.1 ~ 3
1932
- */
1933
1926
  setIntensity(intensity: number): void;
1934
- /**
1935
- * 获取当前 HDR 亮度
1936
- */
1937
1927
  getIntensity(): number;
1938
- /**
1939
- * 动态添加自定义 HDR 条目(用于外部扩展)
1940
- */
1941
1928
  addHdrItem(item: HdrItem): void;
1942
- /**
1943
- * 释放所有缓存纹理
1944
- */
1945
1929
  dispose(): void;
1946
1930
  private _loadHdr;
1947
1931
  private _applyTexture;
1948
- /**
1949
- * 创建超大天空球,兼容正交/透视两种相机
1950
- * - radius 5000:远超任何场景对象,确保始终在背景层
1951
- * - BackSide:从内部观察球面
1952
- * - depthWrite false + renderOrder -1:不写入深度缓冲,始终渲染在最底层
1953
- * - frustumCulled false:防止大球被裁剪掉
1954
- */
1932
+ private _captureSceneState;
1955
1933
  private _createSkybox;
1934
+ private _updateSkyboxIntensity;
1956
1935
  private _removeSkybox;
1957
1936
  private _clearHdr;
1937
+ private _getAmbientLightIntensity;
1938
+ private _setAmbientLightIntensity;
1958
1939
  }
1959
1940
 
1960
1941
  declare interface HdrItem {
1961
1942
  id: string;
1962
- name: string;
1943
+ names: string[];
1963
1944
  url?: string;
1964
1945
  }
1965
1946
 
@@ -2637,6 +2618,7 @@ declare class ModelEdge {
2637
2618
  private show;
2638
2619
  getModelEdge(url: string, id: Number): any;
2639
2620
  hideModelEdge(url: string, id: Number): void;
2621
+ setOpacity(opacity: number): void;
2640
2622
  showModelEdge(url: string, id: Number): void;
2641
2623
  }
2642
2624
 
@@ -3680,89 +3662,64 @@ declare class SkyManager {
3680
3662
  private sky;
3681
3663
  private sun;
3682
3664
  private params;
3665
+ private currentIntensity;
3666
+ private currentEnvironmentTarget;
3683
3667
  private readonly skyScale;
3684
3668
  private readonly skyName;
3685
- /** 激活天空前相机的 far,关闭时恢复 */
3686
3669
  private savedCameraFar;
3670
+ private previousBackground;
3671
+ private previousEnvironment;
3672
+ private previousBackgroundIntensity;
3673
+ private previousEnvironmentIntensity;
3674
+ private previousToneMapping;
3675
+ private previousToneMappingExposure;
3676
+ private hasCapturedSceneState;
3687
3677
  constructor(engine: any);
3688
- /**
3689
- * 激活天空球:创建 Sky 并加入场景,应用当前参数
3690
- */
3691
3678
  activate(): void;
3692
- /**
3693
- * 关闭天空球:从场景移除并释放,或仅隐藏
3694
- * @param remove - true 从场景移除并 dispose,false 仅隐藏
3695
- */
3696
3679
  close(remove?: boolean): void;
3697
- /**
3698
- * 是否已激活(天空对象存在且已加入场景)
3699
- */
3700
3680
  isActive(): boolean;
3701
- /**
3702
- * 获取当前参数(副本)
3703
- */
3704
3681
  getParams(): Readonly<Required<SkyParams>>;
3705
- /**
3706
- * 使用对象设置参数(支持部分字段),并立即应用到天空与渲染器
3707
- */
3708
3682
  setParams(params: SkyParams): void;
3709
- /**
3710
- * 应用预设
3711
- */
3712
3683
  setPreset(name: SkyPresetName): void;
3713
- /**
3714
- * 获取所有预设名称
3715
- */
3716
3684
  getPresetNames(): SkyPresetName[];
3717
- /**
3718
- * 更新云层动画时间(每帧调用一次,例如在渲染循环中)
3719
- * 同时根据当前相机类型(透视/正交)同步曝光,保证切换相机后天空亮度正确。
3720
- * @param time - 秒,不传则使用 performance.now() * 0.001
3721
- */
3685
+ getPresetList(): SkyPresetInfo[];
3686
+ setIntensity(intensity: number): void;
3687
+ getIntensity(): number;
3722
3688
  update(time?: number): void;
3723
- /** 当前相机是否为正交相机 */
3724
3689
  private _isOrthographicCamera;
3725
- /** 获取当前相机有效曝光(正交相机使用 orthoExposureScale 补偿) */
3726
3690
  private _getEffectiveExposure;
3727
- /** 扩大相机 far 以容纳天空盒,避免被裁剪成黑屏(支持透视与正交) */
3728
3691
  private _expandCameraFarForSky;
3729
- /** 关闭天空时恢复相机 far(支持透视与正交) */
3730
3692
  private _restoreCameraFar;
3731
3693
  private _applyParamsToSky;
3732
- /** Set shader uniform if it exists on current Sky material to avoid runtime errors with stock shader. */
3694
+ private _captureSceneState;
3695
+ private _restoreSceneState;
3696
+ private _refreshEnvironmentMap;
3697
+ private _disposeEnvironmentTarget;
3733
3698
  private _setUniformValue;
3734
3699
  }
3735
3700
 
3736
- /** 天空球参数(与 Three.js Sky 材质 uniform 及曝光对应) */
3737
3701
  declare interface SkyParams {
3738
- /** 大气浑浊度,0~20,默认 10 */
3739
3702
  turbidity?: number;
3740
- /** 瑞利散射,0~4,默认 3 */
3741
3703
  rayleigh?: number;
3742
- /** Mie 系数,0~0.1,默认 0.005 */
3743
3704
  mieCoefficient?: number;
3744
- /** Mie 方向性,0~1,默认 0.7 */
3745
3705
  mieDirectionalG?: number;
3746
- /** 太阳仰角(度),0~90,默认 2 */
3747
3706
  elevation?: number;
3748
- /** 太阳方位角(度),-180~180,默认 180 */
3749
3707
  azimuth?: number;
3750
- /** 渲染器曝光,0~1,默认 0.5 */
3751
3708
  exposure?: number;
3752
- /** 正交相机下的曝光倍数,用于补偿正交投影下天空偏暗,默认 1.5 */
3753
3709
  orthoExposureScale?: number;
3754
- /** 云层覆盖,0~1,默认 0.4 */
3755
3710
  cloudCoverage?: number;
3756
- /** 云层密度,0~1,默认 0.4 */
3757
3711
  cloudDensity?: number;
3758
- /** 云层高度感,0~1,默认 0.5 */
3759
3712
  cloudElevation?: number;
3760
- /** 是否显示日盘,默认 true */
3761
3713
  showSunDisc?: boolean;
3762
3714
  }
3763
3715
 
3764
- /** 预设名称 */
3765
- declare type SkyPresetName = 'default' | 'sunset' | 'overcast' | 'clear' | 'night';
3716
+ declare interface SkyPresetInfo {
3717
+ id: SkyPresetName;
3718
+ names: string[];
3719
+ params: SkyParams;
3720
+ }
3721
+
3722
+ declare type SkyPresetName = 'sunrise_clear' | 'morning_mist' | 'noon_clear' | 'afternoon_cloudy' | 'sunset_glow' | 'blue_hour' | 'overcast_day' | 'storm_rain' | 'snow_day' | 'moonlit_night';
3766
3723
 
3767
3724
  /**
3768
3725
  * 步骤接口
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iflow-engine-base",
3
- "version": "3.4.3",
3
+ "version": "3.4.4",
4
4
  "description": "BIM Engine SDK for Vue2, Vue3, React and HTML",
5
5
  "main": "./dist/bim-engine-sdk.umd.js",
6
6
  "module": "./dist/bim-engine-sdk.es.js",
Binary file
File without changes