Commit Graph

475 Commits

Author SHA1 Message Date
ElonOlsson
87c1372744 Todays Sun, PR for branch: feature/WSA (#3652)
The merge commit
---------

Co-authored-by: shyamthyagarajan <shyammuralithyagarajan@gmail.com>
Co-authored-by: Lundkvist <alundkvi@ndc.nasa.gov>
Co-authored-by: lundkvistarn <lundkvistarn@live.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-12 09:57:26 -04:00
Alexander Bock
fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +02:00
Alexander Bock
17b182cda3 Add new Kepler data reader for the IAU's Minor Planet Center database files (#3591) 2025-04-14 19:50:05 +02:00
Emma Broman
eb709b830c Small option property cleanup (#3577)
* Notify change listeners

I can't come up with a reason for why we would not want to do this

* Remove the Display Type for OptionProperty (only used in ImGui)

* Replace extra boolean with internal anonymous addOption function

* Tiny refactor

* removed dropdown on a couple of more places

* Update optionproperty.cpp

---------

Co-authored-by: ElonOlsson <olssonelon@gmail.com>
2025-04-02 09:28:11 +02:00
Alexander Bock
28d0a778d5 Add proper motion of stars (#3561) 2025-03-20 09:55:19 +01:00
Alexander Bock
5008aa7cd7 Adding documentation and examples (#3541)
- Make the SourceType and DestinationType parameters required in the DashboardItemAngle
  - Shift the "UTC" string in the DashboardDate from the FormatString to the TimeFormat
  - Make the SourceType and DestinationType parameters for the DashboardItemDistance required
  - Add new "Deltatime" option to the DashboardItemFramerate.  Add examples for the DashboardItemFramerate
  - Fix issue where the inputstate would not update if no option was selected
  - Automatically disable simplification if a unit is requested in the asset for a DashboardItemSimulationIncrement or DashboardItemVelocity
2025-03-14 11:25:26 +01:00
Alexander Bock
fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Alexander Bock
7328a94fb1 TimeFrame specification and status (#3553)
* Makes Translation/Scale/Rotation all able to have a TimeFrame, not just the SpiceRotation.  Add read-only BoolProperty to the TimeFrame that indicates whether the current time is a in the timeframe

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-03-10 13:53:32 +01:00
Alexander Bock
cc395ce340 Update C++ version to 23, add new warnings and the fix them 2025-03-01 15:49:38 +01:00
Alexander Bock
5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock
096363fd06 Make constructors explicit 2025-02-05 23:22:32 +01:00
Emma Broman
d4c4c92a5e Docs for RenderableConstellationLines and RenderableConstellationBounds (#3481)
* Update some of the base documentation to make more sense on the docs page

* Add description for `RenderableConstellationBounds`

* Add description for `RenderableConstellationLines` and names file and labels details

* Remove redundant info from description

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>

* Update constellation bound documentation based on review comments

* Update docs about labels for constellation lines as well

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2025-01-20 15:58:37 +01:00
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Andreas Engberg
84ad4cf373 Make sure we search the the actual file name and not entire path
Caused an issue where it would not "find" the metadata if there was any '.' in any part of the path e.g., `OpenSpace-0.20.1/..`
2024-11-07 10:16:18 +01:00
Alexander Bock
ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Emma Broman
09c192f46e Fix TravelSpeed uniform variables not being set correctly (closes #3381) 2024-08-19 17:47:03 +02:00
Alexander Bock
0707829c7b Reducing compiler warnings (#3341) 2024-06-28 14:16:06 +02:00
Arohdin
c8606c6095 Fix jittering issues for point rendered satellites 2024-06-12 17:19:12 +02:00
Alexander Bock
866aad2187 Global pass over the coding style 2024-06-12 14:51:25 +02:00
ElonOlsson
cf5d00346b Fix bug with flux nodes being all purple. Fixes #3247 2024-06-11 15:35:53 -04:00
Adam Rohdin
945a9a5ca8 Optimization of point and trail rendering (#3287)
Better performance for `RenderableOrbitalKepler` when running `Trails`, `Points` or `Points+Trails`.
Trails optimized by culling non-visible line strips.
Points optimized by changing a lot of calculations from double to float.
2024-06-04 18:37:04 +02:00
Alexander Bock
be6c3f801e Rename Glare->Core and Halo->Glare in RenderableStars 2024-05-24 18:41:04 +02:00
Emma Broman
eb1cfec7bd Renderable property info walkthrough/cleanup (#3226)
A passover of all the Parameters descriptions and PropertyInfo descriptions of the renderables in the code base to make then more consistently and concisely formatted. Also fixed some small issues and added or updated descriptions.

* Start rephrasing propertyinfos for more consistency

* Update eclipse cone propertyinfos

* Update `RenderableFov` property infos and group colors in UI

* `RenderableGalaxy` and `RenderableGlobe`

* Update more descriptions

* Moore descriptions

* Update docs for `RenderableShadowCylinder` and add properties

* `RenderableSkyTarget`, and spheres (`ImageOnline` and `ImageLocal`)

* `RnederableSphericalGrid`, and update line width info of other types, for consistency

* `RenderableStars` and `RenderableTimeVaryingSphere`

* Update more propertyinfos

* Fix inconsistent mentioning of true/false

* change some phrasings for increased consistency

* Update Renderbin description to include Sticker bin and remove extra property

* Rename `OutlineWeight` -> `OutlineWidth`

* Extend description about enable depth test for models

* Clarify what relative values mean for `RenderableNodeArrow`

* Elaborate on `RenderableLabel` size property

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2024-05-20 09:24:40 +02:00
Emma Broman
8ba7f32125 Add view option to renderable orbital kepler outline color (closes #3242) 2024-05-03 08:56:11 +02:00
Emma Broman
da28216daf Add/update documentation and add example of RenderableTravelSpeed (#3224)
* Add/update documentation and add example of `RenderableTravelSpeed`

* Update description based on review comments

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2024-05-02 14:00:09 +02:00
Emma Broman
378c3f3b19 Add missing base class documentation for constellations renderables 2024-05-02 10:55:20 +02:00
Ylva Selling
7757ec7976 Merge pull request #3212 from OpenSpace/issue/2996
Issue/2996 - documentation engine rewrite
2024-04-30 16:11:13 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Adam Rohdin
392a521423 Fix for a lot of trail related stuff (#3193)
Fixes following issues: #625 , #1067 , #1212 , #1472 , #2072 , #2235, #2964
- Trails in `renderableTrailTrajectory` now goes through the spacecraft when using `AccurateTrailPositions`.
- Trail fading controls have been improved for classes using the `renderableTrail` class.
-  `renderableOrbitalKepler` (asteroids/satellites) can now be rendered as both trails and points (or both at once). Solution implements similar functionality/controls as `renderablePointCloud`.
- Default setting for SweepChunking has been changed from `true` to `false` (iterative calculations of `renderableTrailTrajectory`).
- Some fixes related to missing points or off-by-one errors related to trail rendering
2024-04-19 16:51:17 +02:00
Alexander Bock
4476184746 Updating the star rendering (#3164)
* Adding a new star renderer
* Remove PSF-based rendering
2024-04-18 14:13:19 +02:00
Ylva Selling
22c00f2437 Clean up typos and duplicates in documentation 2024-04-08 13:45:01 +02:00
Alexander Bock
4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00
Gene Payne
6146cf16b2 Merge-in all updates from master 2024-03-25 18:35:57 -06:00
Alexander Bock
3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock
9878bfc8f7 Update submodules (#3136)
* Updating Ghoul and SGCT submodules
* Jenkins fixes
2024-03-24 17:22:41 +01:00
Alexander Bock
e0ab7ae1d6 Coding style fixes 2024-03-19 14:49:44 +01:00
Alexander Bock
534f92c485 Second linting pass and adding .clang_tidy file (#3128) 2024-03-18 22:46:17 +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
GPayne
210e17b0bb Replaced std::getline usages with new ghoul::getline 2024-03-04 15:37:21 -07:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock
27608634b2 Remove warnings (#2999)
* Remove warnings for MSVC, GCC, and Clang 17
2024-01-18 09:58:20 +01:00
Emma Broman
640ca3ed49 Feature/point cloud labels from csv (#2989)
* Add ability to load labels directly from CSV/SPECK for PointClouds

* Provide some more docs

* Update the example asset for point clouds

* Make both examples visible

* Some cleanup

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-01-17 13:46:49 +01:00
Emma Broman
c165098cdc Point cloud rewrite (RIP RenderableBillboardsCloud) (#2932)
* Start refactoring billboardscloud renderable

* Remove extra unit computation in geometry shader

* More refactor and fix size parameter not working without colormap (it never did)

* Remove redundant bool in shader

* Divide settings into property owners

* Refactor colormap

* More refactoring (utilize properties for visiblity)

* Remove redundant extra data structures for options

* Move data logic to the colormap settings structure

* Remove confusing correction size properties

* Separate polygon cloud into its own renderable

* Clean up some unused code

* Update some property descriptions

* Split some more code out into functions

* Remove odd and unused "linear filtering"

Should be reimplemented ina better way in a general color map overhaul

* Start refactoring some more properties

* Make color optional and remove redundant color assignments in assets

* Refactor color-parameter input and make range mapping work correctly

* Code cleanup (unused code and fix data types)

* Rename ScaleFactor to ScaleExponent

* Add a scale factor as well, as they're easier to use, and clarify documentation

* Fix faultily renamed scale factors

* Remove confusing multiplication for scale exponent

* Fix problem with points not appearing when _drawElements was set to true

* Move all colormapsettings into its own table in the asset files

* Move scaling/sizing into its own table as well

* Group sizing properties and remove min pixel size limit (was always zero)

* Add some docs and rename a parameter to avoid repetition

* Remove IsExact colormap and add an option to hide outliers

OBS! Still need to update the actual cmap files

* Add property to disable size mapping

* Increase pixel size of polyon texture - reduces jagged edges

* Remove unused points class

* Rename files and billboard class, to make it clearer that it is a point cloud

* Move size mapping into size settings

* Move color map properties out into its own component

* Move color map related computations into the new component

* Add outlier colors, to cover some specific color mapping issues

* Automatically fill parameter options if no colormap parameters were defined

* Move all color-related parameters to under one property owner

* Inlcude changes from matrix maintenance

* Add a checkbox to disable additive blending

* Remove a unused variable in shader

* DO color maping on the graphics card instead of CPU, using a texture

* WIP remove old "Outliers" and start introducing concept of no data colors instead

* Move speck loader to core and divide into a general data loader and a speck specific loader (In preparation for adding CSV support)

* More labelscomponent to core

* Fix a faulty header

* Handle NaN values

* Rename color map component property owner

It's not just the color map, but the settings for the entire mapping

* Hide point with nan value is show missing data is not selected

* Fix labels component documentation after move

* Add option to not provide any texture, and use a sphere generated form the shader

* Don't crash when loading unsupported data formats :)

* Add some TODO comments that should be addressed before merge

* Move renderables from DU module to base, and do some header cleanup

* Move colormapping component to core ad rename it to make it clear that it is not the color map itself

* Add above, below and nan color values to cmap loading

* Remove missing Data value specs in asset (and use belowRange in cmap instead)

* Make warning about wrong color number more verbose

* Add TODO comment about colormap, and actually used color in prev version, to localdwarfs

* WIP: Load CSV files

* Update some property visbility

* Check if chosen parameter options actually exist

* Fix fault column check

* Update example asset to cover more different cases

* Use new asset.resource loading

* Update asset versions (major update)

* Add parent documentation for RenderablePolygonCloud

* Add point cloud example with size scaling and add TODO comment

* Add example with textured points

* Don't blend textured points

* Fix problem with shaders being confused about texture units

* Bring back deepsky points color

* Start implementing more sophisticated datamapping for point data files

* Allow reading datamapping from input dictionary

* Load dataset in constructor instead

Solves problem with color map columns not loading for big datasets when loaded the first time

* Fix crash from reading column value that is interpreted as inf

* Inlcude information about data mapping when caching dataset

Updating the parameters now leads to an updated caching of the data file

* Adapt to tolower update

* Add option to specify columns to exclude in load (for CSV files)

* Start updating some docs

* Add a readonly property that shows the number of data points

* Rename example asset to shorter name

* Add option for not using cache when loading dataset

* Fix some errors in example asset

* Set scaleExponent from max position if not specified

That way the points are always visible, even when no exponent is given

* Restructure and add explanations in example asset

* Add option to not cache labels component data file

* Add example file with labels and units

* Compute fade distances in model coordinates instead of world space (issue #1746)

* Add possiblity to invert fading and add exmaple asset

* Make a separate propertyowner for fading settings

* Update docs

* Add example asset with custom data mapping

* Address some of my own review comments

* Read provided Parameter from asset

* Read ValueRange from asset

* Add example asset for more advanced color mapping settings

* Allow using the same column for two position coordinate axes

* Update src/rendering/colormappingcomponent.cpp

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Update src/data/datamapping.cpp

* Use helper function for tolowercase

* Simplify some std::optional handling, and fix broken assignment from code review fix

* Update data file versions to get updated cmap files

* Include a progress bar to show progress of CSV data loading

* Update csv data-to-float parsing for clang

* Add a description about why `openspace.absPath` is used in the file instead of `asset.resource`

* Apply suggestions from code review

* Apply suggestions from code review

* Add some missing info in documentation

* Place size-related property descriptions next to each other

* Remove the explicitly set renderbin

* Fix overly complicated description

* Fix polygon texture not being used

* Add polygon cloud example

* only bind texture and activate texture unit when required

* Rename alpha to opacity in shader

* Fix value range not loading, and make first parameter in list the default

* Rename Pixel Size property

* Use base 10 for scale exponent instead of base e

* Update src/data/datamapping.cpp

* Update modules/base/shaders/billboardpoint_gs.glsl

* Remove some redundant asset settings (Home label)

* Review comments

* Add TODO comment for localdwarfs asset (Speck file reading problems)

* Oops, forgot part of the comment

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* More code review fixes

* Fix faulty isReady check when labels are included

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* More code review updates

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-12-19 13:20:07 +01:00
Adam Rohdin
c91f7f5a9b RenderableOrbitalKepler trail now the whole trail properly 2023-12-12 17:37:20 +01:00
Emma Broman
c525565e84 Utilize new functions for converting strings to upper/lower case (#2956)
* Utilize new functions for converting strings to upper/lower case

* Adapt to updated file name

* Use new function signature

* Update ghoul
2023-11-28 14:57:01 +01:00
Alexander Bock
7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +01:00
Alexander Bock
49b3cb9eb1 Fix naming of umbral and penumbral shadows 2023-10-06 14:12:18 +02:00
Malin E
ce789fcd22 Feature/matrix maintenance (#2875)
* Split RenderableSphere class into a local and an online sphere

* Make the video sphere derive from the regular sphere

* Make RenderableTimeVaryingSphere derive from RenderableSphere

* Some clean up

* Add general functions for renderable matrix calculations

* Make RenderableSphere and Plane use them

* Fix an issue with the RenderablePlane shader

* Make one function that returns all three types of render matrices

* Make more Renderables use the general matric calculation function

* Make more Renderable use the general matrix function

* Simplify alternative transforms for matrix calculations

* Small clean-up

* Update RenderableModel (again) to use new transform functions

* Make calc all matrix function to return tuple

* Update some more places
2023-09-21 14:22:36 +02:00