Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
374 commits
Select commit Hold shift + click to select a range
f146afd
add dataSourceId property to callback options argument (#555)
mdhsl Oct 30, 2021
6b9559d
Cesium view layer add support for label outline and background #549 (…
mdhsl Oct 30, 2021
02b8af0
Add support for Custom Cesium Viewer object while creating CesiumView…
mdhsl Oct 30, 2021
9444909
Add support for property to disable billboard rotation (#558)
mdhsl Oct 30, 2021
89f308e
Create helper function to simplify subscribing to a datasource direct…
mdhsl Oct 31, 2021
c7be6ed
Comment extra boxInfo causing div overflow (not used now, was for pri…
mdhsl Oct 31, 2021
71a1833
Fix AutoZoomOnFirstMarker (#561)
mdhsl Nov 7, 2021
4716704
Set default autoZoomFirstOnMarker to TRUE for the CesiumView
mdhsl Nov 26, 2021
0fd9c93
Move token into parent
mdhsl Nov 26, 2021
483427b
Audio raw (#571)
mdhsl Jan 21, 2022
49f434d
Implement_SensorWeb_API_Client_#353 (#562)
mdhsl Jan 21, 2022
9d7e3dd
Fix 3dr-solo-uav-react after refactoring datasource directory and web…
mdhsl Jan 21, 2022
9072dd5
Fix 3dr-solo-uav-react-tsx webpack 5 config
mdhsl Jan 21, 2022
1bd1073
Fix 3dr-solor-uav-vuejs after datasource refactoring
mdhsl Jan 21, 2022
0cae9b3
Fix File datasource/connector/handler to be compliant with last async…
mdhsl Jan 21, 2022
4357d2a
Add local MQTT.js lib to avoid installing mqtt.js for every demos/tes…
mdhsl Jan 21, 2022
df979ea
Add new showcase example: datasource-file
mdhsl Jan 21, 2022
4942c08
Use new Ion cesium token
mdhsl Jan 21, 2022
5484298
Fix missing import for Ion token
mdhsl Jan 21, 2022
4e8b1b9
Remove button to automatically start Datasource after opening the exa…
mdhsl Jan 21, 2022
5c5982d
Restore old code which handle case when a datasource is disconnected.…
mdhsl Jan 21, 2022
a4cd4d3
Fix video with vuejs demo with last modification on async datasources
mdhsl Jan 21, 2022
4661941
Downgrade copy-webpack-plugin and upgrade all others vuepress depende…
mdhsl Jan 23, 2022
dec0f3d
Fix update orientation in CesiumView (for 3D models) (#572)
mdhsl Jan 23, 2022
a86d75f
add ability to pass divID in map properties (#573)
mdhsl Jan 27, 2022
a09b760
- Add new property iconOpacity to PointMarkerLayer (#574)
mdhsl Jan 28, 2022
cbd6f79
Fix disconnected + batch mode by checking disconnected status and dat…
mdhsl Jan 29, 2022
7a78ae0
Add MISB & SweAPI link to vuepress site
mdhsl Jan 30, 2022
afce5c7
Add tasking to SweApi (#577)
mdhsl Feb 13, 2022
ccbdfb0
Fix wrong system details parser into SweApi demo
mdhsl Feb 18, 2022
23c256a
Add link of Tasking demo into dev site
mdhsl Feb 18, 2022
fb1a51a
Improve tasking demo (#591)
mdhsl Feb 24, 2022
59bd4e1
- Make all Layer supporting async (#594)
mdhsl Feb 25, 2022
e62eb3f
- Skip updateMarker until a first location has been got (#595)
mdhsl Feb 25, 2022
e744c1d
Open layer view support layers #593 (#596)
mdhsl Feb 28, 2022
9c4136f
Swe api demo add more infos #602 (#603)
mdhsl Mar 4, 2022
5bac772
Fix wrong code
mdhsl Mar 4, 2022
5644b43
Fix ws misb (#605)
mdhsl Mar 5, 2022
8631252
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Mar 5, 2022
a892208
Rename and reorder items in Samples menu (#610)
mdhsl Mar 11, 2022
f1d74ea
Rename the following items in tree: (#611)
mdhsl Mar 11, 2022
17cac38
Display command & controls into SweApi demo (#613)
mdhsl Mar 12, 2022
ac04a4e
Set SweApi object content as they are received without merging their …
mdhsl Mar 12, 2022
5694610
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Mar 17, 2022
0cccc89
Add dynamic input url (#616)
mdhsl Mar 17, 2022
a85075d
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Mar 17, 2022
1104610
Remove time ranges from systems discovery requests in swe api browser…
mdhsl Mar 17, 2022
e8e98eb
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Mar 17, 2022
fb4f192
Mqtt connector add custom parameter topic prefix #615 (#621)
mdhsl Mar 18, 2022
7e9bbac
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Mar 18, 2022
0449673
fix missing mqtt prefix into Showcase tasking example
mdhsl Mar 19, 2022
0bb7197
[Demos] Add systems sub-resources to SWE API browser #620 (#622)
mdhsl Mar 21, 2022
24435f6
Add listbox to select format and display the corresponding schema #62…
mdhsl Mar 24, 2022
07f0930
Fix: (#629)
mdhsl Mar 24, 2022
8c564a5
Simplify and redesign components to better handle the scroll. We now …
mdhsl Mar 27, 2022
e3b2c10
Fix SweApi demo build
mdhsl Mar 27, 2022
8773852
Parser add a generic parser to parse data using get result template o…
mdhsl Jun 3, 2022
b599409
Open layer view needs to allow for icon color specification #650 (#651)
mdhsl Jun 9, 2022
0cca947
Binary parser outputs incorrect values #653
mdhsl Jun 12, 2022
f1c4f1c
The imageDraping has to wait for the video canvas which was not ready…
mdhsl Jun 12, 2022
e0d9544
Fix wrong parseData method name after adding generic parser (#658)
mdhsl Jun 12, 2022
0588857
Web socket reconnect failure #643 (#652)
mdhsl Jun 23, 2022
d27053c
Fix Tasking demo
mdhsl Jun 23, 2022
edcde2d
Add new added files into OSH.js
mdhsl Jun 23, 2022
871fc9c
update version into package.json
mdhsl Jun 23, 2022
62c2bc8
Fix NPM build by moving mqtt lib into relative dir
mdhsl Jun 24, 2022
1ce913e
Re-design the Generic and introduce dataTypeDecoder to decode value f…
mdhsl Jul 10, 2022
da91cde
Implement specific replay connector using a double buffer (#665)
mdhsl Oct 3, 2022
cc29532
Stop masterTime from DataSynchronizer when all datasources are discon…
mdhsl Oct 12, 2022
c82181a
Stop masterTime from DataSynchronizer when all datasources are discon…
mdhsl Oct 12, 2022
d34f04c
- DeckGl: add support for GLTF
mdhsl Oct 12, 2022
8f49721
Destroy Broadcast channels while destroying the View
mdhsl Oct 12, 2022
67ff137
Update server urls (#679)
mdhsl Oct 14, 2022
c8cbfab
Add some stuff to get Video decoded frame/infos callback
mdhsl Oct 24, 2022
4df7380
Add some stuff to get Video decoded frame/infos callback
mdhsl Oct 24, 2022
6340891
Add missing files fixing new datasource archi
mdhsl Oct 24, 2022
bafd67d
Fix replay algorithm while fetching no data (#683)
mdhsl Nov 3, 2022
97c345b
Time controller lost actions buttons while switching between real tim…
mdhsl Nov 5, 2022
81552fe
piaware showcase example- inital commit
Nov 17, 2022
76fea4e
updates attempting to fix orientation issues
Nov 23, 2022
e77b03f
Add some tests to save/restore props depending on markerId
mdhsl Nov 24, 2022
bf4707a
copy props instead of reference
mdhsl Nov 24, 2022
80db7e9
Reduce default batch size
mdhsl Nov 28, 2022
3730a76
Time off aircraft that have not reported for 60 seconds
Nov 29, 2022
d9b7bb8
Layer cannot update layer using multiple datasources #690 (#692)
mdhsl Nov 30, 2022
571cce5
Added Map of aircraft/time in order to age off old flights
Nov 30, 2022
e62b632
Merge dev into piaware
Nov 30, 2022
cf2b99e
support iconScale based on aircraft category
Dec 2, 2022
27a3949
Data synchronizer support for dynamically adding and removing datasou…
mdhsl Dec 5, 2022
d49ae6b
Fix removing ImageDraping Layer from the CesiumView (#696)
mdhsl Dec 5, 2022
966d258
Add support for dynamic changing of icon Size & color into the Cesium…
mdhsl Dec 7, 2022
7d710cc
remove extra debug log
mdhsl Dec 7, 2022
0a580a1
Support for aging off individual markers in CesiumView
Dec 7, 2022
942484f
merge latest dev changes into piaware
Dec 7, 2022
03515e3
Layer remove color from point marker layer #705 (#706)
mdhsl Dec 8, 2022
dba1c88
Fix icon sizes for SVG
Dec 8, 2022
690ec74
Merge branch 'dev' into piaware
Dec 8, 2022
f9d9638
Add icon color based on alt
Dec 10, 2022
6a9b329
Draping and frustum enhancements (#707)
csdillard Dec 18, 2022
812607a
Fix onHover, OnRightClick & onLeftClick into the CesiumView
mdhsl Dec 18, 2022
1610fbb
Add range rings; adjust icon scale; delete marker fix in CesiumView
Dec 18, 2022
8bc4407
Merge branch 'dev' into piaware
Dec 18, 2022
aa3dec7
Merge remote-tracking branch 'origin/MapView_getLayer_layerId_fails_f…
Dec 18, 2022
642d21b
Add support for adding existing datasource id
mdhsl Dec 28, 2022
85b9721
Merge remote-tracking branch 'origin/dev' into dev
mdhsl Dec 28, 2022
3603ba0
Add missing checkStart() function for RT algo
mdhsl Dec 28, 2022
da9ffa7
Fix image draping primitive position into CesiumView (#718)
mdhsl Dec 28, 2022
d5a6687
Fix iconScale of the DeckGlView
mdhsl Dec 29, 2022
f709d34
Add z support for icon mapping
mdhsl Dec 29, 2022
bab81ad
Fix issue by resetting status to cancel=false after connecting REAL_T…
mdhsl Dec 31, 2022
04c3dac
Fix icons, labels. Clean up some code
Jan 9, 2023
c20947f
configure easier switching between pi locations and airports
Jan 11, 2023
a83d1b7
Remove the view from parent div while calling destroy()
mdhsl Jan 20, 2023
9b95b9b
Add dist to be used as remote lib
mdhsl Feb 3, 2023
c25e996
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Feb 3, 2023
f28e28a
Add build osh-js as lib script to be used directly remotely
mdhsl Feb 3, 2023
e3c0bf2
add missing files
mdhsl Feb 3, 2023
d1a0f19
add tar
mdhsl Feb 3, 2023
0b8f370
Fix issue while destroying VideoView
mdhsl Feb 22, 2023
698030a
Fix 3dr solo react demo
mdhsl Feb 22, 2023
5f9c0dd
improve build lib script
mdhsl Feb 22, 2023
fe09fb8
Add destroyAfterMutation properties to view to control the way we wan…
mdhsl Feb 23, 2023
cb1089e
Fix zoomOnFirstMarker into CesiumView by taking into account initial …
mdhsl Feb 23, 2023
acd6b9e
Fix closing BC into View into the destroy() function
mdhsl Mar 26, 2023
fea3c67
Add draw blank function into FFMPEG View
mdhsl Mar 26, 2023
5f58bfb
Change element remove div syntax which is not supported by all webpac…
mdhsl Apr 5, 2023
a280903
Add support for providing id into DataSynchronizer properties
mdhsl Apr 5, 2023
98ace8c
Remove dependency to vuetify (#729)
mdhsl Apr 7, 2023
b042887
Save last time to dataSynchronizer and used it after reconnecting
mdhsl Apr 11, 2023
51ec2c7
- Set min/end time by default to start/end time if not defined into d…
mdhsl Apr 12, 2023
31cefe3
remove log
mdhsl Apr 14, 2023
3a07546
Fix issue while adding dataSource to an existing synchronizer, force …
mdhsl Apr 17, 2023
c247e72
Fetch swe outside timerange (#732)
mdhsl Apr 17, 2023
8eee43e
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Apr 17, 2023
416f8ee
Remove log
mdhsl Apr 17, 2023
7b4ee13
New version of cannot add datasource timesync (#734)
mdhsl May 7, 2023
fe1afd9
- add new chart example demonstrating new trackRealtime option (#737)
mdhsl May 9, 2023
d9656bc
Add new RUNNING and NOT_RUNNING DataSynchronizer status
mdhsl May 10, 2023
4ba65c8
add support for line stroke into ChartJsView
mdhsl May 10, 2023
fc22a16
- add yLabel to label Y axis into ChartView & CurveLayer
mdhsl May 10, 2023
19fef35
Fix min/max values
mdhsl May 16, 2023
7f43c3e
Add options to chartJs to limit the refreshRate (#739)
mdhsl May 16, 2023
f7fa87f
Use double buffer to update chart values
mdhsl May 16, 2023
2488d2d
- Improve ChartJs performance
mdhsl May 16, 2023
5245f78
- Fix examples using batch by setting maxValues to a big number
mdhsl May 18, 2023
bea237c
Set minTimestamp into TimeController by default if it is not initiali…
mdhsl May 18, 2023
7cae216
- Change speed and maxValues of sweapi trackRt chart example
mdhsl May 18, 2023
4749e9d
remove log
mdhsl May 18, 2023
78bbfd6
In case of settings Date manually, we do not set the date.now() after…
mdhsl May 19, 2023
a38da99
FIx chartJs to make the refreshRate working
mdhsl May 19, 2023
2ef05d6
Change to use new control stream ID and correct response format (#742)
mdhsl May 21, 2023
2316c2c
-Set default min/max time to start/end time of a datasource
mdhsl May 23, 2023
2af81b0
Fix WebSocket reconnection: missing property
mdhsl May 28, 2023
552a8aa
Decrease WS reconnection timeout
mdhsl May 28, 2023
b93861d
Add options to cesium view (#743)
mdhsl Jun 14, 2023
4eeb322
- Upgrade FFMPEG lib (#744)
mdhsl Jun 21, 2023
5c5d71a
Fix build
mdhsl Jun 22, 2023
5a2b7ce
Improve architecture v2 (#745)
mdhsl Jun 28, 2023
8c99253
Use Shared MQTT Connector (#746)
mdhsl Jul 3, 2023
bf45ece
Merge branch 'dev' into nexrad
Jul 4, 2023
c1ede2e
Add support for creating function layer without specifying any dataSo…
mdhsl Jul 11, 2023
194f1c3
* Fix issue while creating then destroying TimeUpdater
mdhsl Jul 11, 2023
d37c94c
Does not update min/max fo the TimeController while moving sliding
mdhsl Jul 12, 2023
ebaba4e
Fix topic of MqttConnector which was composed of topic + '?' + queryS…
mdhsl Jul 12, 2023
8347215
initial nexrad commit
Jul 19, 2023
fe7464a
Fix layer noDatasources which was not cleared after assigning a dataS…
mdhsl Jul 22, 2023
4c38e43
Fix reset dataSource by changing properties, disconnect correctly, re…
mdhsl Jul 22, 2023
2ce0ebe
destroy VideoDecoder into WebCodecApiView
mdhsl Jul 22, 2023
6498f0d
Issue sharing mqtt (#751)
mdhsl Jul 23, 2023
ec210f1
dx webpack build errors (not compiling)
Aug 21, 2023
a0f0f9d
Fix webpack compiling
mdhsl Aug 21, 2023
7dd67b1
Merge pull request #752 from opensensorhub/nexrad
TheRestOfMe Aug 21, 2023
e838d9e
Abstract parser data array parser parse undefined size with nexrad ge…
mdhsl Sep 5, 2023
51e675c
- Add support for http://www.opengis.net/def/dataType/OGC/0/string-ut…
mdhsl Sep 28, 2023
2a438a2
Merge pull request #755 from opensensorhub/add_support_string_text_pa…
TheRestOfMe Sep 29, 2023
829bb19
Fix wrong Layer import
mdhsl Dec 2, 2023
3d2c409
Merge branch 'dev' of github.com:opensensorhub/osh-js into dev
mdhsl Dec 2, 2023
738c2f6
Fix missing credentials headers
mdhsl Dec 22, 2023
ebd3dc1
Fix missing credentials headers
mdhsl Dec 22, 2023
79f4b41
Update cesium (#767)
mdhsl Mar 15, 2024
7a7e674
Remove duplicated example
mdhsl Mar 20, 2024
549c630
Fix add/Remove to/from DataSynchronizer in REAL_TIME mode
mdhsl Mar 20, 2024
7b03f8e
Remove TimeUpdater of datasource when they are removed from the TimeSync
mdhsl May 6, 2024
f304732
Fixed BinaryDataParser not reading all datablock causing some blocks …
mdhsl May 13, 2024
2151e52
Fix remove/add datasource from/to timeSync causing start/end timestam…
mdhsl May 15, 2024
c912db7
Fix using SVG with the DeckGlView; fix onHover/onRightClick/onLeftCli…
mdhsl May 23, 2024
ff2a364
Improve the SVG icon scaling in the DeckGlMapView
mdhsl May 23, 2024
5095549
Improve & fix terminate() function of DataSynchronizer
mdhsl Jun 17, 2024
485217f
remove debug log
mdhsl Jun 24, 2024
b76313e
Check if the handler exists into the worker before calling its function
mdhsl Jun 24, 2024
c78f727
Check if dataSource exists before removing it, and before adding it
mdhsl Jun 24, 2024
c6fcaba
Fix issue using ref array instead of copying it (#774)
mdhsl Jun 26, 2024
fa48f76
Fix build-package because of recent TS issue
mdhsl Jul 12, 2024
f434cc9
Add geojson example (#775)
mdhsl Aug 6, 2024
9e91d61
Use correct path and query param names for features of interest (FOIs…
earocorn Feb 25, 2025
b2e2d05
Add Connected Systems
earocorn Feb 26, 2025
a16dbb7
Update OSH.js
earocorn Mar 6, 2025
145c0ef
Change swe api showcases to use consysapi
earocorn Mar 6, 2025
3d274fb
Update showcase to use consysapi
earocorn Mar 12, 2025
f3cf9c0
Add necessary imports to feature queries
earocorn Mar 12, 2025
d25fcd6
Add geojson example (#783)
mdhsl Mar 14, 2025
2fdd0ab
Fix use of wrong MQTT connector
mdhsl Mar 14, 2025
cf91984
Add shared property to MQTT connector options
mdhsl Mar 15, 2025
f36f686
Update tasking.js showcase example
earocorn Mar 17, 2025
68b2429
Merge remote-tracking branch 'upstream/dev' into add-consys
earocorn Mar 17, 2025
1116fc5
putting dahua, uav misb, dji on gh
sugaricedreams Mar 21, 2025
92d352b
pushing chart consys
sugaricedreams Apr 1, 2025
dc15ff4
Update chart-consys.js
sugaricedreams Apr 2, 2025
3c2f38e
gh
sugaricedreams Apr 8, 2025
9819bc0
fixing var name
sugaricedreams Apr 8, 2025
5a23784
successfully changed chart archive realtime to use consysapi
sugaricedreams Apr 8, 2025
f6aa52f
made chart archive realtime batch use consysapi
sugaricedreams Apr 9, 2025
c6ad043
test....
apoteau21 Apr 14, 2025
8dc8ac4
point marker weather sensor
apoteau21 May 6, 2025
5c3e15a
weather sensor point marker done
apoteau21 May 7, 2025
e87c512
uav point marker unfinished
apoteau21 May 8, 2025
7eb2807
fixing time stamp
apoteau21 May 8, 2025
15896db
orientation added
apoteau21 May 9, 2025
ad13245
gh
apoteau21 May 14, 2025
33db82c
gh
apoteau21 Jun 4, 2025
2ace37e
changing spot 7 and uav point marker to realtime..... spot 7 kind of …
apoteau21 Jun 16, 2025
3f3c2b5
trying comments
apoteau21 Jun 18, 2025
95b7f6b
gh
apoteau21 Jun 23, 2025
760e0e2
uploading finished vers
apoteau21 Jun 24, 2025
d67f46d
Update README.md
apoteau21 Jun 24, 2025
c5b2cc0
new info to run
apoteau21 Jun 24, 2025
bc58186
fixing descriptions, cleaning up code
apoteau21 Jun 25, 2025
fb76481
cleaning
apoteau21 Jun 26, 2025
9dcc9ac
putting dahua, uav misb, dji on gh
sugaricedreams Mar 21, 2025
1aea452
pushing chart consys
sugaricedreams Apr 1, 2025
3c5b41c
Update chart-consys.js
sugaricedreams Apr 2, 2025
3412d02
gh
sugaricedreams Apr 8, 2025
d21879d
fixing var name
sugaricedreams Apr 8, 2025
d1de789
successfully changed chart archive realtime to use consysapi
sugaricedreams Apr 8, 2025
96ea659
made chart archive realtime batch use consysapi
sugaricedreams Apr 9, 2025
f71e74d
test....
apoteau21 Apr 14, 2025
4e47805
point marker weather sensor
apoteau21 May 6, 2025
0626250
weather sensor point marker done
apoteau21 May 7, 2025
333645e
uav point marker unfinished
apoteau21 May 8, 2025
bd75ec2
fixing time stamp
apoteau21 May 8, 2025
99732a9
orientation added
apoteau21 May 9, 2025
e99ee2f
gh
apoteau21 May 14, 2025
f0f4023
gh
apoteau21 Jun 4, 2025
c0d33ce
changing spot 7 and uav point marker to realtime..... spot 7 kind of …
apoteau21 Jun 16, 2025
91b11ed
trying comments
apoteau21 Jun 18, 2025
b20e52a
gh
apoteau21 Jun 23, 2025
221544c
uploading finished vers
apoteau21 Jun 24, 2025
8661122
Update README.md
apoteau21 Jun 24, 2025
8695eec
new info to run
apoteau21 Jun 24, 2025
5a1c1eb
Merge remote-tracking branch 'origin/ashley-add-consys' into ashley-a…
apoteau21 Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"forin" : false,
"immed" : false,
"indent" : 4,
"esversion" : 6
"esversion" : 11
}
362 changes: 362 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ $ npm run prod


## Dependencies

### Cesium

If you use the CesiumView, don't forget to install the corresponding npm package 'cesium'.
Expand Down Expand Up @@ -110,4 +111,8 @@ $ ENV=latest yarn vuepress

The official website (latest): [http://opensensorhub.github.io/osh-js/latest/site/](http://opensensorhub.github.io/osh-js/latest/site/)

The official website (development): [http://opensensorhub.github.io/osh-js/dev/site/](http://opensensorhub.github.io/osh-js/dev/site/)
The official website (development): [http://opensensorhub.github.io/osh-js/dev/site/](http://opensensorhub.github.io/osh-js/dev/site/)

## License

OpenSensorHub is licensed under the Mozilla Public License version 2.0.
1 change: 1 addition & 0 deletions archi/mqtt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-09-24T15:01:57.643Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" etag="a-25UMytF_W3BLWEE3ag" version="15.3.1" type="device"><diagram id="zpl2OC2ojmMQohNl5kBP" name="Page-1">7Vttc5s4EP41nrn7YA8CxMvH1ml7c3OZ5ibp3fWjArJRixERcuzcrz8JhA2SXTsX26Jp88Vo9YJ49tld7UJG3nSx/sBQmV3TFOcj10nXI+9q5LpeAID4kZKnRgKAqyRzRlIl2wpuyb9YCR0lXZIUV72BnNKck7IvTGhR4IT3ZIgxuuoPm9G8f9cSzbEhuE1Qbkr/JinPGmkEna38N0zmWXtn4KieBWoHK0GVoZSuOiLv3cibMkp5c7VYT3Eu0Wtxaea939O72RjDBT9mwv3VX0sPZ/GXT398jNDv/vxD8TD21DKPKF+qJ76jJUmESPVU/KnFgtFlkWK5nDPy3q4ywvFtiRLZuxLqF7KML3LRAuJSrYsZx+u9OwYbHASDMF1gzp7EEDVhDECowFP08UJn4gSNaLVVR6BGZR1NtLAjRYD5ZvktRuJCwfQcyNy9kEUDgMyJBgiZZ0BmIIWL9I20V9EqaIH7yOA14f9IECdQtT4rSOX11brbeFKN5g44Nexbw1Lsgi5Zgg9aiQl6B0+4A89WxnCOOHns72MXyOoON5SIHW51Grqwp1K/o9J2meYZ1MyuF9AXA8KoJv31PN9cjyM2x9xYr1b/BoEXMMK3wAihd/bUTAph2/7cLigb23l16xxUcq1SCQBPcw/RS7jkBPaZBIccwWJHA2gI3jjYi5hphBdHLAIDRCzci5hnH7FQN+khIBbZ9e++73cdvDOJ4/iAk69bN5gRgQBmZ/D88PUcIsIYTEIQb/4iMwp0/y4cEWK73LN2tAisEizSzwIvOVmEkfWDhe/YpVEA48G5sPAVMSyAk9jd+igwJBfmm2WZaU5w/QCiy/nl+oHzyZfqV4ORVYZKeVkymuCqOnwCuUfJ13l9Zvm45DmRJD5h/cbvawy6O48mwN3BmuBcZxPfLOBswHW/H3CjQWJro9IzgNjbGmzjF77lQl9RKSkItcXcywdpy3Wk4fPNcr3J0dJ56L2odqmlur5zecaZ9aYfg3HusYyzm+cCJ3xtjDPrdT8ZN6DENzwl4fQcxwbfzGrnM/l2du4cpoTdTFUvX8AdJ6PjM1X9mGWBEmY59xMnOeES0yRHIhdSedMNo48kxcxMnsRtSFnhS70G1w66gX98dhSdLTt6XmWyBpYk9px5JWjFzd3U4vck7yvsND4/OtLA/YHlUcEp8yhwcQOHzyt27mbmCVl2l5HiRUw7TCC7iVEc7PdP/+M9vH4EiS/PILNkOXKDnEuOiK5gzmv9NZKqREWPXMHDUn4H93ZGCz6u6q8A34gBwC3X4qee6dR9K6UL2evLb+3ame0tzLiUyW/+BA4j+VFeKflTpKVCcCymoYUMQGp/YpYqBRK5Q8pELJN0orXOlyJ+NStths0oU6IKLXBv9eZZBZrN4/YhEOIuLpqtidDH+9ZVcUa/4inNKauHeEES4fuZxEzYR0eeIhzNkgbkhBRzIYXb1h0VD3s1dve9m6Yi7s7y2hQzkqZYWmH/jfYpwnPsOHvZ3zFAF0LTAsNzRWfoGgy+QhzdNjGrLrxPu/qtOXj9592dVB1mjzVRvvXNCbjQ2Qf4fXQjMIDKMDQrw89H1wxKF0c30lztMMC1Wwa1VCBoDfZwrI/sxnpPi/U7ErjjCwR6agkvH+ptlEBPyRvv++CN/oYv2pEXHM2bGPYXC3dUqc7Mm9jkjXLwt4MKn7AfPjf1AGvuPTYrwDpwQ4iMGl3PiZtobv9zpuHn9h+QvHf/AQ==</diagram></mxfile>
1 change: 1 addition & 0 deletions archi/mqtt2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>
25 changes: 25 additions & 0 deletions config/prepare-lib.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const fs = require('fs');
const path = require('path');
const pkg = require('../package.json');

const buildDir = path.resolve(__dirname, '../dist/');

// update the version number in util.js

// write out simplified package.json
delete pkg.scripts;
delete pkg.devDependencies;
delete pkg.style;
delete pkg.eslintConfig;
delete pkg.private;
fs.writeFileSync(
path.join(buildDir, 'package.json'),
JSON.stringify(pkg, null, 2),
'utf-8'
);

// copy in readme and license files
fs.copyFileSync(
path.resolve(__dirname, '../README.md'),
path.join(buildDir, 'README.md')
);
64 changes: 64 additions & 0 deletions config/tsconfig-lib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"compilerOptions": {
/* Basic Options */
"target": "ES5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
// "lib": [], /* Specify library files to be included in the compilation. */
"allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
// "declaration": true, /* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"sourceMap": true, /* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "../dist", /* Redirect output structure to the directory. */
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
"importHelpers": false, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */

/* Strict Type-Checking Options */
"strict": false, /* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */

/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */

/* Module Resolution Options */
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": false, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */

/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
"inlineSources": false /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */

/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": [
"../source/**/*.js"
],
"exclude": []
}
52 changes: 28 additions & 24 deletions demos/3dr-solo-uav/3dr-solo-uav-react-tsx/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"start": "react-scripts start",
"build": "react-scripts build",
"prod": "webpack --config webpack.config.js --mode production",
"dev": "webpack-dev-server --config webpack.config.js --mode development --watch",
"dev": "webpack-dev-server --config webpack.config.js --mode development",
"postinstall": "patch-package",
"test": "react-scripts test",
"eject": "react-scripts eject"
Expand All @@ -36,29 +36,33 @@
]
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
"@babel/preset-typescript": "^7.14.5",
"@types/react": "^17.0.14",
"@types/react-dom": "^17.0.9",
"babel-loader": "^8.2.2",
"cesium": "1.68.0",
"clean-webpack-plugin": "^4.0.0-alpha.0",
"copy-webpack-plugin": "^9.0.1",
"css-loader": "^5.2.6",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.3.2",
"loader-utils": "^2.0.0",
"patch-package": "^6.2.2",
"react-draggable": "^4.4.3",
"strip-ansi": "^7.0.0",
"style-loader": "^3.0.0",
"ts-loader": "^9.2.3",
"webpack": "^5.44.0",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2",
"worker-loader": "^3.0.8"
"@babel/core": "7.9.0",
"@babel/preset-env": "7.9.5",
"@babel/preset-react": "7.9.4",
"@babel/preset-typescript": "7.14.5",
"@types/react": "17.0.14",
"@types/react-dom": "17.0.9",
"babel-loader": "8.2.2",
"@cesium/engine": "8.0.0",
"@cesium/widgets": "5.0.0",
"cesium": "1.114.0",
"@open-wc/webpack-import-meta-loader": "0.4.7",
"@babel/plugin-transform-optional-chaining": "7.23.4",
"clean-webpack-plugin": "4.0.0-alpha.0",
"copy-webpack-plugin": "9.0.1",
"css-loader": "5.2.6",
"file-loader": "6.2.0",
"html-webpack-plugin": "5.3.2",
"loader-utils": "2.0.0",
"patch-package": "6.2.2",
"react-draggable": "4.4.3",
"strip-ansi": "7.0.0",
"style-loader": "3.0.0",
"ts-loader": "9.2.3",
"webpack": "5.65.0",
"webpack-cli": "4.9.1",
"webpack-dev-server": "4.6.0",
"worker-loader": "3.0.8"
},
"browser": {
"fs": false,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
diff --git a/node_modules/@cesium/engine/Source/Scene/Material.js b/node_modules/@cesium/engine/Source/Scene/Material.js
index 53d4155..ae796a4 100644
--- a/node_modules/@cesium/engine/Source/Scene/Material.js
+++ b/node_modules/@cesium/engine/Source/Scene/Material.js
@@ -834,6 +834,31 @@ function createTexture2DUpdateFunction(uniformId) {
return;
}

+ if (uniformValue instanceof HTMLCanvasElement) {
+ if (!uniformValue.drawing) {
+ if (uniformChanged && defined(texture)) {
+ if (texture !== context.defaultTexture) {
+ texture.destroy();
+ }
+ texture = undefined;
+ }
+ if (!defined(texture) || texture === context.defaultTexture) {
+ texture = new Texture({
+ context: context,
+ source: uniformValue,
+ });
+ material._textures[uniformId] = texture;
+ return;
+ }
+ texture.copyFrom({
+ source: uniformValue,
+ });
+ } else if (!defined(texture)) {
+ material._textures[uniformId] = context.defaultTexture;
+ }
+ return;
+ }
+
if (uniformValue instanceof Texture && uniformValue !== texture) {
material._texturePaths[uniformId] = undefined;
const tmp = material._textures[uniformId];
3 changes: 3 additions & 0 deletions demos/3dr-solo-uav/3dr-solo-uav-react-tsx/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
name="description"
content="Web site created using create-react-app"
/>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import * as React from "react";
declare type CustomValue = any;
interface Props {
propA: CustomValue;
}
declare class BaseMap extends React.PureComponent {
readonly token: string;
divId: string;
constructor(props: Props);
componentDidMount(): void;
render(): JSX.Element;
}
export default BaseMap;
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import * as React from "react";
import {EllipsoidTerrainProvider, Matrix3,Cartesian3,Cartesian2,Ion } from "cesium";
import SosGetResultJson from "osh-js/core/datasource/SosGetResultJson.js";
import SosGetResult from 'osh-js/core/datasource/sos/SosGetResult.datasource.js';
import PointMarkerLayer from "osh-js/core/ui/layer/PointMarkerLayer.js";
import CesiumView from "osh-js/core/ui/view/map/CesiumView.js";
import {randomUUID} from "osh-js/core/utils/Utils.js";
import ImageDrapingLayer from "osh-js/core/ui/layer/ImageDrapingLayer.js";
import {Mode} from 'osh-js/core/datasource/Mode';
import DataSynchronizer from "osh-js/core/timesync/DataSynchronizer";

type CustomValue = any;
interface Props {
propA: CustomValue;
}

class BaseMap extends React.PureComponent {
readonly token: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI4MjczNTA4NS1jNjBhLTQ3OGUtYTQz' +
'Ni01ZjcxOTNiYzFjZGQiLCJpZCI6MzIzODMsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTY4OTU3MjB9.hT6fWdvIqu4GIHR7' +
'2WfIX0QHiZcOjVaXI92stjDh4fI';
readonly token: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ODY0NTkzNS02NzI0LTQwNDktODk4Zi0zZDJjOWI2NTdmYTMiLCJpZCI6MTA1N' +
'zQsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1NTY4NzI1ODJ9.IbAajOLYnsoyKy1BOd7fY1p6GH-wwNVMdMduA2IzGjA';

divId: string;

Expand All @@ -29,41 +29,45 @@ class BaseMap extends React.PureComponent {
let videoCanvas = document.getElementById("video-container").getElementsByTagName("canvas")[0];

let optsPlatform = {
protocol: 'ws',
service: 'SOS',
endpointUrl: 'sensiasoft.net:8181/sensorhub/sos',
tls: true,
endpointUrl: 'sensiasoft.net/sensorhub/sos',
offeringID: 'urn:mysos:solo:nav2',
observedProperty: 'http://www.opengis.net/def/property/OGC/0/PlatformLocation',
startTime: '2015-12-19T21:04:29.231Z',
endTime: '2015-12-19T21:09:19.675Z',
replaySpeed: 1
mode: Mode.REPLAY
};

let optsOrientation = {
protocol: 'ws',
service: 'SOS',
endpointUrl: 'sensiasoft.net:8181/sensorhub/sos',
tls: true,
endpointUrl: 'sensiasoft.net/sensorhub/sos',
offeringID: 'urn:mysos:solo:nav2',
observedProperty: 'http://www.opengis.net/def/property/OGC/0/PlatformOrientation',
startTime: '2015-12-19T21:04:29.231Z',
endTime: '2015-12-19T21:09:19.675Z',
replaySpeed: 1
mode: Mode.REPLAY

};

let optsGimbal = {
protocol: 'ws',
service: 'SOS',
endpointUrl: 'sensiasoft.net:8181/sensorhub/sos',
tls: true,
endpointUrl: 'sensiasoft.net/sensorhub/sos',
offeringID: 'urn:mysos:solo:nav2',
observedProperty: 'http://sensorml.com/ont/swe/property/OSH/0/GimbalOrientation',
startTime: '2015-12-19T21:04:29.231Z',
endTime: '2015-12-19T21:09:19.675Z',
replaySpeed: 1
mode: Mode.REPLAY
}
// create data source for Android phone GPS
let platformLocationDataSource = new SosGetResultJson('android-GPS', optsPlatform);
let platformOrientationDataSource = new SosGetResultJson('android-Heading', optsOrientation);
let gimbalOrientationDataSource = new SosGetResultJson('android-Heading', optsGimbal);
// @ts-ignore
let platformLocationDataSource = new SosGetResult('android-GPS', optsPlatform);
// @ts-ignore
let platformOrientationDataSource = new SosGetResult('android-Heading', optsOrientation);
// @ts-ignore
let gimbalOrientationDataSource = new SosGetResult('android-Heading', optsGimbal);

// add 3D model marker to Cesium view
let pointMarkerLayer = new PointMarkerLayer({
Expand All @@ -89,7 +93,8 @@ class BaseMap extends React.PureComponent {
}
},
icon: "./models/Drone+06B.glb",
name: 'Solo draping marker'
name: 'Solo draping marker',
iconScale: 12.0,
});

// style it with a moving point marker
Expand Down Expand Up @@ -159,12 +164,16 @@ class BaseMap extends React.PureComponent {


// start streaming
// @ts-ignore
platformLocationDataSource.connect();
// @ts-ignore
platformOrientationDataSource.connect();
// @ts-ignore
gimbalOrientationDataSource.connect();
const dataSynchronizer = new DataSynchronizer({
masterTimeRefreshRate: 250,
replaySpeed: 1.0,
startTime: '2015-12-19T21:04:29.231Z',
endTime: '2015-12-19T21:09:19.675Z',
dataSources: [
platformLocationDataSource,platformOrientationDataSource,gimbalOrientationDataSource
]
});
dataSynchronizer.connect()
}

render() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import * as React from "react";
export declare class SoloVideoComponent extends React.PureComponent<any, any> {
divId: string;
constructor(props: any);
componentDidMount(): void;
render(): JSX.Element;
}
Loading