@reearth/core 0.0.7-alpha.5 → 0.0.7-beta.1
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.
- package/dist/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
- package/dist/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +8 -8
- package/dist/cesium/Widgets/widgets.css +8 -8
- package/dist/cesium/Workers/{chunk-SUQM3OSW.js → chunk-2YD5QWGR.js} +2 -2
- package/dist/cesium/Workers/{chunk-74N6MC2V.js → chunk-3T4KR75X.js} +2 -2
- package/dist/cesium/Workers/chunk-46KFVW24.js +26 -0
- package/dist/cesium/Workers/chunk-4EI6PP43.js +28 -0
- package/dist/cesium/Workers/{chunk-YEJWCH6C.js → chunk-4RS52VIY.js} +2 -2
- package/dist/cesium/Workers/{chunk-NPBZI5YA.js → chunk-4YLYA3DC.js} +1 -1
- package/dist/cesium/Workers/{chunk-JEWHFDAA.js → chunk-5ENAGXBI.js} +2 -2
- package/dist/cesium/Workers/{chunk-MRR3RGFO.js → chunk-5VIB3TI5.js} +2 -2
- package/dist/cesium/Workers/{chunk-JCJ24DHF.js → chunk-6NGZLDFZ.js} +2 -2
- package/dist/cesium/Workers/{chunk-7X2YQ6I4.js → chunk-6RGNWVZ2.js} +2 -2
- package/dist/cesium/Workers/{chunk-BK3HCS7I.js → chunk-7AZZVJ52.js} +2 -2
- package/dist/cesium/Workers/{chunk-UBIRX2SP.js → chunk-AMXAQQEL.js} +2 -2
- package/dist/cesium/Workers/{chunk-LDCAXLGS.js → chunk-AQW44ZPC.js} +2 -2
- package/dist/cesium/Workers/{chunk-B6TRTFAA.js → chunk-CPCMDW6Z.js} +2 -2
- package/dist/cesium/Workers/{chunk-3C74MLG3.js → chunk-DNL2WDRL.js} +1 -1
- package/dist/cesium/Workers/{chunk-FK5KFB6H.js → chunk-ERW7V247.js} +1 -1
- package/dist/cesium/Workers/{chunk-5AG2MVRM.js → chunk-EYRIA4TP.js} +2 -2
- package/dist/cesium/Workers/{chunk-6AUUBDOF.js → chunk-F7RQIJML.js} +2 -2
- package/dist/cesium/Workers/{chunk-JZLZJJQD.js → chunk-FPZMU6QP.js} +2 -2
- package/dist/cesium/Workers/{chunk-YBI55DLZ.js → chunk-FZDVQW7A.js} +2 -2
- package/dist/cesium/Workers/{chunk-2MBPFWCP.js → chunk-GAZ2U4FO.js} +2 -2
- package/dist/cesium/Workers/{chunk-CSISXEG7.js → chunk-I44IOOT4.js} +1 -1
- package/dist/cesium/Workers/{chunk-R2AN7EKC.js → chunk-IALXUAD4.js} +1 -1
- package/dist/cesium/Workers/{chunk-MDLPQIMP.js → chunk-IXBUEUZL.js} +2 -2
- package/dist/cesium/Workers/{chunk-HPBHKP5S.js → chunk-J3GCYV5K.js} +2 -2
- package/dist/cesium/Workers/{chunk-KRZBI2MU.js → chunk-KGSZTFHZ.js} +2 -2
- package/dist/cesium/Workers/{chunk-B2SKQ7LU.js → chunk-KKKPU2CI.js} +2 -2
- package/dist/cesium/Workers/{chunk-QPOPEH3M.js → chunk-KTEJE5KE.js} +2 -2
- package/dist/cesium/Workers/chunk-KYZ3DYY6.js +26 -0
- package/dist/cesium/Workers/{chunk-LOPN5R3I.js → chunk-L2QG4MRI.js} +2 -2
- package/dist/cesium/Workers/{chunk-EXBFEYPQ.js → chunk-MCE3KFYN.js} +2 -2
- package/dist/cesium/Workers/{chunk-C6DMEJQ7.js → chunk-MMLDGXML.js} +2 -2
- package/dist/cesium/Workers/{chunk-KTTUANTJ.js → chunk-MTBRPBDQ.js} +2 -2
- package/dist/cesium/Workers/{chunk-7VZHIB6P.js → chunk-OKT6VBRK.js} +2 -2
- package/dist/cesium/Workers/chunk-PHYDKLSY.js +26 -0
- package/dist/cesium/Workers/chunk-PWPX3224.js +26 -0
- package/dist/cesium/Workers/{chunk-VQZSIOZW.js → chunk-QHOVE6WG.js} +2 -2
- package/dist/cesium/Workers/{chunk-CN7UN2OZ.js → chunk-QJ6MBL22.js} +2 -2
- package/dist/cesium/Workers/{chunk-NUSW5B6A.js → chunk-QKO6VIG2.js} +2 -2
- package/dist/cesium/Workers/{chunk-4N7SRDH5.js → chunk-QVEE4QL2.js} +2 -2
- package/dist/cesium/Workers/{chunk-4T6AS6BZ.js → chunk-RXQOQZ7S.js} +2 -2
- package/dist/cesium/Workers/{chunk-RURL6ZX2.js → chunk-S3ZKQKMM.js} +2 -2
- package/dist/cesium/Workers/{chunk-ZYWD6OQH.js → chunk-SFEUMZSK.js} +2 -2
- package/dist/cesium/Workers/{chunk-BOPB43LN.js → chunk-T75MW4X3.js} +2 -2
- package/dist/cesium/Workers/chunk-TVO2A75R.js +66 -0
- package/dist/cesium/Workers/{chunk-VHNZBQTR.js → chunk-UHR36K45.js} +2 -2
- package/dist/cesium/Workers/{chunk-WZUWQMI7.js → chunk-UKJCDZOR.js} +2 -2
- package/dist/cesium/Workers/{chunk-B4TQDFIE.js → chunk-VKVIYER6.js} +2 -2
- package/dist/cesium/Workers/{chunk-OUXRUXNB.js → chunk-VPIQWTRZ.js} +2 -2
- package/dist/cesium/Workers/{chunk-2ED5WI77.js → chunk-XSX5HRFC.js} +2 -2
- package/dist/cesium/Workers/{chunk-5Z6L2FHX.js → chunk-Z5WQQHSL.js} +2 -2
- package/dist/cesium/Workers/{chunk-YPDO7SPO.js → chunk-Z7B2VEL5.js} +2 -2
- package/dist/cesium/Workers/combineGeometry.js +2 -2
- package/dist/cesium/Workers/createBoxGeometry.js +2 -2
- package/dist/cesium/Workers/createBoxOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createCircleGeometry.js +2 -2
- package/dist/cesium/Workers/createCircleOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createCoplanarPolygonGeometry.js +2 -2
- package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createCorridorGeometry.js +2 -2
- package/dist/cesium/Workers/createCorridorOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createCylinderGeometry.js +2 -2
- package/dist/cesium/Workers/createCylinderOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createEllipseGeometry.js +2 -2
- package/dist/cesium/Workers/createEllipseOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createEllipsoidGeometry.js +2 -2
- package/dist/cesium/Workers/createEllipsoidOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createFrustumGeometry.js +2 -2
- package/dist/cesium/Workers/createFrustumOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createGeometry.js +2 -2
- package/dist/cesium/Workers/createGroundPolylineGeometry.js +2 -2
- package/dist/cesium/Workers/createPlaneGeometry.js +2 -2
- package/dist/cesium/Workers/createPlaneOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createPolygonGeometry.js +2 -2
- package/dist/cesium/Workers/createPolygonOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createPolylineGeometry.js +2 -2
- package/dist/cesium/Workers/createPolylineVolumeGeometry.js +2 -2
- package/dist/cesium/Workers/createPolylineVolumeOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createRectangleGeometry.js +2 -2
- package/dist/cesium/Workers/createRectangleOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createSimplePolylineGeometry.js +2 -2
- package/dist/cesium/Workers/createSphereGeometry.js +2 -2
- package/dist/cesium/Workers/createSphereOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/createTaskProcessorWorker.js +2 -2
- package/dist/cesium/Workers/createVectorTileClampedPolylines.js +2 -2
- package/dist/cesium/Workers/createVectorTileGeometries.js +2 -2
- package/dist/cesium/Workers/createVectorTilePoints.js +2 -2
- package/dist/cesium/Workers/createVectorTilePolygons.js +2 -2
- package/dist/cesium/Workers/createVectorTilePolylines.js +2 -2
- package/dist/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
- package/dist/cesium/Workers/createVerticesFromHeightmap.js +2 -2
- package/dist/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -2
- package/dist/cesium/Workers/createWallGeometry.js +2 -2
- package/dist/cesium/Workers/createWallOutlineGeometry.js +2 -2
- package/dist/cesium/Workers/decodeDraco.js +2 -2
- package/dist/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/dist/cesium/Workers/decodeI3S.js +2 -2
- package/dist/cesium/Workers/transcodeKTX2.js +10 -10
- package/dist/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +2 -2
- package/dist/core.js +34193 -34105
- package/dist/core.umd.cjs +3866 -3820
- package/dist/index.d.ts +212 -217
- package/package.json +5 -5
- package/src/Map/ClusteredLayers/index.tsx +2 -2
- package/src/Map/Layer/index.tsx +3 -3
- package/src/Map/Layers/hooks.ts +0 -10
- package/src/Map/Layers/index.tsx +2 -2
- package/src/Map/Sketch/hooks.ts +66 -46
- package/src/Map/Sketch/index.tsx +24 -2
- package/src/Map/Sketch/preset.ts +0 -2
- package/src/Map/Sketch/types.ts +0 -31
- package/src/Map/hooks.ts +4 -0
- package/src/Map/index.tsx +5 -8
- package/src/Map/ref.ts +7 -4
- package/src/Map/types/index.ts +216 -34
- package/src/Map/useTimelineManager.ts +3 -5
- package/src/Map/utils.ts +43 -1
- package/src/Visualizer/coreContext.tsx +8 -1
- package/src/Visualizer/hooks.ts +75 -6
- package/src/Visualizer/index.stories.tsx +48 -4
- package/src/Visualizer/index.tsx +6 -8
- package/src/engines/Cesium/Feature/Ellipse/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Frustum/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Model/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Model/index.tsx +9 -10
- package/src/engines/Cesium/Feature/Polygon/index.stories.tsx +6 -8
- package/src/engines/Cesium/Feature/Raster/index.stories.tsx +2 -2
- package/src/engines/Cesium/Feature/Resource/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Tileset/hooks.ts +11 -12
- package/src/engines/Cesium/Feature/Tileset/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Tileset/index.tsx +4 -4
- package/src/engines/Cesium/Feature/Tileset/useClippingBox.ts +1 -10
- package/src/engines/Cesium/Feature/index.tsx +4 -5
- package/src/engines/Cesium/Feature/utils.tsx +2 -3
- package/src/engines/Cesium/Shaders/OverriddenShaders/GlobeFS/IBL.glsl +6 -10
- package/src/engines/Cesium/{hooks/useOverrideGlobeShader/VertexTerrainElevationMaterial.ts → VertexTerrainElevationMaterial.ts} +2 -3
- package/src/engines/Cesium/{hooks/useCameraLimiter.ts → cameraLimiter.ts} +45 -22
- package/src/engines/Cesium/core/Globe.tsx +68 -36
- package/src/engines/Cesium/core/Imagery.test.ts +9 -9
- package/src/engines/Cesium/core/Imagery.tsx +19 -17
- package/src/engines/Cesium/core/Indicator/Indicator.tsx +8 -8
- package/src/engines/Cesium/hooks.ts +365 -124
- package/src/engines/Cesium/index.stories.tsx +1 -1
- package/src/engines/Cesium/index.tsx +62 -60
- package/src/engines/Cesium/{hooks/useEngineRef.test.tsx → useEngineRef.test.tsx} +34 -38
- package/src/engines/Cesium/{hooks/useEngineRef.ts → useEngineRef.ts} +41 -43
- package/src/engines/Cesium/{hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts → useOverrideGlobeShader.ts} +17 -20
- package/src/engines/index.ts +1 -1
- package/src/mantle/compat/types.ts +7 -7
- package/dist/cesium/Workers/chunk-45U7TTT3.js +0 -26
- package/dist/cesium/Workers/chunk-7VJK3KHI.js +0 -26
- package/dist/cesium/Workers/chunk-CUOR5F7T.js +0 -28
- package/dist/cesium/Workers/chunk-DGCK3LD2.js +0 -30
- package/dist/cesium/Workers/chunk-DXEZYE3K.js +0 -62
- package/dist/cesium/Workers/chunk-VAKC5J5C.js +0 -26
- package/dist/cesium/Workers/chunk-VKV642QV.js +0 -26
- package/dist/cesium/Workers/chunk-VMSXG4OA.js +0 -26
- package/src/Map/types/viewerProperty.ts +0 -215
- package/src/Visualizer/useCoreAPI.ts +0 -30
- package/src/engines/Cesium/hooks/useCamera.ts +0 -135
- package/src/engines/Cesium/hooks/useExplicitRender.ts +0 -65
- package/src/engines/Cesium/hooks/useLayerDragDrop.ts +0 -77
- package/src/engines/Cesium/hooks/useViewerProperty.ts +0 -90
- /package/src/engines/Cesium/{hooks/useOverrideGlobeShader/JapanSeaLevelEllipsoid.ts → JapanSeaLevelEllipsoid.ts} +0 -0
- /package/src/engines/Cesium/{hooks/useOverrideGlobeShader/vertexTerrainElevationMaterial.glsl → vertexTerrainElevationMaterial.glsl} +0 -0
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ViewerProperty Interface
|
|
3
|
-
* ------------------------
|
|
4
|
-
* The ViewerProperty interface defines a collection of sub-properties that represent different aspects of the viewer component.
|
|
5
|
-
* Each sub-property encapsulates specific settings and configurations related to the viewer's behavior and appearance.
|
|
6
|
-
|
|
7
|
-
* GlobeProperty: Settings related to the globe visualization, such as base color, lighting, and atmosphere.
|
|
8
|
-
* TerrainProperty: Configuration options for terrain visualization, including terrain type, height map, and normal mapping.
|
|
9
|
-
* SceneProperty: Scene-specific settings, such as background color, scene mode, vertical exaggeration, and lighting.
|
|
10
|
-
* TilesProperty: Properties for managing tile layers, including URLs, opacity, zoom levels, and heatmap settings.
|
|
11
|
-
* TileLabelProperty: Properties for managing tile labels, such as label type and style.
|
|
12
|
-
* SkyProperty: Settings for sky visualization, including skybox, sun, moon, fog, and sky atmosphere.
|
|
13
|
-
* CameraProperty: Camera-related settings, such as camera position, limiter, and ground entry.
|
|
14
|
-
* RenderProperty: Rendering settings, such as antialiasing and ambient occlusion.
|
|
15
|
-
* IndicatorProperty: Properties for customizing the viewer's indicator, such as type and image.
|
|
16
|
-
* AssetsProperty: Asset-related settings, such as access tokens and URLs for external assets.
|
|
17
|
-
* DebugProperty: Debugging options, such as wireframe display and FPS counter.
|
|
18
|
-
|
|
19
|
-
* Guidelines for Adding New Properties
|
|
20
|
-
* ------------------------------------
|
|
21
|
-
* When adding new properties to the ViewerProperty interface, follow these steps to ensure consistency and maintainability:
|
|
22
|
-
* 1. Determine the Appropriate Category: Identify the aspect of the viewer your new property will affect and choose the most relevant existing sub-property type (e.g., GlobeProperty, TerrainProperty, SceneProperty, etc.). If your property does not fit into an existing category, consider creating a new sub-property type.
|
|
23
|
-
* 2. Define the New Property: Add your new property to the chosen sub-property type. Ensure that the property name is descriptive and the type is correctly specified. If your property requires complex structures, define new types as needed.
|
|
24
|
-
* 3. Maintain Optional Properties: To keep the interface flexible, add new properties as optional (?) unless they are strictly required.
|
|
25
|
-
* 4. Follow Naming Rules:
|
|
26
|
-
* - Use CamelCase for property names.
|
|
27
|
-
* - Keep property names descriptive but concise.
|
|
28
|
-
* - Maintain consistency with existing naming patterns.
|
|
29
|
-
* - Avoid abbreviations unless widely understood and standard.
|
|
30
|
-
* 5. Document the Property: Add comments or documentation to describe the purpose and usage of the new property. This will help other developers understand its function and how to use it.
|
|
31
|
-
* 6. Update Usage Examples: If applicable, update any example configurations or documentation to include the new property, demonstrating how it should be used.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
import type { LUT, Camera } from "../../mantle";
|
|
35
|
-
|
|
36
|
-
export type SceneMode = "3d" | "2d" | "columbus";
|
|
37
|
-
|
|
38
|
-
export type ViewerProperty = {
|
|
39
|
-
globe?: GlobeProperty;
|
|
40
|
-
terrain?: TerrainProperty;
|
|
41
|
-
scene?: SceneProperty;
|
|
42
|
-
tiles?: TileProperty[];
|
|
43
|
-
tileLabels?: TileLabelProperty[];
|
|
44
|
-
sky?: SkyProperty;
|
|
45
|
-
camera?: CameraProperty;
|
|
46
|
-
render?: RenderPeropty;
|
|
47
|
-
assets?: AssetsProperty; // anything related to specific assets and its access tokens
|
|
48
|
-
debug?: DebugProperty;
|
|
49
|
-
indicator?: IndicatorProperty; // consider remove this if not needed in the future
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export type GlobeProperty = {
|
|
53
|
-
baseColor?: string;
|
|
54
|
-
enableLighting?: boolean;
|
|
55
|
-
atmosphere?: GlobeAtmosphereProperty;
|
|
56
|
-
depthTestAgainstTerrain?: boolean;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export type GlobeAtmosphereProperty = {
|
|
60
|
-
enabled?: boolean;
|
|
61
|
-
lightIntensity?: number;
|
|
62
|
-
brightnessShift?: number;
|
|
63
|
-
hueShift?: number;
|
|
64
|
-
saturationShift?: number;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export type TerrainProperty = {
|
|
68
|
-
enabled?: boolean;
|
|
69
|
-
type?: "cesium" | "arcgis" | "cesiumion";
|
|
70
|
-
url?: string;
|
|
71
|
-
normal?: boolean;
|
|
72
|
-
elevationHeatMap?: ElevationHeatMapProperty;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export type ElevationHeatMapProperty = {
|
|
76
|
-
type?: "custom";
|
|
77
|
-
colorLUT?: LUT;
|
|
78
|
-
minHeight?: number;
|
|
79
|
-
maxHeight?: number;
|
|
80
|
-
logarithmic?: boolean;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
export type SceneProperty = {
|
|
84
|
-
backgroundColor?: string;
|
|
85
|
-
mode?: SceneMode;
|
|
86
|
-
verticalExaggeration?: number;
|
|
87
|
-
verticalExaggerationRelativeHeight?: number;
|
|
88
|
-
vr?: boolean;
|
|
89
|
-
light?: LightProperty;
|
|
90
|
-
shadow?: ShadowProperty;
|
|
91
|
-
imageBasedLighting?: ImageBasedLighting;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export type LightProperty = {
|
|
95
|
-
type?: "sunLight" | "directionalLight";
|
|
96
|
-
direction?: [x: number, y: number, z: number];
|
|
97
|
-
color?: string;
|
|
98
|
-
intensity?: number;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export type ShadowProperty = {
|
|
102
|
-
enabled?: boolean;
|
|
103
|
-
darkness?: number;
|
|
104
|
-
shadowMap?: ShadowMapProperty;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export type ShadowMapProperty = {
|
|
108
|
-
size?: 1024 | 2048 | 4096;
|
|
109
|
-
softShadows?: boolean;
|
|
110
|
-
darkness?: number;
|
|
111
|
-
maximumDistance?: number;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
export type ImageBasedLighting = {
|
|
115
|
-
enabled?: boolean;
|
|
116
|
-
intensity?: number;
|
|
117
|
-
specularEnvironmentMaps?: string;
|
|
118
|
-
sphericalHarmonicCoefficients?: [number, number, number][];
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
export type TileProperty = {
|
|
122
|
-
id: string;
|
|
123
|
-
type?: string;
|
|
124
|
-
url?: string;
|
|
125
|
-
opacity?: number;
|
|
126
|
-
zoomLevel?: number[];
|
|
127
|
-
zoomLevelForURL?: number[];
|
|
128
|
-
heatmap?: boolean;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
export type TileLabelProperty = {
|
|
132
|
-
id: string;
|
|
133
|
-
labelType: "japan_gsi_optimal_bvmap";
|
|
134
|
-
style: Record<string, any>;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
export type SkyProperty = {
|
|
138
|
-
skyBox?: SkyBoxProperty;
|
|
139
|
-
sun?: SunProperty;
|
|
140
|
-
moon?: MoonProperty;
|
|
141
|
-
fog?: FogProperty;
|
|
142
|
-
skyAtmosphere?: SkyAtmosphereProperty;
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
export type SkyBoxProperty = {
|
|
146
|
-
show?: boolean;
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
export type SunProperty = {
|
|
150
|
-
show?: boolean;
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export type MoonProperty = {
|
|
154
|
-
show?: boolean;
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
export type FogProperty = {
|
|
158
|
-
enabled?: boolean;
|
|
159
|
-
density?: number;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
export type SkyAtmosphereProperty = {
|
|
163
|
-
show?: boolean;
|
|
164
|
-
lightIntensity?: number;
|
|
165
|
-
saturationShift?: number;
|
|
166
|
-
brightnessShift?: number;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
export type CameraProperty = {
|
|
170
|
-
allowEnterGround?: boolean;
|
|
171
|
-
limiter?: CameraLimiterProperty;
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
export type CameraLimiterProperty = {
|
|
175
|
-
enabled?: boolean;
|
|
176
|
-
targetArea?: Camera;
|
|
177
|
-
targetWidth?: number;
|
|
178
|
-
targetLength?: number;
|
|
179
|
-
showHelper?: boolean;
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
export type RenderPeropty = {
|
|
183
|
-
antialias?: "low" | "medium" | "high" | "extreme";
|
|
184
|
-
ambientOcclusion?: AmbientOcclusionProperty;
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export type AmbientOcclusionProperty = {
|
|
188
|
-
enabled?: boolean;
|
|
189
|
-
quality?: "low" | "medium" | "high" | "extreme";
|
|
190
|
-
intensity?: number;
|
|
191
|
-
ambientOcclusionOnly?: boolean;
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
export type IndicatorProperty = {
|
|
195
|
-
type?: "default" | "crosshair" | "custom";
|
|
196
|
-
image?: string;
|
|
197
|
-
imageScale?: number;
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
export type AssetsProperty = {
|
|
201
|
-
cesium?: AssetsCesiumProperty;
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
export type AssetsCesiumProperty = {
|
|
205
|
-
terrain?: {
|
|
206
|
-
ionAccessToken?: string;
|
|
207
|
-
ionAsset?: string;
|
|
208
|
-
ionUrl?: string;
|
|
209
|
-
};
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
export type DebugProperty = {
|
|
213
|
-
showGlobeWireframe?: boolean;
|
|
214
|
-
showFramesPerSecond?: boolean;
|
|
215
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { useEffect, useMemo, useRef } from "react";
|
|
2
|
-
|
|
3
|
-
import { version } from "../../package.json";
|
|
4
|
-
import { ViewerProperty } from "../engines";
|
|
5
|
-
|
|
6
|
-
interface CoreAPI {
|
|
7
|
-
readonly version: string;
|
|
8
|
-
readonly viewerProperty?: ViewerProperty;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export default ({ viewerProperty }: { viewerProperty?: ViewerProperty }) => {
|
|
12
|
-
const viewerPropertyRef = useRef(viewerProperty);
|
|
13
|
-
viewerPropertyRef.current = viewerProperty;
|
|
14
|
-
|
|
15
|
-
const coreAPI: CoreAPI = useMemo(
|
|
16
|
-
() => ({
|
|
17
|
-
get version() {
|
|
18
|
-
return version;
|
|
19
|
-
},
|
|
20
|
-
get viewerProperty() {
|
|
21
|
-
return viewerPropertyRef.current;
|
|
22
|
-
},
|
|
23
|
-
}),
|
|
24
|
-
[],
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
(window as any).reearth_core = coreAPI;
|
|
29
|
-
}, [coreAPI]);
|
|
30
|
-
};
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { Math as CesiumMath, Scene, Viewer } from "cesium";
|
|
2
|
-
import { isEqual } from "lodash-es";
|
|
3
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
4
|
-
import { CesiumComponentRef } from "resium";
|
|
5
|
-
import { RefObject } from "use-callback-ref/dist/es5/types";
|
|
6
|
-
import { useCustomCompareCallback } from "use-custom-compare";
|
|
7
|
-
|
|
8
|
-
import { EngineRef, ViewerProperty } from "../..";
|
|
9
|
-
import { Camera } from "../../../mantle";
|
|
10
|
-
import { FEATURE_FLAGS } from "../../../Visualizer";
|
|
11
|
-
import { getCamera } from "../common";
|
|
12
|
-
|
|
13
|
-
import { useCameraLimiter } from "./useCameraLimiter";
|
|
14
|
-
|
|
15
|
-
export default ({
|
|
16
|
-
cesium,
|
|
17
|
-
property,
|
|
18
|
-
camera,
|
|
19
|
-
featureFlags,
|
|
20
|
-
engineAPI,
|
|
21
|
-
cameraForceHorizontalRoll = false,
|
|
22
|
-
onCameraChange,
|
|
23
|
-
}: {
|
|
24
|
-
cesium: RefObject<CesiumComponentRef<Viewer>>;
|
|
25
|
-
property?: ViewerProperty;
|
|
26
|
-
engineAPI: EngineRef;
|
|
27
|
-
featureFlags: number;
|
|
28
|
-
camera?: Camera;
|
|
29
|
-
cameraForceHorizontalRoll?: boolean;
|
|
30
|
-
onCameraChange?: (camera: Camera) => void;
|
|
31
|
-
}) => {
|
|
32
|
-
// cache the camera data emitted from viewer camera change
|
|
33
|
-
const emittedCamera = useRef<Camera[]>([]);
|
|
34
|
-
const updateCamera = useCallback(() => {
|
|
35
|
-
const viewer = cesium?.current?.cesiumElement;
|
|
36
|
-
if (!viewer || viewer.isDestroyed() || !onCameraChange) return;
|
|
37
|
-
|
|
38
|
-
const c = getCamera(viewer);
|
|
39
|
-
if (c && !isEqual(c, camera)) {
|
|
40
|
-
emittedCamera.current.push(c);
|
|
41
|
-
// The state change is not sync now. This number is how many state updates can actually happen to be merged within one re-render.
|
|
42
|
-
if (emittedCamera.current.length > 10) {
|
|
43
|
-
emittedCamera.current.shift();
|
|
44
|
-
}
|
|
45
|
-
onCameraChange?.(c);
|
|
46
|
-
}
|
|
47
|
-
}, [cesium, camera, onCameraChange]);
|
|
48
|
-
|
|
49
|
-
const handleCameraChange = useCallback(() => {
|
|
50
|
-
updateCamera();
|
|
51
|
-
}, [updateCamera]);
|
|
52
|
-
|
|
53
|
-
const handleCameraMoveEnd = useCallback(() => {
|
|
54
|
-
updateCamera();
|
|
55
|
-
}, [updateCamera]);
|
|
56
|
-
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
if (camera && !emittedCamera.current.includes(camera)) {
|
|
59
|
-
engineAPI.flyTo(camera, { duration: 0 });
|
|
60
|
-
emittedCamera.current = [];
|
|
61
|
-
}
|
|
62
|
-
}, [camera, engineAPI]);
|
|
63
|
-
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
if (!cesium.current?.cesiumElement) return;
|
|
66
|
-
const allowCameraMove = !!(featureFlags & FEATURE_FLAGS.CAMERA_MOVE);
|
|
67
|
-
const allowCameraZoom = !!(featureFlags & FEATURE_FLAGS.CAMERA_ZOOM);
|
|
68
|
-
const allowCameraTilt = !!(featureFlags & FEATURE_FLAGS.CAMERA_TILT);
|
|
69
|
-
const allowCameraLook = !!(featureFlags & FEATURE_FLAGS.CAMERA_LOOK);
|
|
70
|
-
cesium.current.cesiumElement.scene.screenSpaceCameraController.enableTranslate =
|
|
71
|
-
allowCameraMove;
|
|
72
|
-
cesium.current.cesiumElement.scene.screenSpaceCameraController.enableRotate = allowCameraMove;
|
|
73
|
-
cesium.current.cesiumElement.scene.screenSpaceCameraController.enableLook = allowCameraLook;
|
|
74
|
-
cesium.current.cesiumElement.scene.screenSpaceCameraController.enableTilt = allowCameraTilt;
|
|
75
|
-
cesium.current.cesiumElement.scene.screenSpaceCameraController.enableZoom = allowCameraZoom;
|
|
76
|
-
}, [cesium, featureFlags]);
|
|
77
|
-
|
|
78
|
-
// move to initial position at startup
|
|
79
|
-
const initialCameraFlight = useRef(false);
|
|
80
|
-
|
|
81
|
-
const mountCamera = useCustomCompareCallback(
|
|
82
|
-
() => {
|
|
83
|
-
if (initialCameraFlight.current) return;
|
|
84
|
-
initialCameraFlight.current = true;
|
|
85
|
-
if (property?.camera?.limiter?.enabled && property?.camera?.limiter?.targetArea) {
|
|
86
|
-
engineAPI.flyTo(property?.camera?.limiter?.targetArea, { duration: 0 });
|
|
87
|
-
} else if (camera) {
|
|
88
|
-
engineAPI.flyTo(camera, { duration: 0 });
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
[engineAPI, property?.camera?.limiter?.enabled],
|
|
92
|
-
(prevDeps, nextDeps) => prevDeps[0] === nextDeps[0] && prevDeps[1] === nextDeps[1],
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
const unmountCamera = useCallback(() => {
|
|
96
|
-
initialCameraFlight.current = false;
|
|
97
|
-
}, []);
|
|
98
|
-
|
|
99
|
-
// camera limiter
|
|
100
|
-
const { cameraViewBoundaries, cameraViewOuterBoundaries, cameraViewBoundariesMaterial } =
|
|
101
|
-
useCameraLimiter(cesium, camera, property?.camera?.limiter);
|
|
102
|
-
|
|
103
|
-
// horizontal roll
|
|
104
|
-
const fixCameraHorizontal = useCallback(
|
|
105
|
-
(scene: Scene) => {
|
|
106
|
-
if (!scene.camera || !cameraForceHorizontalRoll) return;
|
|
107
|
-
if (Math.abs(CesiumMath.negativePiToPi(scene.camera.roll)) > Math.PI / 86400) {
|
|
108
|
-
scene.camera.setView({
|
|
109
|
-
orientation: {
|
|
110
|
-
heading: scene.camera.heading,
|
|
111
|
-
pitch: scene.camera.pitch,
|
|
112
|
-
roll: 0,
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
[cameraForceHorizontalRoll],
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
useEffect(() => {
|
|
121
|
-
const viewer = cesium.current?.cesiumElement;
|
|
122
|
-
if (!viewer) return;
|
|
123
|
-
return viewer.scene.preRender.addEventListener(fixCameraHorizontal);
|
|
124
|
-
}, [cesium, fixCameraHorizontal]);
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
cameraViewBoundaries,
|
|
128
|
-
cameraViewOuterBoundaries,
|
|
129
|
-
cameraViewBoundariesMaterial,
|
|
130
|
-
mountCamera,
|
|
131
|
-
unmountCamera,
|
|
132
|
-
handleCameraChange,
|
|
133
|
-
handleCameraMoveEnd,
|
|
134
|
-
};
|
|
135
|
-
};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Viewer } from "cesium";
|
|
2
|
-
import { MutableRefObject, RefObject, useCallback, useEffect, useRef } from "react";
|
|
3
|
-
import { CesiumComponentRef } from "resium";
|
|
4
|
-
|
|
5
|
-
import { RequestingRenderMode, ViewerProperty } from "../../../Map";
|
|
6
|
-
import { FORCE_REQUEST_RENDER, NO_REQUEST_RENDER, REQUEST_RENDER_ONCE } from "../../../Map/hooks";
|
|
7
|
-
|
|
8
|
-
export default ({
|
|
9
|
-
cesium,
|
|
10
|
-
requestingRenderMode,
|
|
11
|
-
isLayerDragging,
|
|
12
|
-
shouldRender,
|
|
13
|
-
property,
|
|
14
|
-
}: {
|
|
15
|
-
cesium: RefObject<CesiumComponentRef<Viewer>>;
|
|
16
|
-
requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
|
|
17
|
-
isLayerDragging?: boolean;
|
|
18
|
-
shouldRender?: boolean;
|
|
19
|
-
property?: ViewerProperty;
|
|
20
|
-
}) => {
|
|
21
|
-
// explicit rendering
|
|
22
|
-
const explicitRender = useCallback(() => {
|
|
23
|
-
const viewer = cesium.current?.cesiumElement;
|
|
24
|
-
if (!requestingRenderMode?.current || !viewer || viewer.isDestroyed()) return;
|
|
25
|
-
viewer.scene.requestRender();
|
|
26
|
-
if (requestingRenderMode.current === REQUEST_RENDER_ONCE) {
|
|
27
|
-
requestingRenderMode.current = NO_REQUEST_RENDER;
|
|
28
|
-
}
|
|
29
|
-
}, [cesium, requestingRenderMode]);
|
|
30
|
-
|
|
31
|
-
const explicitRenderRef = useRef<() => void>();
|
|
32
|
-
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
explicitRenderRef.current = explicitRender;
|
|
35
|
-
}, [explicitRender]);
|
|
36
|
-
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
const viewer = cesium.current?.cesiumElement;
|
|
39
|
-
if (!viewer || viewer.isDestroyed()) return;
|
|
40
|
-
return viewer.scene.postUpdate.addEventListener(() => {
|
|
41
|
-
explicitRenderRef.current?.();
|
|
42
|
-
});
|
|
43
|
-
}, [cesium]);
|
|
44
|
-
|
|
45
|
-
// render one frame when scene property changes
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
if (requestingRenderMode) {
|
|
48
|
-
requestingRenderMode.current = REQUEST_RENDER_ONCE;
|
|
49
|
-
}
|
|
50
|
-
}, [property, requestingRenderMode]);
|
|
51
|
-
|
|
52
|
-
// force render when timeline is animating or is shouldRender
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
const viewer = cesium.current?.cesiumElement;
|
|
55
|
-
if (!viewer || viewer.isDestroyed()) return;
|
|
56
|
-
if (requestingRenderMode) {
|
|
57
|
-
requestingRenderMode.current =
|
|
58
|
-
isLayerDragging || shouldRender
|
|
59
|
-
? FORCE_REQUEST_RENDER
|
|
60
|
-
: requestingRenderMode.current === REQUEST_RENDER_ONCE
|
|
61
|
-
? REQUEST_RENDER_ONCE
|
|
62
|
-
: NO_REQUEST_RENDER;
|
|
63
|
-
}
|
|
64
|
-
}, [cesium, isLayerDragging, shouldRender, requestingRenderMode]);
|
|
65
|
-
};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Cartesian3, Entity, Viewer } from "cesium";
|
|
2
|
-
import CesiumDnD, { Context } from "cesium-dnd";
|
|
3
|
-
import { RefObject, useCallback, useEffect, useRef } from "react";
|
|
4
|
-
import { CesiumComponentRef } from "resium";
|
|
5
|
-
|
|
6
|
-
import { LatLng } from "../../../utils";
|
|
7
|
-
import { isDraggable, isSelectable } from "../common";
|
|
8
|
-
import { getTag } from "../Feature";
|
|
9
|
-
import { convertCartesian3ToPosition } from "../utils/utils";
|
|
10
|
-
|
|
11
|
-
export default ({
|
|
12
|
-
cesium,
|
|
13
|
-
isLayerDraggable,
|
|
14
|
-
onLayerDrag,
|
|
15
|
-
onLayerDrop,
|
|
16
|
-
}: {
|
|
17
|
-
cesium: RefObject<CesiumComponentRef<Viewer>>;
|
|
18
|
-
isLayerDraggable?: boolean;
|
|
19
|
-
onLayerDrag?: (layerId: string, featureId: string | undefined, position: LatLng) => void;
|
|
20
|
-
onLayerDrop?: (
|
|
21
|
-
layerId: string,
|
|
22
|
-
featureId: string | undefined,
|
|
23
|
-
position: LatLng | undefined,
|
|
24
|
-
) => void;
|
|
25
|
-
}) => {
|
|
26
|
-
// enable Drag and Drop Layers
|
|
27
|
-
const handleLayerDrag = useCallback(
|
|
28
|
-
(e: Entity, position: Cartesian3 | undefined, _context: Context): boolean | void => {
|
|
29
|
-
const viewer = cesium.current?.cesiumElement;
|
|
30
|
-
if (!viewer || viewer.isDestroyed() || !isSelectable(e) || !isDraggable(e)) return false;
|
|
31
|
-
|
|
32
|
-
const pos = convertCartesian3ToPosition(cesium.current?.cesiumElement, position);
|
|
33
|
-
if (!pos) return false;
|
|
34
|
-
|
|
35
|
-
const tag = getTag(e);
|
|
36
|
-
if (!tag) return false;
|
|
37
|
-
|
|
38
|
-
onLayerDrag?.(tag.layerId || "", tag.featureId, pos);
|
|
39
|
-
},
|
|
40
|
-
[cesium, onLayerDrag],
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
const handleLayerDrop = useCallback(
|
|
44
|
-
(e: Entity, position: Cartesian3 | undefined): boolean | void => {
|
|
45
|
-
const viewer = cesium.current?.cesiumElement;
|
|
46
|
-
if (!viewer || viewer.isDestroyed()) return false;
|
|
47
|
-
|
|
48
|
-
const tag = getTag(e);
|
|
49
|
-
const pos = convertCartesian3ToPosition(cesium.current?.cesiumElement, position);
|
|
50
|
-
onLayerDrop?.(tag?.layerId || "", tag?.featureId || "", pos);
|
|
51
|
-
|
|
52
|
-
return false; // let apollo-client handle optimistic updates
|
|
53
|
-
},
|
|
54
|
-
[cesium, onLayerDrop],
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
const cesiumDnD = useRef<CesiumDnD>();
|
|
58
|
-
useEffect(() => {
|
|
59
|
-
const viewer = cesium.current?.cesiumElement;
|
|
60
|
-
if (!viewer || viewer.isDestroyed()) return;
|
|
61
|
-
cesiumDnD.current = new CesiumDnD(viewer, {
|
|
62
|
-
onDrag: handleLayerDrag,
|
|
63
|
-
onDrop: handleLayerDrop,
|
|
64
|
-
dragDelay: 1000,
|
|
65
|
-
initialDisabled: !isLayerDraggable,
|
|
66
|
-
});
|
|
67
|
-
return () => {
|
|
68
|
-
if (!viewer || viewer.isDestroyed()) return;
|
|
69
|
-
cesiumDnD.current?.disable();
|
|
70
|
-
};
|
|
71
|
-
}, [cesium, isLayerDraggable, handleLayerDrag, handleLayerDrop]);
|
|
72
|
-
|
|
73
|
-
return {
|
|
74
|
-
handleLayerDrag,
|
|
75
|
-
handleLayerDrop,
|
|
76
|
-
};
|
|
77
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Cartesian3, Color, DirectionalLight, SceneMode, SunLight, Viewer } from "cesium";
|
|
2
|
-
import { RefObject, useMemo } from "react";
|
|
3
|
-
import { CesiumComponentRef } from "resium";
|
|
4
|
-
|
|
5
|
-
import { ViewerProperty } from "../..";
|
|
6
|
-
|
|
7
|
-
// TODO: move all viewer property -> resium component prop logic here (from the gerneal long Cesium/hooks file)
|
|
8
|
-
export default ({
|
|
9
|
-
cesium,
|
|
10
|
-
property,
|
|
11
|
-
}: {
|
|
12
|
-
cesium: RefObject<CesiumComponentRef<Viewer>>;
|
|
13
|
-
property?: ViewerProperty;
|
|
14
|
-
}) => {
|
|
15
|
-
const sceneLight = useMemo(() => {
|
|
16
|
-
let light;
|
|
17
|
-
if (property?.scene?.light?.type === "sunLight") {
|
|
18
|
-
light = new SunLight({
|
|
19
|
-
color: property.scene?.light?.color
|
|
20
|
-
? Color.fromCssColorString(property.scene.light.color)
|
|
21
|
-
: undefined,
|
|
22
|
-
intensity: property.scene?.light?.intensity,
|
|
23
|
-
});
|
|
24
|
-
} else if (property?.scene?.light?.type === "directionalLight") {
|
|
25
|
-
light = new DirectionalLight({
|
|
26
|
-
direction: new Cartesian3(
|
|
27
|
-
property?.scene?.light?.direction?.[0] ?? 1,
|
|
28
|
-
property?.scene?.light?.direction?.[1] ?? 0,
|
|
29
|
-
property?.scene?.light?.direction?.[2] ?? 0,
|
|
30
|
-
),
|
|
31
|
-
color: property.scene?.light?.color
|
|
32
|
-
? Color.fromCssColorString(property.scene.light.color)
|
|
33
|
-
: undefined,
|
|
34
|
-
intensity: property.scene?.light?.intensity,
|
|
35
|
-
});
|
|
36
|
-
} else {
|
|
37
|
-
light = cesium.current?.cesiumElement?.scene.light;
|
|
38
|
-
if (light) {
|
|
39
|
-
light.color = property?.scene?.light?.color
|
|
40
|
-
? Color.fromCssColorString(property.scene.light.color)
|
|
41
|
-
: light.color;
|
|
42
|
-
light.intensity = property?.scene?.light?.intensity
|
|
43
|
-
? property.scene.light.intensity
|
|
44
|
-
: light.intensity;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return light;
|
|
48
|
-
}, [
|
|
49
|
-
cesium,
|
|
50
|
-
property?.scene?.light?.type,
|
|
51
|
-
property?.scene?.light?.color,
|
|
52
|
-
property?.scene?.light?.direction,
|
|
53
|
-
property?.scene?.light?.intensity,
|
|
54
|
-
]);
|
|
55
|
-
|
|
56
|
-
const sceneBackgroundColor = useMemo(
|
|
57
|
-
() =>
|
|
58
|
-
property?.scene?.backgroundColor
|
|
59
|
-
? Color.fromCssColorString(property.scene.backgroundColor)
|
|
60
|
-
: undefined,
|
|
61
|
-
[property?.scene?.backgroundColor],
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
const sceneMsaaSamples = useMemo(() => {
|
|
65
|
-
// TODO: FXAA doesn't support alpha blending in Cesium, so we will enable FXAA when this is fixed.
|
|
66
|
-
// viewer.scene.postProcessStages.fxaa.enabled = property?.render?.antialias === "high";
|
|
67
|
-
return property?.render?.antialias === "extreme"
|
|
68
|
-
? 8
|
|
69
|
-
: property?.render?.antialias === "high"
|
|
70
|
-
? 6
|
|
71
|
-
: property?.render?.antialias === "medium"
|
|
72
|
-
? 4
|
|
73
|
-
: 1;
|
|
74
|
-
}, [property?.render?.antialias]);
|
|
75
|
-
|
|
76
|
-
const sceneMode = useMemo(() => {
|
|
77
|
-
return property?.scene?.mode === "2d"
|
|
78
|
-
? SceneMode.SCENE2D
|
|
79
|
-
: property?.scene?.mode === "columbus"
|
|
80
|
-
? SceneMode.COLUMBUS_VIEW
|
|
81
|
-
: SceneMode.SCENE3D;
|
|
82
|
-
}, [property?.scene?.mode]);
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
sceneLight,
|
|
86
|
-
sceneBackgroundColor,
|
|
87
|
-
sceneMsaaSamples,
|
|
88
|
-
sceneMode,
|
|
89
|
-
};
|
|
90
|
-
};
|
|
File without changes
|