@reearth/core 0.0.7-alpha.5 → 0.0.7-alpha.51
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/core.js +58676 -51066
- package/dist/core.umd.cjs +3959 -3915
- package/dist/{index-DqatWUTw.js → index-DqGWVPtz.js} +0 -1
- package/dist/index.d.ts +150 -34
- package/package.json +55 -39
- package/src/Map/ClusteredLayers/index.tsx +1 -1
- package/src/Map/Geoid/index.tsx +68 -0
- package/src/Map/Geoid/types.ts +8 -0
- package/src/Map/Layer/hooks.ts +7 -4
- package/src/Map/Layer/index.tsx +3 -1
- package/src/Map/Layers/hooks.ts +19 -2
- package/src/Map/Layers/index.tsx +13 -2
- package/src/Map/Layers/keys.ts +1 -0
- package/src/Map/Sketch/hooks.ts +453 -410
- package/src/Map/Sketch/index.tsx +67 -20
- package/src/Map/Sketch/sketchMachine.ts +359 -4
- package/src/Map/Sketch/sketchMachine.typegen.ts +58 -1
- package/src/Map/Sketch/types.ts +10 -20
- package/src/Map/Sketch/usePluginSketchLayer.ts +105 -0
- package/src/Map/Sketch/useSketch.ts +559 -0
- package/src/Map/Sketch/useSketchFeature.ts +198 -0
- package/src/Map/SpatialId/constants.ts +21 -0
- package/src/Map/SpatialId/hooks.ts +448 -0
- package/src/Map/SpatialId/index.tsx +63 -0
- package/src/Map/SpatialId/types.ts +68 -0
- package/src/Map/SpatialId/utils.ts +65 -0
- package/src/Map/hooks.ts +54 -8
- package/src/Map/index.tsx +41 -8
- package/src/Map/ref.ts +32 -3
- package/src/Map/types/index.ts +39 -3
- package/src/Map/types/viewerProperty.ts +10 -0
- package/src/Map/useTimelineManager.ts +2 -2
- package/src/Map/utils.ts +1 -1
- package/src/Visualizer/context.tsx +5 -5
- package/src/Visualizer/coreContext.tsx +2 -0
- package/src/Visualizer/hooks.ts +54 -20
- package/src/Visualizer/index.tsx +22 -3
- package/src/Visualizer/interactionMode.ts +2 -1
- package/src/Visualizer/useViewport.ts +1 -1
- package/src/engines/Cesium/Feature/Box/hooks/box.ts +4 -4
- package/src/engines/Cesium/Feature/HeatMap/HeatmapMesh.tsx +1 -1
- package/src/engines/Cesium/Feature/Model/index.tsx +3 -3
- package/src/engines/Cesium/Feature/PhotoOverlay/hooks.ts +1 -1
- package/src/engines/Cesium/Feature/PhotoOverlay/index.tsx +3 -1
- package/src/engines/Cesium/Feature/Polygon/index.tsx +6 -4
- package/src/engines/Cesium/Feature/Raster/mvt.ts +2 -1
- package/src/engines/Cesium/Feature/Resource/utils.ts +86 -91
- package/src/engines/Cesium/Feature/Tileset/hooks.ts +135 -70
- package/src/engines/Cesium/Feature/Tileset/index.tsx +1 -1
- package/src/engines/Cesium/Feature/Tileset/useClippingBox.ts +2 -2
- package/src/engines/Cesium/Feature/context.ts +1 -0
- package/src/engines/Cesium/Feature/index.tsx +7 -3
- package/src/engines/Cesium/Feature/utils.tsx +18 -7
- package/src/engines/Cesium/Shaders/OverriddenShaders/GlobeFS/IBL.glsl +6 -10
- package/src/engines/Cesium/Sketch/ControlPoint.tsx +128 -24
- package/src/engines/Cesium/Sketch/ExtrudedControlPoints.tsx +70 -25
- package/src/engines/Cesium/Sketch/ExtrudedMeasurement.tsx +3 -1
- package/src/engines/Cesium/Sketch/ExtrudedPolygonEntity.tsx +14 -14
- package/src/engines/Cesium/Sketch/PolylineEntity.tsx +7 -4
- package/src/engines/Cesium/Sketch/SurfaceAddingPoints.tsx +60 -0
- package/src/engines/Cesium/Sketch/SurfaceControlPoints.tsx +125 -35
- package/src/engines/Cesium/Sketch/constants.ts +5 -0
- package/src/engines/Cesium/Sketch/index.tsx +68 -29
- package/src/engines/Cesium/SpatialId/CoordinateIndicator.tsx +28 -0
- package/src/engines/Cesium/SpatialId/SpatialIdSpace.tsx +33 -0
- package/src/engines/Cesium/SpatialId/VerticalSpaceIndicator.tsx +32 -0
- package/src/engines/Cesium/SpatialId/index.ts +3 -0
- package/src/engines/Cesium/common.ts +52 -16
- package/src/engines/Cesium/core/Clock.tsx +1 -1
- package/src/engines/Cesium/core/Globe/index.tsx +73 -0
- package/src/engines/Cesium/core/Globe/useTerrainProviderPromise.ts +79 -0
- package/src/engines/Cesium/core/Imagery.test.ts +29 -11
- package/src/engines/Cesium/core/Imagery.tsx +22 -6
- package/src/engines/Cesium/core/Indicator/Indicator.tsx +1 -1
- package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapLabelImagery.tsx +9 -2
- package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapVectorMapLabel.tsx +14 -2
- package/src/engines/Cesium/core/labels/LabelImageryLayers.tsx +10 -1
- package/src/engines/Cesium/core/presets.ts +24 -28
- package/src/engines/Cesium/helpers/getGeometryFromEntity.ts +55 -0
- package/src/engines/Cesium/hooks/useCamera.ts +1 -1
- package/src/engines/Cesium/hooks/useCameraLimiter.ts +1 -1
- package/src/engines/Cesium/hooks/useEngineRef.ts +48 -3
- package/src/engines/Cesium/hooks/useExplicitRender.ts +2 -2
- package/src/engines/Cesium/hooks/useInstance.ts +1 -1
- package/src/engines/Cesium/hooks/useLayerDragDrop.ts +2 -2
- package/src/engines/Cesium/hooks/useLayerSelectWithRect.ts +1 -1
- package/src/engines/Cesium/hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts +98 -52
- package/src/engines/Cesium/hooks/useViewerProperty.ts +1 -1
- package/src/engines/Cesium/hooks.ts +52 -10
- package/src/engines/Cesium/index.tsx +16 -3
- package/src/engines/Cesium/types.ts +1 -1
- package/src/mantle/atoms/compute.ts +8 -3
- package/src/mantle/data/geojson.ts +53 -22
- package/src/mantle/data/shapefile/parseZip.ts +1 -0
- package/src/mantle/evaluator/simple/expression/expression.test.ts +72 -0
- package/src/mantle/evaluator/simple/expression/node.ts +10 -12
- package/src/mantle/types/appearance.ts +4 -2
- package/src/mantle/types/index.ts +3 -0
- package/src/test/utils.tsx +1 -1
- package/src/utils/image.ts +2 -12
- package/src/utils/use-delayed-count.ts +1 -1
- package/src/utils/use-dnd/drop.ts +1 -1
- package/src/utils/util.ts +1 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +0 -1
- package/dist/cesium/Assets/Images/bing_maps_credit.png +0 -0
- package/dist/cesium/Assets/Images/cesium_credit.png +0 -0
- package/dist/cesium/Assets/Images/google_earth_credit.png +0 -0
- package/dist/cesium/Assets/Images/ion-credit.png +0 -0
- package/dist/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/dist/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +0 -14
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/dist/cesium/Assets/Textures/maki/airfield.png +0 -0
- package/dist/cesium/Assets/Textures/maki/airport.png +0 -0
- package/dist/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/dist/cesium/Assets/Textures/maki/america-football.png +0 -0
- package/dist/cesium/Assets/Textures/maki/art-gallery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bakery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bank.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bar.png +0 -0
- package/dist/cesium/Assets/Textures/maki/baseball.png +0 -0
- package/dist/cesium/Assets/Textures/maki/basketball.png +0 -0
- package/dist/cesium/Assets/Textures/maki/beer.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bicycle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/building.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bus.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cafe.png +0 -0
- package/dist/cesium/Assets/Textures/maki/camera.png +0 -0
- package/dist/cesium/Assets/Textures/maki/campsite.png +0 -0
- package/dist/cesium/Assets/Textures/maki/car.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cemetery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cesium.png +0 -0
- package/dist/cesium/Assets/Textures/maki/chemist.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cinema.png +0 -0
- package/dist/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/circle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/city.png +0 -0
- package/dist/cesium/Assets/Textures/maki/clothing-store.png +0 -0
- package/dist/cesium/Assets/Textures/maki/college.png +0 -0
- package/dist/cesium/Assets/Textures/maki/commercial.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cricket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cross.png +0 -0
- package/dist/cesium/Assets/Textures/maki/dam.png +0 -0
- package/dist/cesium/Assets/Textures/maki/danger.png +0 -0
- package/dist/cesium/Assets/Textures/maki/disability.png +0 -0
- package/dist/cesium/Assets/Textures/maki/dog-park.png +0 -0
- package/dist/cesium/Assets/Textures/maki/embassy.png +0 -0
- package/dist/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/entrance.png +0 -0
- package/dist/cesium/Assets/Textures/maki/farm.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fast-food.png +0 -0
- package/dist/cesium/Assets/Textures/maki/ferry.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fire-station.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fuel.png +0 -0
- package/dist/cesium/Assets/Textures/maki/garden.png +0 -0
- package/dist/cesium/Assets/Textures/maki/gift.png +0 -0
- package/dist/cesium/Assets/Textures/maki/golf.png +0 -0
- package/dist/cesium/Assets/Textures/maki/grocery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/hairdresser.png +0 -0
- package/dist/cesium/Assets/Textures/maki/harbor.png +0 -0
- package/dist/cesium/Assets/Textures/maki/heart.png +0 -0
- package/dist/cesium/Assets/Textures/maki/heliport.png +0 -0
- package/dist/cesium/Assets/Textures/maki/hospital.png +0 -0
- package/dist/cesium/Assets/Textures/maki/ice-cream.png +0 -0
- package/dist/cesium/Assets/Textures/maki/industrial.png +0 -0
- package/dist/cesium/Assets/Textures/maki/land-use.png +0 -0
- package/dist/cesium/Assets/Textures/maki/laundry.png +0 -0
- package/dist/cesium/Assets/Textures/maki/library.png +0 -0
- package/dist/cesium/Assets/Textures/maki/lighthouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/lodging.png +0 -0
- package/dist/cesium/Assets/Textures/maki/logging.png +0 -0
- package/dist/cesium/Assets/Textures/maki/london-underground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/marker.png +0 -0
- package/dist/cesium/Assets/Textures/maki/minefield.png +0 -0
- package/dist/cesium/Assets/Textures/maki/mobilephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/monument.png +0 -0
- package/dist/cesium/Assets/Textures/maki/museum.png +0 -0
- package/dist/cesium/Assets/Textures/maki/music.png +0 -0
- package/dist/cesium/Assets/Textures/maki/oil-well.png +0 -0
- package/dist/cesium/Assets/Textures/maki/park.png +0 -0
- package/dist/cesium/Assets/Textures/maki/park2.png +0 -0
- package/dist/cesium/Assets/Textures/maki/parking-garage.png +0 -0
- package/dist/cesium/Assets/Textures/maki/parking.png +0 -0
- package/dist/cesium/Assets/Textures/maki/pharmacy.png +0 -0
- package/dist/cesium/Assets/Textures/maki/pitch.png +0 -0
- package/dist/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
- package/dist/cesium/Assets/Textures/maki/playground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/police.png +0 -0
- package/dist/cesium/Assets/Textures/maki/polling-place.png +0 -0
- package/dist/cesium/Assets/Textures/maki/post.png +0 -0
- package/dist/cesium/Assets/Textures/maki/prison.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-above.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-light.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-metro.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-underground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-christian.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
- package/dist/cesium/Assets/Textures/maki/restaurant.png +0 -0
- package/dist/cesium/Assets/Textures/maki/roadblock.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rocket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/school.png +0 -0
- package/dist/cesium/Assets/Textures/maki/scooter.png +0 -0
- package/dist/cesium/Assets/Textures/maki/shop.png +0 -0
- package/dist/cesium/Assets/Textures/maki/skiing.png +0 -0
- package/dist/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/soccer.png +0 -0
- package/dist/cesium/Assets/Textures/maki/square-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/square.png +0 -0
- package/dist/cesium/Assets/Textures/maki/star-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/star.png +0 -0
- package/dist/cesium/Assets/Textures/maki/suitcase.png +0 -0
- package/dist/cesium/Assets/Textures/maki/swimming.png +0 -0
- package/dist/cesium/Assets/Textures/maki/telephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/tennis.png +0 -0
- package/dist/cesium/Assets/Textures/maki/theatre.png +0 -0
- package/dist/cesium/Assets/Textures/maki/toilets.png +0 -0
- package/dist/cesium/Assets/Textures/maki/town-hall.png +0 -0
- package/dist/cesium/Assets/Textures/maki/town.png +0 -0
- package/dist/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/triangle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/village.png +0 -0
- package/dist/cesium/Assets/Textures/maki/warehouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/waste-basket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/water.png +0 -0
- package/dist/cesium/Assets/Textures/maki/wetland.png +0 -0
- package/dist/cesium/Assets/Textures/maki/zoo.png +0 -0
- package/dist/cesium/Assets/Textures/moonSmall.jpg +0 -0
- package/dist/cesium/Assets/Textures/pin.svg +0 -1
- package/dist/cesium/Assets/Textures/waterNormals.jpg +0 -0
- package/dist/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/dist/cesium/Assets/approximateTerrainHeights.json +0 -1
- package/dist/cesium/ThirdParty/Workers/package.json +0 -1
- package/dist/cesium/ThirdParty/Workers/pako_deflate.min.js +0 -1
- package/dist/cesium/ThirdParty/Workers/pako_inflate.min.js +0 -1
- package/dist/cesium/ThirdParty/Workers/z-worker-pako.js +0 -1
- package/dist/cesium/ThirdParty/basis_transcoder.wasm +0 -0
- package/dist/cesium/ThirdParty/draco_decoder.wasm +0 -0
- package/dist/cesium/ThirdParty/google-earth-dbroot-parser.js +0 -1
- package/dist/cesium/Widgets/Animation/Animation.css +0 -127
- package/dist/cesium/Widgets/Animation/lighter.css +0 -70
- package/dist/cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +0 -108
- package/dist/cesium/Widgets/BaseLayerPicker/lighter.css +0 -22
- package/dist/cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -102
- package/dist/cesium/Widgets/CesiumInspector/CesiumInspector.css +0 -113
- package/dist/cesium/Widgets/CesiumWidget/CesiumWidget.css +0 -124
- package/dist/cesium/Widgets/CesiumWidget/lighter.css +0 -14
- package/dist/cesium/Widgets/FullscreenButton/FullscreenButton.css +0 -8
- package/dist/cesium/Widgets/Geocoder/Geocoder.css +0 -70
- package/dist/cesium/Widgets/Geocoder/lighter.css +0 -17
- package/dist/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -27
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
- package/dist/cesium/Widgets/Images/NavigationHelp/Mouse.svg +0 -84
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseRight.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/Touch.svg +0 -120
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +0 -129
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +0 -135
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +0 -74
- package/dist/cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
- package/dist/cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
- package/dist/cesium/Widgets/Images/TimelineIcons.png +0 -0
- package/dist/cesium/Widgets/Images/info-loading.gif +0 -0
- package/dist/cesium/Widgets/InfoBox/InfoBox.css +0 -92
- package/dist/cesium/Widgets/InfoBox/InfoBoxDescription.css +0 -178
- package/dist/cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +0 -93
- package/dist/cesium/Widgets/NavigationHelpButton/lighter.css +0 -38
- package/dist/cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +0 -15
- package/dist/cesium/Widgets/ProjectionPicker/ProjectionPicker.css +0 -38
- package/dist/cesium/Widgets/SceneModePicker/SceneModePicker.css +0 -56
- package/dist/cesium/Widgets/SelectionIndicator/SelectionIndicator.css +0 -20
- package/dist/cesium/Widgets/Timeline/Timeline.css +0 -103
- package/dist/cesium/Widgets/Timeline/lighter.css +0 -23
- package/dist/cesium/Widgets/VRButton/VRButton.css +0 -8
- package/dist/cesium/Widgets/Viewer/Viewer.css +0 -107
- package/dist/cesium/Widgets/VoxelInspector/VoxelInspector.css +0 -16
- package/dist/cesium/Widgets/lighter.css +0 -237
- package/dist/cesium/Widgets/lighterShared.css +0 -46
- package/dist/cesium/Widgets/shared.css +0 -103
- package/dist/cesium/Widgets/widgets.css +0 -1346
- package/dist/cesium/Workers/chunk-2ED5WI77.js +0 -26
- package/dist/cesium/Workers/chunk-2MBPFWCP.js +0 -26
- package/dist/cesium/Workers/chunk-3C74MLG3.js +0 -26
- package/dist/cesium/Workers/chunk-45U7TTT3.js +0 -26
- package/dist/cesium/Workers/chunk-4N7SRDH5.js +0 -26
- package/dist/cesium/Workers/chunk-4T6AS6BZ.js +0 -26
- package/dist/cesium/Workers/chunk-5AG2MVRM.js +0 -26
- package/dist/cesium/Workers/chunk-5Z6L2FHX.js +0 -26
- package/dist/cesium/Workers/chunk-6AUUBDOF.js +0 -26
- package/dist/cesium/Workers/chunk-74N6MC2V.js +0 -26
- package/dist/cesium/Workers/chunk-7VJK3KHI.js +0 -26
- package/dist/cesium/Workers/chunk-7VZHIB6P.js +0 -26
- package/dist/cesium/Workers/chunk-7X2YQ6I4.js +0 -27
- package/dist/cesium/Workers/chunk-B2SKQ7LU.js +0 -26
- package/dist/cesium/Workers/chunk-B4TQDFIE.js +0 -26
- package/dist/cesium/Workers/chunk-B6TRTFAA.js +0 -26
- package/dist/cesium/Workers/chunk-BK3HCS7I.js +0 -26
- package/dist/cesium/Workers/chunk-BOPB43LN.js +0 -26
- package/dist/cesium/Workers/chunk-C6DMEJQ7.js +0 -26
- package/dist/cesium/Workers/chunk-CN7UN2OZ.js +0 -26
- package/dist/cesium/Workers/chunk-CSISXEG7.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-EXBFEYPQ.js +0 -26
- package/dist/cesium/Workers/chunk-FK5KFB6H.js +0 -26
- package/dist/cesium/Workers/chunk-HPBHKP5S.js +0 -26
- package/dist/cesium/Workers/chunk-JCJ24DHF.js +0 -26
- package/dist/cesium/Workers/chunk-JEWHFDAA.js +0 -26
- package/dist/cesium/Workers/chunk-JZLZJJQD.js +0 -26
- package/dist/cesium/Workers/chunk-KRZBI2MU.js +0 -26
- package/dist/cesium/Workers/chunk-KTTUANTJ.js +0 -26
- package/dist/cesium/Workers/chunk-LDCAXLGS.js +0 -26
- package/dist/cesium/Workers/chunk-LOPN5R3I.js +0 -26
- package/dist/cesium/Workers/chunk-MDLPQIMP.js +0 -26
- package/dist/cesium/Workers/chunk-MRR3RGFO.js +0 -26
- package/dist/cesium/Workers/chunk-NPBZI5YA.js +0 -26
- package/dist/cesium/Workers/chunk-NUSW5B6A.js +0 -26
- package/dist/cesium/Workers/chunk-OUXRUXNB.js +0 -26
- package/dist/cesium/Workers/chunk-QPOPEH3M.js +0 -26
- package/dist/cesium/Workers/chunk-R2AN7EKC.js +0 -26
- package/dist/cesium/Workers/chunk-RURL6ZX2.js +0 -26
- package/dist/cesium/Workers/chunk-SUQM3OSW.js +0 -28
- package/dist/cesium/Workers/chunk-UBIRX2SP.js +0 -26
- package/dist/cesium/Workers/chunk-VAKC5J5C.js +0 -26
- package/dist/cesium/Workers/chunk-VHNZBQTR.js +0 -27
- package/dist/cesium/Workers/chunk-VKV642QV.js +0 -26
- package/dist/cesium/Workers/chunk-VMSXG4OA.js +0 -26
- package/dist/cesium/Workers/chunk-VQZSIOZW.js +0 -26
- package/dist/cesium/Workers/chunk-WZUWQMI7.js +0 -26
- package/dist/cesium/Workers/chunk-YBI55DLZ.js +0 -26
- package/dist/cesium/Workers/chunk-YEJWCH6C.js +0 -26
- package/dist/cesium/Workers/chunk-YPDO7SPO.js +0 -26
- package/dist/cesium/Workers/chunk-ZYWD6OQH.js +0 -26
- package/dist/cesium/Workers/combineGeometry.js +0 -26
- package/dist/cesium/Workers/createBoxGeometry.js +0 -26
- package/dist/cesium/Workers/createBoxOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCircleGeometry.js +0 -26
- package/dist/cesium/Workers/createCircleOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCoplanarPolygonGeometry.js +0 -26
- package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCorridorGeometry.js +0 -26
- package/dist/cesium/Workers/createCorridorOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCylinderGeometry.js +0 -26
- package/dist/cesium/Workers/createCylinderOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipseGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipseOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipsoidGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipsoidOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createFrustumGeometry.js +0 -26
- package/dist/cesium/Workers/createFrustumOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createGeometry.js +0 -26
- package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createPlaneGeometry.js +0 -26
- package/dist/cesium/Workers/createPlaneOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolygonGeometry.js +0 -26
- package/dist/cesium/Workers/createPolygonOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineVolumeGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineVolumeOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createRectangleGeometry.js +0 -26
- package/dist/cesium/Workers/createRectangleOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createSimplePolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createSphereGeometry.js +0 -26
- package/dist/cesium/Workers/createSphereOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createTaskProcessorWorker.js +0 -26
- package/dist/cesium/Workers/createVectorTileClampedPolylines.js +0 -26
- package/dist/cesium/Workers/createVectorTileGeometries.js +0 -26
- package/dist/cesium/Workers/createVectorTilePoints.js +0 -26
- package/dist/cesium/Workers/createVectorTilePolygons.js +0 -26
- package/dist/cesium/Workers/createVectorTilePolylines.js +0 -26
- package/dist/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -26
- package/dist/cesium/Workers/createVerticesFromHeightmap.js +0 -26
- package/dist/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -26
- package/dist/cesium/Workers/createWallGeometry.js +0 -26
- package/dist/cesium/Workers/createWallOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/decodeDraco.js +0 -26
- package/dist/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +0 -26
- package/dist/cesium/Workers/decodeI3S.js +0 -26
- package/dist/cesium/Workers/transcodeKTX2.js +0 -56
- package/dist/cesium/Workers/transferTypedArrayTest.js +0 -26
- package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +0 -26
- package/src/engines/Cesium/core/Globe.tsx +0 -104
- /package/src/{Map/Sketch/utils.ts → utils/use-window-event.ts} +0 -0
|
@@ -2,11 +2,11 @@ import { FC, PropsWithChildren, RefObject, createContext, useContext, useMemo }
|
|
|
2
2
|
|
|
3
3
|
import { MapRef } from "../Map";
|
|
4
4
|
|
|
5
|
-
const context = createContext<RefObject<MapRef> | undefined>(undefined);
|
|
5
|
+
const context = createContext<RefObject<MapRef | null> | undefined>(undefined);
|
|
6
6
|
|
|
7
|
-
export type Context = RefObject<MapRef>;
|
|
7
|
+
export type Context = RefObject<MapRef | null>;
|
|
8
8
|
|
|
9
|
-
export const useVisualizer = (): RefObject<MapRef> => {
|
|
9
|
+
export const useVisualizer = (): RefObject<MapRef | null> => {
|
|
10
10
|
const value = useContext(context);
|
|
11
11
|
if (!value) {
|
|
12
12
|
throw new Error("Visualizer is not declared. You have to use this hook inside of Visualizer");
|
|
@@ -14,11 +14,11 @@ export const useVisualizer = (): RefObject<MapRef> => {
|
|
|
14
14
|
return value;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
const filterMapRefToContext = (mapRef: RefObject<MapRef>): Context => {
|
|
17
|
+
const filterMapRefToContext = (mapRef: RefObject<MapRef | null>): Context => {
|
|
18
18
|
return mapRef as Context;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
export const VisualizerProvider: FC<PropsWithChildren<{ mapRef: RefObject<MapRef> }>> = ({
|
|
21
|
+
export const VisualizerProvider: FC<PropsWithChildren<{ mapRef: RefObject<MapRef | null> }>> = ({
|
|
22
22
|
mapRef,
|
|
23
23
|
children,
|
|
24
24
|
}) => {
|
|
@@ -26,6 +26,8 @@ type CoreContext = {
|
|
|
26
26
|
handleCameraForceHorizontalRollChange?: (enable?: boolean) => void;
|
|
27
27
|
handleInteractionModeChange?: (mode?: InteractionModeType | undefined) => void;
|
|
28
28
|
onSketchPluginFeatureCreate?: (cb: SketchEventCallback) => void;
|
|
29
|
+
onSketchPluginFeatureUpdate?: (cb: SketchEventCallback) => void;
|
|
30
|
+
onSketchPluginFeatureDelete?: (cb: SketchEventCallback) => void;
|
|
29
31
|
onSketchTypeChange?: (cb: (type: SketchType | undefined) => void) => void;
|
|
30
32
|
onLayerVisibility?: (cb: (e: LayerVisibilityEvent) => void) => void;
|
|
31
33
|
onLayerLoad?: (cb: (e: LayerLoadEvent) => void) => void;
|
package/src/Visualizer/hooks.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type {
|
|
|
7
7
|
Camera,
|
|
8
8
|
ComputedLayer,
|
|
9
9
|
LayerEditEvent,
|
|
10
|
-
CursorType,
|
|
11
10
|
LayerVisibilityEvent,
|
|
12
11
|
LayerLoadEvent,
|
|
13
12
|
LayerSelectWithRectStart,
|
|
@@ -56,7 +55,7 @@ export default function useHooks(
|
|
|
56
55
|
) {
|
|
57
56
|
const mapRef = useRef<MapRef>(null);
|
|
58
57
|
|
|
59
|
-
useImperativeHandle(ref, () => mapRef.current, []);
|
|
58
|
+
useImperativeHandle(ref, () => mapRef.current as MapRef, []);
|
|
60
59
|
|
|
61
60
|
const wrapperRef = useRef<HTMLDivElement>(null);
|
|
62
61
|
|
|
@@ -82,12 +81,24 @@ export default function useHooks(
|
|
|
82
81
|
reason: LayerSelectionReason | undefined,
|
|
83
82
|
info: SelectedFeatureInfo | undefined,
|
|
84
83
|
) => {
|
|
85
|
-
|
|
84
|
+
const isSketchLayer =
|
|
85
|
+
selectedLayer.layer?.layer?.type === "simple" &&
|
|
86
|
+
selectedLayer.layer?.layer?.data?.isSketchLayer;
|
|
87
|
+
// Sketch layer feature has a fixed featureId, we need to exclude it from the skip condition
|
|
88
|
+
if (
|
|
89
|
+
selectedLayer.layerId === layerId &&
|
|
90
|
+
selectedLayer.featureId === featureId &&
|
|
91
|
+
!isSketchLayer
|
|
92
|
+
)
|
|
93
|
+
return;
|
|
86
94
|
|
|
87
95
|
const computedLayer = await layer?.();
|
|
88
96
|
const computedFeature =
|
|
89
97
|
layerId && featureId
|
|
90
|
-
?
|
|
98
|
+
? (isSketchLayer
|
|
99
|
+
? computedLayer?.features?.find(f => f.id === featureId)
|
|
100
|
+
: mapRef.current?.engine.findComputedFeatureById?.(layerId, featureId)) ??
|
|
101
|
+
info?.feature
|
|
91
102
|
: undefined;
|
|
92
103
|
|
|
93
104
|
selectFeature(
|
|
@@ -108,7 +119,7 @@ export default function useHooks(
|
|
|
108
119
|
[selectedLayer, onLayerSelect],
|
|
109
120
|
);
|
|
110
121
|
|
|
111
|
-
const timelineManagerRef: TimelineManagerRef = useRef();
|
|
122
|
+
const timelineManagerRef: TimelineManagerRef = useRef(undefined);
|
|
112
123
|
|
|
113
124
|
// camera
|
|
114
125
|
const [camera, changeCamera] = useValue(initialCamera, onCameraChange);
|
|
@@ -119,24 +130,22 @@ export default function useHooks(
|
|
|
119
130
|
}, []);
|
|
120
131
|
|
|
121
132
|
// interaction mode
|
|
122
|
-
const [
|
|
123
|
-
initialInteractionMode,
|
|
133
|
+
const [interactionMode, changeInteractionMode] = useValue(
|
|
134
|
+
initialInteractionMode || "default",
|
|
124
135
|
onInteractionModeChange,
|
|
125
136
|
);
|
|
126
|
-
const interactionMode = _interactionMode || "default";
|
|
127
137
|
|
|
128
|
-
const [cursor, setCursor] = useState<CursorType>("auto");
|
|
129
138
|
useEffect(() => {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
139
|
+
if (interactionMode === "default") {
|
|
140
|
+
mapRef?.current?.engine?.setCursor("auto");
|
|
141
|
+
}
|
|
133
142
|
}, [interactionMode]);
|
|
134
143
|
|
|
135
144
|
// feature flags
|
|
136
|
-
const featureFlags = INTERACTION_MODES[interactionMode];
|
|
145
|
+
const featureFlags = INTERACTION_MODES[interactionMode ?? "default"];
|
|
137
146
|
|
|
138
147
|
// layer edit
|
|
139
|
-
const onLayerEditRef = useRef<(e: LayerEditEvent) => void>();
|
|
148
|
+
const onLayerEditRef = useRef<(e: LayerEditEvent) => void>(undefined);
|
|
140
149
|
const onLayerEdit = useCallback((cb: (e: LayerEditEvent) => void) => {
|
|
141
150
|
onLayerEditRef.current = cb;
|
|
142
151
|
}, []);
|
|
@@ -145,7 +154,7 @@ export default function useHooks(
|
|
|
145
154
|
}, []);
|
|
146
155
|
|
|
147
156
|
// layer visiblity
|
|
148
|
-
const onLayerVisibilityRef = useRef<(e: LayerVisibilityEvent) => void>();
|
|
157
|
+
const onLayerVisibilityRef = useRef<(e: LayerVisibilityEvent) => void>(undefined);
|
|
149
158
|
const onLayerVisibility = useCallback((cb: (e: LayerVisibilityEvent) => void) => {
|
|
150
159
|
onLayerVisibilityRef.current = cb;
|
|
151
160
|
}, []);
|
|
@@ -154,7 +163,7 @@ export default function useHooks(
|
|
|
154
163
|
}, []);
|
|
155
164
|
|
|
156
165
|
// layer load
|
|
157
|
-
const onLayerLoadRef = useRef<(e: LayerLoadEvent) => void>();
|
|
166
|
+
const onLayerLoadRef = useRef<(e: LayerLoadEvent) => void>(undefined);
|
|
158
167
|
const onLayerLoad = useCallback((cb: (e: LayerLoadEvent) => void) => {
|
|
159
168
|
onLayerLoadRef.current = cb;
|
|
160
169
|
}, []);
|
|
@@ -163,21 +172,21 @@ export default function useHooks(
|
|
|
163
172
|
}, []);
|
|
164
173
|
|
|
165
174
|
// multiple feature selection
|
|
166
|
-
const onLayerSelectWithRectStartRef = useRef<(e: LayerSelectWithRectStart) => void>();
|
|
175
|
+
const onLayerSelectWithRectStartRef = useRef<(e: LayerSelectWithRectStart) => void>(undefined);
|
|
167
176
|
const onLayerSelectWithRectStart = useCallback((cb: (e: LayerSelectWithRectStart) => void) => {
|
|
168
177
|
onLayerSelectWithRectStartRef.current = cb;
|
|
169
178
|
}, []);
|
|
170
179
|
const handleLayerSelectWithRectStart = useCallback((e: LayerSelectWithRectStart) => {
|
|
171
180
|
onLayerSelectWithRectStartRef.current?.(e);
|
|
172
181
|
}, []);
|
|
173
|
-
const onLayerSelectWithRectMoveRef = useRef<(e: LayerSelectWithRectMove) => void>();
|
|
182
|
+
const onLayerSelectWithRectMoveRef = useRef<(e: LayerSelectWithRectMove) => void>(undefined);
|
|
174
183
|
const onLayerSelectWithRectMove = useCallback((cb: (e: LayerSelectWithRectMove) => void) => {
|
|
175
184
|
onLayerSelectWithRectMoveRef.current = cb;
|
|
176
185
|
}, []);
|
|
177
186
|
const handleLayerSelectWithRectMove = useCallback((e: LayerSelectWithRectMove) => {
|
|
178
187
|
onLayerSelectWithRectMoveRef.current?.(e);
|
|
179
188
|
}, []);
|
|
180
|
-
const onLayerSelectWithRectEndRef = useRef<(e: LayerSelectWithRectEnd) => void>();
|
|
189
|
+
const onLayerSelectWithRectEndRef = useRef<(e: LayerSelectWithRectEnd) => void>(undefined);
|
|
181
190
|
const onLayerSelectWithRectEnd = useCallback((cb: (e: LayerSelectWithRectEnd) => void) => {
|
|
182
191
|
onLayerSelectWithRectEndRef.current = cb;
|
|
183
192
|
}, []);
|
|
@@ -194,6 +203,25 @@ export default function useHooks(
|
|
|
194
203
|
onSketchPluginFeatureCreateCallbacksRef.current.forEach(fn => fn(props));
|
|
195
204
|
}, []);
|
|
196
205
|
|
|
206
|
+
const onSketchPluginFeatureUpdateCallbacksRef = useRef<SketchEventCallback[]>([]);
|
|
207
|
+
const onSketchPluginFeatureUpdate = useCallback((cb: SketchEventCallback) => {
|
|
208
|
+
onSketchPluginFeatureUpdateCallbacksRef.current.push(cb);
|
|
209
|
+
}, []);
|
|
210
|
+
const handleSketchPluginFeatureUpdate = useCallback((props: SketchEventProps) => {
|
|
211
|
+
onSketchPluginFeatureUpdateCallbacksRef.current.forEach(fn => fn(props));
|
|
212
|
+
}, []);
|
|
213
|
+
|
|
214
|
+
const onSketchPluginFeatureDeleteCallbacksRef = useRef<SketchEventCallback[]>([]);
|
|
215
|
+
const onSketchPluginFeatureDelete = useCallback((cb: SketchEventCallback) => {
|
|
216
|
+
onSketchPluginFeatureDeleteCallbacksRef.current.push(cb);
|
|
217
|
+
}, []);
|
|
218
|
+
const handleSketchPluginFeatureDelete = useCallback(
|
|
219
|
+
(props: { layerId: string; featureId: string }) => {
|
|
220
|
+
onSketchPluginFeatureDeleteCallbacksRef.current.forEach(fn => fn(props));
|
|
221
|
+
},
|
|
222
|
+
[],
|
|
223
|
+
);
|
|
224
|
+
|
|
197
225
|
const onSketchTypeChangeCallbacksRef = useRef<((type: SketchType | undefined) => void)[]>([]);
|
|
198
226
|
const onSketchTypeChange = useCallback((cb: (type: SketchType | undefined) => void) => {
|
|
199
227
|
onSketchTypeChangeCallbacksRef.current.push(cb);
|
|
@@ -244,6 +272,8 @@ export default function useHooks(
|
|
|
244
272
|
handleCameraForceHorizontalRollChange,
|
|
245
273
|
handleInteractionModeChange: changeInteractionMode,
|
|
246
274
|
onSketchPluginFeatureCreate,
|
|
275
|
+
onSketchPluginFeatureUpdate,
|
|
276
|
+
onSketchPluginFeatureDelete,
|
|
247
277
|
onSketchTypeChange,
|
|
248
278
|
onLayerVisibility,
|
|
249
279
|
onLayerLoad,
|
|
@@ -261,6 +291,8 @@ export default function useHooks(
|
|
|
261
291
|
handleCameraForceHorizontalRollChange,
|
|
262
292
|
onLayerEdit,
|
|
263
293
|
onSketchPluginFeatureCreate,
|
|
294
|
+
onSketchPluginFeatureUpdate,
|
|
295
|
+
onSketchPluginFeatureDelete,
|
|
264
296
|
onSketchTypeChange,
|
|
265
297
|
onLayerVisibility,
|
|
266
298
|
onLayerLoad,
|
|
@@ -290,10 +322,10 @@ export default function useHooks(
|
|
|
290
322
|
featureFlags,
|
|
291
323
|
isLayerDragging,
|
|
292
324
|
timelineManagerRef,
|
|
293
|
-
cursor,
|
|
294
325
|
cameraForceHorizontalRoll,
|
|
295
326
|
coreContextValue,
|
|
296
327
|
containerStyle,
|
|
328
|
+
overriddenInteractionMode: interactionMode,
|
|
297
329
|
handleLayerSelect,
|
|
298
330
|
handleLayerDrag,
|
|
299
331
|
handleLayerDrop,
|
|
@@ -301,6 +333,8 @@ export default function useHooks(
|
|
|
301
333
|
handleCameraChange: changeCamera,
|
|
302
334
|
handleInteractionModeChange: changeInteractionMode,
|
|
303
335
|
handleSketchPluginFeatureCreate,
|
|
336
|
+
handleSketchPluginFeatureUpdate,
|
|
337
|
+
handleSketchPluginFeatureDelete,
|
|
304
338
|
handleSketchTypeChange,
|
|
305
339
|
handleLayerVisibility,
|
|
306
340
|
handleLayerLoad,
|
package/src/Visualizer/index.tsx
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
type LatLng,
|
|
13
13
|
type Cluster,
|
|
14
14
|
type ComputedLayer,
|
|
15
|
+
type Credits,
|
|
15
16
|
} from "../Map";
|
|
16
17
|
import { SketchFeature, SketchType } from "../Map/Sketch/types";
|
|
17
18
|
|
|
@@ -46,6 +47,7 @@ export type CoreVisualizerProps = {
|
|
|
46
47
|
ready?: boolean;
|
|
47
48
|
hiddenLayers?: string[];
|
|
48
49
|
zoomedLayerId?: string;
|
|
50
|
+
displayCredits?: boolean;
|
|
49
51
|
onCameraChange?: (camera: Camera) => void;
|
|
50
52
|
onLayerDrop?: (layerId: string, propertyKey: string, position: LatLng | undefined) => void;
|
|
51
53
|
onLayerSelect?: (
|
|
@@ -58,7 +60,11 @@ export type CoreVisualizerProps = {
|
|
|
58
60
|
onMount?: () => void;
|
|
59
61
|
onSketchTypeChangeProp?: (type: SketchType | undefined) => void;
|
|
60
62
|
onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
|
|
63
|
+
onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
|
|
64
|
+
onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
|
|
61
65
|
onInteractionModeChange?: (mode: InteractionModeType) => void;
|
|
66
|
+
onAPIReady?: () => void;
|
|
67
|
+
onCreditsUpdate?: (credits?: Credits) => void;
|
|
62
68
|
};
|
|
63
69
|
|
|
64
70
|
export const CoreVisualizer = memo(
|
|
@@ -79,6 +85,7 @@ export const CoreVisualizer = memo(
|
|
|
79
85
|
interactionMode,
|
|
80
86
|
shouldRender,
|
|
81
87
|
meta,
|
|
88
|
+
displayCredits = true,
|
|
82
89
|
style,
|
|
83
90
|
zoomedLayerId,
|
|
84
91
|
children,
|
|
@@ -90,6 +97,10 @@ export const CoreVisualizer = memo(
|
|
|
90
97
|
onMount,
|
|
91
98
|
onSketchTypeChangeProp,
|
|
92
99
|
onSketchFeatureCreate,
|
|
100
|
+
onSketchFeatureUpdate,
|
|
101
|
+
onSketchFeatureDelete,
|
|
102
|
+
onAPIReady,
|
|
103
|
+
onCreditsUpdate,
|
|
93
104
|
},
|
|
94
105
|
ref: Ref<MapRef | null>,
|
|
95
106
|
) => {
|
|
@@ -101,10 +112,10 @@ export const CoreVisualizer = memo(
|
|
|
101
112
|
featureFlags,
|
|
102
113
|
isLayerDragging,
|
|
103
114
|
timelineManagerRef,
|
|
104
|
-
cursor,
|
|
105
115
|
cameraForceHorizontalRoll,
|
|
106
116
|
coreContextValue,
|
|
107
117
|
containerStyle,
|
|
118
|
+
overriddenInteractionMode,
|
|
108
119
|
handleLayerSelect,
|
|
109
120
|
handleLayerDrag,
|
|
110
121
|
handleLayerDrop,
|
|
@@ -112,6 +123,8 @@ export const CoreVisualizer = memo(
|
|
|
112
123
|
handleCameraChange,
|
|
113
124
|
handleInteractionModeChange,
|
|
114
125
|
handleSketchPluginFeatureCreate,
|
|
126
|
+
handleSketchPluginFeatureUpdate,
|
|
127
|
+
handleSketchPluginFeatureDelete,
|
|
115
128
|
handleSketchTypeChange,
|
|
116
129
|
handleLayerVisibility,
|
|
117
130
|
handleLayerLoad,
|
|
@@ -152,6 +165,7 @@ export const CoreVisualizer = memo(
|
|
|
152
165
|
isLayerDragging={isLayerDragging}
|
|
153
166
|
isLayerDraggable={isEditable}
|
|
154
167
|
meta={meta}
|
|
168
|
+
displayCredits={displayCredits}
|
|
155
169
|
style={style}
|
|
156
170
|
featureFlags={featureFlags}
|
|
157
171
|
shouldRender={shouldRender}
|
|
@@ -160,9 +174,8 @@ export const CoreVisualizer = memo(
|
|
|
160
174
|
small={small}
|
|
161
175
|
ready={ready}
|
|
162
176
|
timelineManagerRef={timelineManagerRef}
|
|
163
|
-
interactionMode={
|
|
177
|
+
interactionMode={overriddenInteractionMode}
|
|
164
178
|
selectedFeature={selectedFeature}
|
|
165
|
-
cursor={cursor}
|
|
166
179
|
onCameraChange={handleCameraChange}
|
|
167
180
|
onLayerDrag={handleLayerDrag}
|
|
168
181
|
onLayerDrop={handleLayerDrop}
|
|
@@ -171,6 +184,10 @@ export const CoreVisualizer = memo(
|
|
|
171
184
|
overrideInteractionMode={handleInteractionModeChange}
|
|
172
185
|
onSketchFeatureCreate={onSketchFeatureCreate}
|
|
173
186
|
onSketchPluginFeatureCreate={handleSketchPluginFeatureCreate}
|
|
187
|
+
onSketchFeatureUpdate={onSketchFeatureUpdate}
|
|
188
|
+
onSketchPluginFeatureUpdate={handleSketchPluginFeatureUpdate}
|
|
189
|
+
onSketchFeatureDelete={onSketchFeatureDelete}
|
|
190
|
+
onSketchPluginFeatureDelete={handleSketchPluginFeatureDelete}
|
|
174
191
|
onSketchTypeChange={handleSketchTypeChange}
|
|
175
192
|
onMount={onMount}
|
|
176
193
|
onLayerVisibility={handleLayerVisibility}
|
|
@@ -178,6 +195,8 @@ export const CoreVisualizer = memo(
|
|
|
178
195
|
onLayerSelectWithRectStart={handleLayerSelectWithRectStart}
|
|
179
196
|
onLayerSelectWithRectMove={handleLayerSelectWithRectMove}
|
|
180
197
|
onLayerSelectWithRectEnd={handleLayerSelectWithRectEnd}
|
|
198
|
+
onAPIReady={onAPIReady}
|
|
199
|
+
onCreditsUpdate={onCreditsUpdate}
|
|
181
200
|
/>
|
|
182
201
|
<coreContext.Provider value={coreContextValue}>{children}</coreContext.Provider>
|
|
183
202
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FEATURE_FLAGS } from "./featureFlags";
|
|
2
2
|
|
|
3
|
-
export type InteractionModeType = "default" | "move" | "selection" | "sketch";
|
|
3
|
+
export type InteractionModeType = "default" | "move" | "selection" | "sketch" | "spatialId";
|
|
4
4
|
|
|
5
5
|
// If you would like enable a feature in a specific mode,
|
|
6
6
|
// just set the feature's flag here to that mode.
|
|
@@ -22,4 +22,5 @@ export const INTERACTION_MODES: Record<InteractionModeType, number> = {
|
|
|
22
22
|
FEATURE_FLAGS.CAMERA_ZOOM |
|
|
23
23
|
FEATURE_FLAGS.CAMERA_TILT,
|
|
24
24
|
sketch: FEATURE_FLAGS.SKETCH | FEATURE_FLAGS.CAMERA_ZOOM | FEATURE_FLAGS.CAMERA_TILT,
|
|
25
|
+
spatialId: FEATURE_FLAGS.CAMERA_ZOOM | FEATURE_FLAGS.CAMERA_TILT,
|
|
25
26
|
};
|
|
@@ -127,7 +127,7 @@ export const useHooks = ({
|
|
|
127
127
|
);
|
|
128
128
|
|
|
129
129
|
// ScalePoint event handlers
|
|
130
|
-
const currentPointIndex = useRef<number>();
|
|
130
|
+
const currentPointIndex = useRef<number>(undefined);
|
|
131
131
|
const handlePointMouseDown: PointEventCallback = useCallback(
|
|
132
132
|
(_, { index }) => {
|
|
133
133
|
if (!viewer) {
|
|
@@ -138,7 +138,7 @@ export const useHooks = ({
|
|
|
138
138
|
},
|
|
139
139
|
[viewer],
|
|
140
140
|
);
|
|
141
|
-
const prevMousePosition2dForPoint = useRef<Cartesian2>();
|
|
141
|
+
const prevMousePosition2dForPoint = useRef<Cartesian2>(undefined);
|
|
142
142
|
const handlePointMouseMove: PointEventCallback = useCallback(
|
|
143
143
|
(e, { position, oppositePosition, pointLocal, index, layerId }) => {
|
|
144
144
|
if (
|
|
@@ -282,7 +282,7 @@ export const useHooks = ({
|
|
|
282
282
|
}, [viewer]);
|
|
283
283
|
|
|
284
284
|
// Edge event handlers
|
|
285
|
-
const currentEdgeIndex = useRef<number>();
|
|
285
|
+
const currentEdgeIndex = useRef<number>(undefined);
|
|
286
286
|
const handleEdgeMouseDown: EdgeEventCallback = useCallback(
|
|
287
287
|
(_, { index }) => {
|
|
288
288
|
if (!viewer) {
|
|
@@ -293,7 +293,7 @@ export const useHooks = ({
|
|
|
293
293
|
},
|
|
294
294
|
[viewer],
|
|
295
295
|
);
|
|
296
|
-
const prevMouseXAxisForEdge = useRef<number>();
|
|
296
|
+
const prevMouseXAxisForEdge = useRef<number>(undefined);
|
|
297
297
|
const handleEdgeMouseMove: EdgeEventCallback = useCallback(
|
|
298
298
|
(e, { index, layerId }) => {
|
|
299
299
|
if (currentEdgeIndex.current !== index) {
|
|
@@ -62,7 +62,7 @@ export const HeatmapMesh = memo(
|
|
|
62
62
|
) => {
|
|
63
63
|
const { scene } = useCesium();
|
|
64
64
|
const groundPrimitives = scene?.groundPrimitives;
|
|
65
|
-
const primitiveRef = useRef<GroundPrimitive>();
|
|
65
|
+
const primitiveRef = useRef<GroundPrimitive>(undefined);
|
|
66
66
|
|
|
67
67
|
const material = useConstant(() =>
|
|
68
68
|
createHeatmapMeshMaterial({
|
|
@@ -32,9 +32,7 @@ export type Props = FeatureProps<Property>;
|
|
|
32
32
|
|
|
33
33
|
export type Property = ModelAppearance & {
|
|
34
34
|
location?: { lat: number; lng: number };
|
|
35
|
-
height?: number;
|
|
36
35
|
};
|
|
37
|
-
|
|
38
36
|
export default function Model({
|
|
39
37
|
id,
|
|
40
38
|
isVisible,
|
|
@@ -50,7 +48,9 @@ export default function Model({
|
|
|
50
48
|
const coordinates = useMemo(
|
|
51
49
|
() =>
|
|
52
50
|
geometry?.type === "Point"
|
|
53
|
-
?
|
|
51
|
+
? property?.height === undefined
|
|
52
|
+
? geometry.coordinates
|
|
53
|
+
: [...geometry.coordinates.slice(0, 2), property.height]
|
|
54
54
|
: property?.location
|
|
55
55
|
? [property.location.lng, property.location.lat, property.height ?? 0]
|
|
56
56
|
: undefined,
|
|
@@ -34,7 +34,7 @@ export default function ({ isSelected, camera }: { isSelected?: boolean; camera?
|
|
|
34
34
|
cameraRef.current = camera;
|
|
35
35
|
const storytelling = useRef(false);
|
|
36
36
|
storytelling.current = selectionReason?.reason === "storytelling";
|
|
37
|
-
const prevCamera = useRef<Camera>();
|
|
37
|
+
const prevCamera = useRef<Camera>(undefined);
|
|
38
38
|
|
|
39
39
|
// camera flight
|
|
40
40
|
useEffect(() => {
|
|
@@ -120,7 +120,9 @@ export default function PhotoOverlay({
|
|
|
120
120
|
alignItems: "center",
|
|
121
121
|
transition:
|
|
122
122
|
photoOverlayImageTransiton === "entering" || photoOverlayImageTransiton === "exiting"
|
|
123
|
-
? `all ${
|
|
123
|
+
? `all ${
|
|
124
|
+
photoOverlayImageTransiton === "exiting" ? photoExitDuration : photoDuration
|
|
125
|
+
}s ease`
|
|
124
126
|
: undefined,
|
|
125
127
|
opacity:
|
|
126
128
|
photoOverlayImageTransiton === "entering" || photoOverlayImageTransiton === "entered"
|
|
@@ -54,6 +54,7 @@ export default function Polygon({
|
|
|
54
54
|
fillColor,
|
|
55
55
|
strokeColor,
|
|
56
56
|
strokeWidth = 1,
|
|
57
|
+
height,
|
|
57
58
|
heightReference: hr,
|
|
58
59
|
shadows,
|
|
59
60
|
extrudedHeight,
|
|
@@ -83,7 +84,7 @@ export default function Polygon({
|
|
|
83
84
|
coordiantes && stroke && !disableWorkaround
|
|
84
85
|
? coordiantes.flatMap(hole => [
|
|
85
86
|
// bottom
|
|
86
|
-
hole.map(c => Cartesian3.fromDegrees(c[0], c[1], c[2] ??
|
|
87
|
+
hole.map(c => Cartesian3.fromDegrees(c[0], c[1], c[2] ?? height)),
|
|
87
88
|
...(extrudedHeight
|
|
88
89
|
? [
|
|
89
90
|
// top
|
|
@@ -92,14 +93,14 @@ export default function Polygon({
|
|
|
92
93
|
...hole
|
|
93
94
|
.slice(0, -1)
|
|
94
95
|
.map(c => [
|
|
95
|
-
Cartesian3.fromDegrees(c[0], c[1], 0),
|
|
96
|
+
Cartesian3.fromDegrees(c[0], c[1], height ?? 0),
|
|
96
97
|
Cartesian3.fromDegrees(c[0], c[1], extrudedHeight),
|
|
97
98
|
]),
|
|
98
99
|
]
|
|
99
100
|
: []),
|
|
100
101
|
])
|
|
101
102
|
: [],
|
|
102
|
-
[coordiantes, stroke, disableWorkaround],
|
|
103
|
+
[coordiantes, stroke, disableWorkaround, height, extrudedHeight],
|
|
103
104
|
);
|
|
104
105
|
|
|
105
106
|
const memoStrokeColor = useMemo(
|
|
@@ -127,7 +128,7 @@ export default function Polygon({
|
|
|
127
128
|
);
|
|
128
129
|
|
|
129
130
|
const extrudedHeightProperty: { extrudedHeight: number } | undefined = useMemo(
|
|
130
|
-
() => (extrudedHeight ? { extrudedHeight } : undefined),
|
|
131
|
+
() => (extrudedHeight !== undefined ? { extrudedHeight } : undefined),
|
|
131
132
|
[extrudedHeight],
|
|
132
133
|
);
|
|
133
134
|
|
|
@@ -152,6 +153,7 @@ export default function Polygon({
|
|
|
152
153
|
outline={!!memoStrokeColor}
|
|
153
154
|
outlineColor={memoStrokeColor}
|
|
154
155
|
outlineWidth={strokeWidth}
|
|
156
|
+
height={height}
|
|
155
157
|
heightReference={heightReference(hr)}
|
|
156
158
|
shadows={shadowMode(shadows)}
|
|
157
159
|
distanceDisplayCondition={distanceDisplayCondition}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { MVTImageryProvider } from "@reearth/cesium-mvt-imagery-provider";
|
|
2
1
|
import { useMemo } from "react";
|
|
3
2
|
|
|
3
|
+
import { MVTImageryProvider } from "@reearth/cesium-mvt-imagery-provider";
|
|
4
|
+
|
|
4
5
|
import { extractSimpleLayer } from "../utils";
|
|
5
6
|
|
|
6
7
|
import { useData, useImageryProvider } from "./hooks";
|