Commit Graph

156 Commits

Author SHA1 Message Date
Alexander Bock
ebc6fbef11 Support relative paths in GeoJSON SpriteTexture (#3761) 2025-07-23 15:18:32 +02:00
Alexander Bock
b39a5f3d7b Remove deprecated Lua functions (#3664) 2025-05-19 17:59:58 +02:00
Alexander Bock
f16288f53f Relocated dashboard examples. Add missing documentation entries 2025-05-18 15:44:45 +02:00
Alexander Bock
6dc738e54e Move functions about globe locations from the GlobeBrowsingModule into the core (#3613)
* Make GlobeRotation and GlobeTranslation work for non-globes and move them to the base module
* Move ellipsoid and geodetic classes into the core
* Allow more things to take scene graph nodes instead of RenderableGlobes
* Move goToGeo and related Lua functions into the core
* Move more functions from the pathnavigation namespace into the navigation namespace

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-04-23 16:15:17 +02:00
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Alexander Bock
ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Alexander Bock
981a13a855 Add new TileProvider to select tile providers based on the date and apply to VIIRS Joint Polar Satellite System (#3350) 2024-07-18 11:18:57 +02:00
Alexander Bock
866aad2187 Global pass over the coding style 2024-06-12 14:51:25 +02:00
Emma Broman
09a40f62dc Rename goToGeo -> jumpToGeo (#3296)
* Remove unused bool argument in globebrowsing functions
* Refactor some globe browsing functions
* Start updating goToGeo function to fade instead of just jump
* Add choice for whtehr to use default or arrival height when flying to a geo2
* Update / add docs for fly-to and go-to functions
* Rename function and add deprecated version of `goToGeo`
2024-06-04 16:18:03 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock
49fc538c17 Rename fmt.h to format.h and enable audio module on default 2024-03-25 23:19:52 +01:00
Alexander Bock
9efbc58c89 Add support for audio playback (#3085)
* Add support for audio playback using the SoLoud library
* Add 3D audio and some comments
* Add documentation and examples
2024-03-24 22:16:21 +01:00
Alexander Bock
3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock
9a6fe47d17 Fix up text formatting as path's no longer get quoted 2024-03-08 20:19:06 +01:00
Alexander Bock
fff6f8a627 General pass for code cleanup 2024-03-08 00:36:54 +01:00
Micah Acinapura
d13974f289 Issue/1250 Increase timeout for gdal http and updated url for loading gibs (#3015)
* increase timeout for gdal http requests and updated url for loading gibs data

* revertingurl change as its no longer redirecting for me

* fixed includes, moved setting long time out to only when we load capabilities

* removed comment

* refix include

closes #1250
2024-02-27 10:31:10 -05:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Emma Broman
19f8e70822 Issue/2955 (#2972)
* Fix up-direction not being correctly computed in all cases (issue #2955)

Might be some precision-related problem going on, not sure. But since we know that up (or North) is always positive z for globes, we can just use that as up-vector directly

* Replace another place where we do the same calculation (although this function is never used)

* Remove unused function
2023-12-08 11:51:23 +01:00
Alexander Bock
57fafe48f4 Rename Lua function to bring them more in line with the function naming in C++ (#2840)
* Rename Lua function to bring them more in line with the function naming in C++
2023-08-05 19:20:08 +02:00
Alexander Bock
1593ab50aa Rename TileLayer to TileProvider classes (closes #2767).
Breaking change in assets that load Layers:
 - DefaultTileLayer -> DefaultTileProvider
 - SingleImageTileLayer -> SingleImageProvider
 - ImageSequenceTileLayer -> ImageSequenceTileProvider
 - SpoutImageTileLayer -> SpoutImageProvider
 - TemporalTileLayer -> TemporalTileProvider
 - TileIndexTileLayer -> TileIndexTileProvider
 - SizeReferenceTileLayer -> SizeReferenceTileProvider
 - ByLevelTileLayer -> TileProviderByLevel
 - ByIndexTileLayer -> TileProviderByIndex
2023-08-03 21:50:25 +02:00
Alexander Bock
14c02a85ce Add the ability to provide a random background image to TileIndexTileProviders 2023-06-06 15:33:13 +02:00
Micah Acinapura
9be88fdea8 added more scale objects and helper file (#2605)
* added more scale objects and helper file

* Update file identifiers

* reworked scale models with node support script

* using url sync for models that need to be updated

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2023-04-15 17:26:38 -04:00
Emma Broman
c714a7f57d Feature/geojson (#2595)
Add the option to add geojson components to globes, from geojson files. One geojson file creates one GeoJsonComponent, which in turn may contain multiple GlobeGeometryFeatures

Geojson is a format that supports points, lines, and polygons. In addition to the basic functionality, extra features have been added that will long-term allow rendering the geometry needed to represent KML files (another format for geospatial geometry data). Here are links to references for both formats:

    Geojson: https://geojson.org/
    KML: https://developers.google.com/kml/documentation/kmlreference

data/assets/examples/geojson includes some example files that I have used for testing. Any geojson file can also be added through drag-n-drop. Note however that you might need to change the AltitudeMode or HeightOffset properties for the feature to be visible.
2023-04-15 11:35:28 +02:00
Alexander Bock
ca916877b2 Adapt the visibility settings for all properties 2023-04-15 09:33:31 +02:00
Alexander Bock
7565a91196 Cleanup lambda expressions and directly address Fadeable properties when adding properties 2023-04-12 23:20:53 +02:00
Joakim Kilby
b219638e29 Add ability to cache globe data using MRFs (#2565)
Enables globe-browsing data to be cached using caching mrf's as it is loaded from the original dataset. Subsequent reads of tiles that have been cached do not query the original dataset but picks it up from the mrf data.
Supports anything that can be used a dataset for a gdal raster but raw images such as JPGs are explicitly disallowed as they lack necessary geotransform data.

Activated on a global scale by setting the following keys in openspace.cfg (ModuleConfigurations/GlobeBrowsing)
MRFCacheEnabled = true,
MRFCacheLocation = "<somepath>",
Settings can be overriden on a per-layer basis by adding the following entries to the layer entity of an asset
CacheSettings = { Enabled = true, Compression = "LERC", BlockSize = 512, Quality=25 },

The following per-layer settings are available and override the global module settings:
Enabled : enable/disable caching for this layer.
Compression: The compression algorithm to use for tile cache storage. (JPEG, PNG, or LERC)
BlockSize: Size of tiles in cache, should be a multiple of 2 although this is not required.
Quality: The quality setting of the JPEG compression (when used)

Note that heightlayers must use LERC compresison and this is the default unless overridden by a layer.
2023-04-11 08:46:25 +02:00
Alexander Bock
375e5c6561 Tracy Update (#2534)
* Update the Tracy repository
* Update submodules
2023-03-01 11:48:21 -07:00
Alexander Bock
79ad5776cc CMake cleanup (#2489)
* CMake Cleanup
* Warning suppression with CEF
* Use SGCT tinyxml in skybrowser for now
* Disable warnings about missing field initializers
2023-02-05 23:24:12 +01:00
Alexander Bock
d52c5dd0d9 Cleanup code with designated initializer lists 2023-01-22 23:01:32 +01:00
Alexander Bock
a2a1554c9a Small cleanup of property documentation 2023-01-09 00:11:58 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock
163ac4dcef Cleanup of mostly asset files
- Fixes for all files
 - constexpr cleanup
 - Cosmetic changes
 - Remove punctuation from the end of messages
2022-07-28 17:21:59 +02:00
Alexander Bock
edb8bc2fdc Cleanup of the globebrowsing support code 2022-07-27 15:57:21 +02:00
Alexander Bock
c1252902c7 More Code Cleanup (#2192)
* Harmonizing ( and ) in function calls
* static const -> constexpr
* Fix compile issue
* Unify shader tab size
* Add _fs and _vs to shaders
* Harmonize spacing
2022-07-26 11:22:41 +02:00
Alexander Bock
9cc4c595a8 Code Cleanup (#2191)
* constexpr const -> constexpr
* const char* -> std::string_view
2022-07-25 15:57:45 +02:00
Ylva Selling
7ec6c247cc Fix comments on PR 2022-07-21 12:38:59 -04:00
Ylva Selling
dbb3b65927 Move calculation of camera geo position from DashboardItemGlobeLocation to a function in GlobeBrowsingModule 2022-06-01 15:07:45 -04:00
Alexander Bock
acfb5d76ef Fix error introduced in the Lua function codegen update that accidentally changed some function names 2022-03-29 17:31:48 +02:00
Alexander Bock
3844df20c9 Feature/codegen lua (#1906)
Adapting Lua functions to new codegen functionality
Improve the documentation itself
Add some styling to generated documentation
Have parameter names for Lua-defined Lua function documentation

Co-authored-by: Emma Broman <emma.broman@liu.se>
2022-03-21 09:05:37 +01:00
Alexander Bock
6a708b1f18 Implement new Spout input methods to Tileproviders and new Renderables (#1901)
* Implement new Spout input methods to Tileproviders and new Renderables

Co-authored-by: Marco Silva <marco@elumenati.com>
2022-03-03 23:47:09 +01:00
Alexander Bock
40ed640bc8 Simplify the function signature of the FactoryManager function 2022-02-12 00:55:15 +01:00
Alexander Bock
30212b6768 Adapt to new auto coding style 2022-02-10 15:20:21 +01:00
Alexander Bock
8b74493d96 Removing the asset_helper file (#1868)
- Remove the asset_helper file and call the onInitialize and onDeinitialize functions directly
 - Small compile fix on Windows
 - Removes the need for the registerIdentifierWithMeta function by automatically doing that for all asset.export statements
 - Allow the passing of either identifiers (as before) or entire tables to the removeSceneGraphNode, removeScreenSpaceRenderable, deleteLayer, removeAction, and export methods. In that case, the Identifier key from the table is extracted and used instead
2022-02-01 23:44:36 +01:00
Alexander Bock
162141f2db Correctly expose missing documentation from a bunch of classes (closes #1856) 2022-01-26 23:41:48 +01:00
Alexander Bock
111397979b Merge pull request #1800 from OpenSpace/feature/tileproviders
Feature/tileproviders
2022-01-14 12:03:52 +01:00
Emma Broman
7c3d6b4c4d Change how moveLayer works slightly, so it is easier to use in a GUI implementation
* "newPosition" is now considered to be the item's new position (index) in the list
* also update the documentation a little
2022-01-12 09:39:12 +01:00
Alexander Bock
cdac4942b6 Merge branch 'master' into feature/tileproviders
# Conflicts:
#	ext/ghoul
#	modules/globebrowsing/src/tileprovider.cpp
#	modules/globebrowsing/src/tileprovider.h
2022-01-01 12:34:42 +01:00
Alexander Bock
d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Alexander Bock
0b496c32a9 TileProvider cleanup 2021-12-30 23:26:10 +01:00