From 50a456b87f828701f20200a0b6ecfac794bcd239 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Fri, 9 Oct 2020 17:32:30 +0200 Subject: [PATCH] Issue/1299 (#1312) Change profile file format from a custom one to JSON --- apps/OpenSpace/ext/sgct | 2 +- .../constellations/constellation_data.csv | 85 -- data/profiles/default.profile | 52 +- ext/ghoul | 2 +- include/openspace/scene/profile.h | 39 +- src/CMakeLists.txt | 2 + src/engine/openspaceengine.cpp | 10 +- src/scene/profile.cpp | 1222 +++++++---------- src/util/time.cpp | 3 +- .../profile/basic/additional_scripts.profile | 8 + tests/profile/basic/assets.profile | 8 + tests/profile/basic/camera_gotogeo.profile | 9 + .../basic/camera_gotogeo_altitude.profile | 10 + .../basic/camera_navstate_full.profile | 13 + .../basic/camera_navstate_no_aim.profile | 12 + .../basic/camera_navstate_no_pitch.profile | 12 + .../basic/camera_navstate_no_up.profile | 12 + .../basic/camera_navstate_no_yaw.profile | 12 + tests/profile/basic/deltatimes.profile | 10 + tests/profile/basic/keybindings.profile | 29 + tests/profile/basic/mark_nodes.profile | 6 + tests/profile/basic/meta_empty.profile | 11 + tests/profile/basic/meta_full.profile | 11 + tests/profile/basic/meta_no_author.profile | 10 + .../profile/basic/meta_no_description.profile | 10 + tests/profile/basic/meta_no_license.profile | 10 + tests/profile/basic/meta_no_name.profile | 10 + tests/profile/basic/meta_no_url.profile | 10 + tests/profile/basic/meta_no_version.profile | 10 + tests/profile/basic/modules.profile | 19 + tests/profile/basic/properties.profile | 35 + tests/profile/basic/time_absolute.profile | 7 + tests/profile/basic/time_relative.profile | 7 + .../profile/basic_additional_scripts.profile | 7 - tests/profile/basic_assets.profile | 7 - tests/profile/basic_camera_gotogeo.profile | 5 - .../basic_camera_gotogeo_altitude.profile | 5 - tests/profile/basic_camera_navstate.profile | 5 - tests/profile/basic_deltatimes.profile | 9 - tests/profile/basic_keybindings.profile | 7 - tests/profile/basic_mark_nodes.profile | 7 - tests/profile/basic_meta.profile | 10 - tests/profile/basic_modules.profile | 7 - tests/profile/basic_properties.profile | 10 - tests/profile/basic_time_absolute.profile | 5 - tests/profile/basic_time_relative.profile | 5 - .../basic_version_one_component.profile | 2 - .../basic_version_two_components.profile | 2 - .../camera/camera_gotogeo_altitude.profile | 10 + .../camera/gotogeo_missing_anchor.profile | 9 + .../camera/gotogeo_missing_latitude.profile | 9 + .../camera/gotogeo_missing_longitude.profile | 9 + .../camera/gotogeo_wrongtype_altitude.profile | 10 + .../camera/gotogeo_wrongtype_anchor.profile | 10 + .../camera/gotogeo_wrongtype_latitude.profile | 10 + .../gotogeo_wrongtype_longitude.profile | 10 + .../camera/navstate_missing_anchor.profile | 12 + .../camera/navstate_missing_frame.profile | 12 + .../camera/navstate_missing_position.profile | 12 + .../navstate_missing_position_x.profile | 13 + .../navstate_missing_position_y.profile | 13 + .../navstate_missing_position_z.profile | 13 + .../camera/navstate_missing_up_x.profile | 13 + .../camera/navstate_missing_up_y.profile | 13 + .../camera/navstate_missing_up_z.profile | 13 + .../camera/navstate_wrongtype_aim.profile | 13 + .../camera/navstate_wrongtype_anchor.profile | 13 + .../camera/navstate_wrongtype_frame.profile | 13 + .../camera/navstate_wrongtype_pitch.profile | 13 + .../navstate_wrongtype_position.profile | 13 + .../navstate_wrongtype_position_x.profile | 13 + .../navstate_wrongtype_position_y.profile | 13 + .../navstate_wrongtype_position_z.profile | 13 + .../camera/navstate_wrongtype_up.profile | 13 + .../camera/navstate_wrongtype_up_x.profile | 13 + .../camera/navstate_wrongtype_up_y.profile | 13 + .../camera/navstate_wrongtype_up_z.profile | 13 + .../camera/navstate_wrongtype_yaw.profile | 13 + .../error/camera/wrongvalue_type.profile | 6 + .../error/deltatimes/wrongtype_value.profile | 6 + .../keybinding/missing_documentation.profile | 12 + .../error/keybinding/missing_guipath.profile | 12 + .../error/keybinding/missing_islocal.profile | 12 + .../error/keybinding/missing_key.profile | 12 + .../error/keybinding/missing_name.profile | 12 + .../keybinding/missing_script - Copy.profile | 13 + .../error/keybinding/missing_script.profile | 12 + .../wrongtype_documentation.profile | 13 + .../keybinding/wrongtype_guipath.profile | 13 + .../keybinding/wrongtype_islocal.profile | 13 + .../error/keybinding/wrongtype_name.profile | 13 + .../error/keybinding/wrongtype_script.profile | 13 + .../error/keybinding/wrongvalue_key.profile | 13 + .../keybinding/wrongvalue_modifier.profile | 29 + .../meta/wrong_parameter_value_type.profile | 6 + .../profile/error/module/missing_name.profile | 8 + .../wrongtype_loadedInstruction.profile | 10 + .../error/module/wrongtype_name.profile | 10 + .../wrongtype_notLoadedInstruction.profile | 10 + .../error/property/missing_name.profile | 9 + .../error/property/missing_name_value.profile | 8 + .../error/property/missing_value.profile | 9 + .../error/property/wrongtype_name.profile | 10 + .../error/property/wrongtype_value.profile | 10 + .../error/property/wrongvalue_type.profile | 10 + .../error/time/absolute_missing_value.profile | 6 + tests/profile/error/time/missing_type.profile | 5 + .../error/time/relative_missing_value.profile | 6 + .../error/time/too_few_parameters.profile | 6 + .../error/time/wrongvalue_type.profile | 7 + .../error/version/missing_major.profile | 3 + .../error/version/missing_minor.profile | 3 + .../error/version/wrongtype_major.profile | 3 + .../version/wrongtype_major_minor.profile | 3 + .../error/version/wrongtype_minor.profile | 3 + .../error_asset_too_few_parameters.profile | 5 - .../error_asset_too_many_parameters.profile | 5 - ..._camera_gotogeo_too_few_parameters.profile | 5 - ...camera_gotogeo_too_many_parameters.profile | 5 - ...camera_navstate_too_few_parameters.profile | 5 - ...amera_navstate_too_many_parameters.profile | 5 - ...ameter_too_few_components_position.profile | 5 - ...ng_parameter_too_few_components_up.profile | 5 - ...meter_too_many_components_position.profile | 5 - ...avstate_wrong_parameter_type_pitch.profile | 5 - ..._navstate_wrong_parameter_type_yaw.profile | 5 - ...eter_wrong_component_type_position.profile | 5 - ..._parameter_wrong_component_type_up.profile | 5 - ..._camera_wrong_parameter_value_type.profile | 5 - ...tatimes_wrong_parameter_value_type.profile | 8 - ...rror_keybinding_too_few_parameters.profile | 5 - ...ror_keybinding_too_many_parameters.profile | 5 - ...binding_wrong_parameter_type_local.profile | 5 - ...ybinding_wrong_parameter_value_key.profile | 7 - ...ing_wrong_parameter_value_modifier.profile | 7 - ...or_meta_wrong_parameter_value_type.profile | 5 - .../error_missing_separator_line.profile | 4 - .../error_module_too_few_parameters.profile | 5 - .../error_module_too_many_parameters.profile | 5 - .../error_property_too_few_parameters.profile | 5 - ...error_property_too_many_parameters.profile | 5 - ...roperty_wrong_parameter_value_type.profile | 5 - .../error_time_too_few_parameters.profile | 5 - .../error_time_too_many_parameters.profile | 5 - ...or_time_wrong_parameter_value_type.profile | 5 - .../profile/error_two_camera_sections.profile | 8 - tests/profile/error_two_meta_sections.profile | 18 - tests/profile/error_two_time_sections.profile | 8 - .../error_two_version_sections.profile | 5 - .../profile/error_unrecognized_header.profile | 7 - .../error_version_malformed_component.profile | 2 - tests/profile/error_version_not_first.profile | 7 - .../error_version_too_many_components.profile | 2 - tests/profile/integration/full_test.profile | 116 ++ tests/profile/integration_full_test.profile | 53 - ...ntegration_full_test_permutation_1.profile | 54 - ...gration_full_test_permutation_base.profile | 53 - tests/profile/minimal.profile | 5 +- tests/test_profile.cpp | 1125 +++++++++------ tests/test_spicemanager.cpp | 1 - tests/test_timequantizer.cpp | 2 +- 161 files changed, 2366 insertions(+), 1766 deletions(-) delete mode 100644 data/assets/scene/milkyway/constellations/constellation_data.csv create mode 100644 tests/profile/basic/additional_scripts.profile create mode 100644 tests/profile/basic/assets.profile create mode 100644 tests/profile/basic/camera_gotogeo.profile create mode 100644 tests/profile/basic/camera_gotogeo_altitude.profile create mode 100644 tests/profile/basic/camera_navstate_full.profile create mode 100644 tests/profile/basic/camera_navstate_no_aim.profile create mode 100644 tests/profile/basic/camera_navstate_no_pitch.profile create mode 100644 tests/profile/basic/camera_navstate_no_up.profile create mode 100644 tests/profile/basic/camera_navstate_no_yaw.profile create mode 100644 tests/profile/basic/deltatimes.profile create mode 100644 tests/profile/basic/keybindings.profile create mode 100644 tests/profile/basic/mark_nodes.profile create mode 100644 tests/profile/basic/meta_empty.profile create mode 100644 tests/profile/basic/meta_full.profile create mode 100644 tests/profile/basic/meta_no_author.profile create mode 100644 tests/profile/basic/meta_no_description.profile create mode 100644 tests/profile/basic/meta_no_license.profile create mode 100644 tests/profile/basic/meta_no_name.profile create mode 100644 tests/profile/basic/meta_no_url.profile create mode 100644 tests/profile/basic/meta_no_version.profile create mode 100644 tests/profile/basic/modules.profile create mode 100644 tests/profile/basic/properties.profile create mode 100644 tests/profile/basic/time_absolute.profile create mode 100644 tests/profile/basic/time_relative.profile delete mode 100644 tests/profile/basic_additional_scripts.profile delete mode 100644 tests/profile/basic_assets.profile delete mode 100644 tests/profile/basic_camera_gotogeo.profile delete mode 100644 tests/profile/basic_camera_gotogeo_altitude.profile delete mode 100644 tests/profile/basic_camera_navstate.profile delete mode 100644 tests/profile/basic_deltatimes.profile delete mode 100644 tests/profile/basic_keybindings.profile delete mode 100644 tests/profile/basic_mark_nodes.profile delete mode 100644 tests/profile/basic_meta.profile delete mode 100644 tests/profile/basic_modules.profile delete mode 100644 tests/profile/basic_properties.profile delete mode 100644 tests/profile/basic_time_absolute.profile delete mode 100644 tests/profile/basic_time_relative.profile delete mode 100644 tests/profile/basic_version_one_component.profile delete mode 100644 tests/profile/basic_version_two_components.profile create mode 100644 tests/profile/error/camera/camera_gotogeo_altitude.profile create mode 100644 tests/profile/error/camera/gotogeo_missing_anchor.profile create mode 100644 tests/profile/error/camera/gotogeo_missing_latitude.profile create mode 100644 tests/profile/error/camera/gotogeo_missing_longitude.profile create mode 100644 tests/profile/error/camera/gotogeo_wrongtype_altitude.profile create mode 100644 tests/profile/error/camera/gotogeo_wrongtype_anchor.profile create mode 100644 tests/profile/error/camera/gotogeo_wrongtype_latitude.profile create mode 100644 tests/profile/error/camera/gotogeo_wrongtype_longitude.profile create mode 100644 tests/profile/error/camera/navstate_missing_anchor.profile create mode 100644 tests/profile/error/camera/navstate_missing_frame.profile create mode 100644 tests/profile/error/camera/navstate_missing_position.profile create mode 100644 tests/profile/error/camera/navstate_missing_position_x.profile create mode 100644 tests/profile/error/camera/navstate_missing_position_y.profile create mode 100644 tests/profile/error/camera/navstate_missing_position_z.profile create mode 100644 tests/profile/error/camera/navstate_missing_up_x.profile create mode 100644 tests/profile/error/camera/navstate_missing_up_y.profile create mode 100644 tests/profile/error/camera/navstate_missing_up_z.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_aim.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_anchor.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_frame.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_pitch.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_position.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_position_x.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_position_y.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_position_z.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_up.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_up_x.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_up_y.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_up_z.profile create mode 100644 tests/profile/error/camera/navstate_wrongtype_yaw.profile create mode 100644 tests/profile/error/camera/wrongvalue_type.profile create mode 100644 tests/profile/error/deltatimes/wrongtype_value.profile create mode 100644 tests/profile/error/keybinding/missing_documentation.profile create mode 100644 tests/profile/error/keybinding/missing_guipath.profile create mode 100644 tests/profile/error/keybinding/missing_islocal.profile create mode 100644 tests/profile/error/keybinding/missing_key.profile create mode 100644 tests/profile/error/keybinding/missing_name.profile create mode 100644 tests/profile/error/keybinding/missing_script - Copy.profile create mode 100644 tests/profile/error/keybinding/missing_script.profile create mode 100644 tests/profile/error/keybinding/wrongtype_documentation.profile create mode 100644 tests/profile/error/keybinding/wrongtype_guipath.profile create mode 100644 tests/profile/error/keybinding/wrongtype_islocal.profile create mode 100644 tests/profile/error/keybinding/wrongtype_name.profile create mode 100644 tests/profile/error/keybinding/wrongtype_script.profile create mode 100644 tests/profile/error/keybinding/wrongvalue_key.profile create mode 100644 tests/profile/error/keybinding/wrongvalue_modifier.profile create mode 100644 tests/profile/error/meta/wrong_parameter_value_type.profile create mode 100644 tests/profile/error/module/missing_name.profile create mode 100644 tests/profile/error/module/wrongtype_loadedInstruction.profile create mode 100644 tests/profile/error/module/wrongtype_name.profile create mode 100644 tests/profile/error/module/wrongtype_notLoadedInstruction.profile create mode 100644 tests/profile/error/property/missing_name.profile create mode 100644 tests/profile/error/property/missing_name_value.profile create mode 100644 tests/profile/error/property/missing_value.profile create mode 100644 tests/profile/error/property/wrongtype_name.profile create mode 100644 tests/profile/error/property/wrongtype_value.profile create mode 100644 tests/profile/error/property/wrongvalue_type.profile create mode 100644 tests/profile/error/time/absolute_missing_value.profile create mode 100644 tests/profile/error/time/missing_type.profile create mode 100644 tests/profile/error/time/relative_missing_value.profile create mode 100644 tests/profile/error/time/too_few_parameters.profile create mode 100644 tests/profile/error/time/wrongvalue_type.profile create mode 100644 tests/profile/error/version/missing_major.profile create mode 100644 tests/profile/error/version/missing_minor.profile create mode 100644 tests/profile/error/version/wrongtype_major.profile create mode 100644 tests/profile/error/version/wrongtype_major_minor.profile create mode 100644 tests/profile/error/version/wrongtype_minor.profile delete mode 100644 tests/profile/error_asset_too_few_parameters.profile delete mode 100644 tests/profile/error_asset_too_many_parameters.profile delete mode 100644 tests/profile/error_camera_gotogeo_too_few_parameters.profile delete mode 100644 tests/profile/error_camera_gotogeo_too_many_parameters.profile delete mode 100644 tests/profile/error_camera_navstate_too_few_parameters.profile delete mode 100644 tests/profile/error_camera_navstate_too_many_parameters.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_too_few_components_position.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_too_few_components_up.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_too_many_components_position.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_type_pitch.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_type_yaw.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_wrong_component_type_position.profile delete mode 100644 tests/profile/error_camera_navstate_wrong_parameter_wrong_component_type_up.profile delete mode 100644 tests/profile/error_camera_wrong_parameter_value_type.profile delete mode 100644 tests/profile/error_deltatimes_wrong_parameter_value_type.profile delete mode 100644 tests/profile/error_keybinding_too_few_parameters.profile delete mode 100644 tests/profile/error_keybinding_too_many_parameters.profile delete mode 100644 tests/profile/error_keybinding_wrong_parameter_type_local.profile delete mode 100644 tests/profile/error_keybinding_wrong_parameter_value_key.profile delete mode 100644 tests/profile/error_keybinding_wrong_parameter_value_modifier.profile delete mode 100644 tests/profile/error_meta_wrong_parameter_value_type.profile delete mode 100644 tests/profile/error_missing_separator_line.profile delete mode 100644 tests/profile/error_module_too_few_parameters.profile delete mode 100644 tests/profile/error_module_too_many_parameters.profile delete mode 100644 tests/profile/error_property_too_few_parameters.profile delete mode 100644 tests/profile/error_property_too_many_parameters.profile delete mode 100644 tests/profile/error_property_wrong_parameter_value_type.profile delete mode 100644 tests/profile/error_time_too_few_parameters.profile delete mode 100644 tests/profile/error_time_too_many_parameters.profile delete mode 100644 tests/profile/error_time_wrong_parameter_value_type.profile delete mode 100644 tests/profile/error_two_camera_sections.profile delete mode 100644 tests/profile/error_two_meta_sections.profile delete mode 100644 tests/profile/error_two_time_sections.profile delete mode 100644 tests/profile/error_two_version_sections.profile delete mode 100644 tests/profile/error_unrecognized_header.profile delete mode 100644 tests/profile/error_version_malformed_component.profile delete mode 100644 tests/profile/error_version_not_first.profile delete mode 100644 tests/profile/error_version_too_many_components.profile create mode 100644 tests/profile/integration/full_test.profile delete mode 100644 tests/profile/integration_full_test.profile delete mode 100644 tests/profile/integration_full_test_permutation_1.profile delete mode 100644 tests/profile/integration_full_test_permutation_base.profile diff --git a/apps/OpenSpace/ext/sgct b/apps/OpenSpace/ext/sgct index 3d3835c38c..f54b2fc6f0 160000 --- a/apps/OpenSpace/ext/sgct +++ b/apps/OpenSpace/ext/sgct @@ -1 +1 @@ -Subproject commit 3d3835c38c8b87972f406ed44af1b5b2d48b1600 +Subproject commit f54b2fc6f01f42bb0158734a3cfc565c3d5cf281 diff --git a/data/assets/scene/milkyway/constellations/constellation_data.csv b/data/assets/scene/milkyway/constellations/constellation_data.csv deleted file mode 100644 index 7c02f310de..0000000000 --- a/data/assets/scene/milkyway/constellations/constellation_data.csv +++ /dev/null @@ -1,85 +0,0 @@ -Data about Constellations columns are: group, name, x, y, z, scale, imageName, rotX, rotY, rotZ, centerStar -normal,Ori,Orion,-550.8742,-259.3621,-188.9620,1.5,Ori.png,1.128407,1.058407,1.668407,HD37128 -zodiac,Tau,Taurus,-18.7277,-0.3175,-6.9092,1.2,Tau.png,1.198407,0.908407,1.378407,Aldebran -zodiac,Ari,Aries,-13.2892,9.4519,-11.9378,0.8,Ari.png,0.668407,0.538407,0.518407,Hamal -zodiac,Gem,Gemini,-362.5493,-102.2245,79.4030,0.85,Gem.png,-0.731593,2.268407,-0.451593,Mekbuda -zodiac,Cnc,Cancer,-30.9209,-16.4584,22.6601,0.8,Cnc.png,-1.151593,1.888407,-1.041593,HD74442 -zodiac,Leo,Leo,-17.9030,-13.2719,31.4196,1.33,Leo.png,-0.131593,2.448407,0.418407,HD89484 -zodiac,Vir,Virgo,36.5809,-35.1877,62.3341,1.5,Vir.png,-0.371593,3.138407,0.518407,HD116658 -zodiac,Lib,Libra,17.5393,-6.2768,14.5916,1.0,Lib.png,-1.011593,3.138407,1.318407,HD130819 -zodiac,Sco,Scorpius,137.4378,-19.4456,37.3606,1.2,Sco.png,1.698407,-1.001593,-1.751593,HD148478 -zodiac,Sgr,Sagittarius,66.2304,11.1498,-14.8095,1.2,Sgr.png,1.728407,-1.321593,-1.751593,HD175191 -zodiac,Cap,Capricornus,32.9799,20.0621,-29.3945,1.3,Cap.png,1.158407,-0.881593,-0.561593,HD200761 -zodiac,Aqr,Aquarius,86.5090,149.4078,-155.8102,1.2,Aqr.png,-2.921593,-2.391593,-2.551593,-2.511593 -zodiac,Psc,Pisces,-28.0235,45.3150,-76.8893,1.6,Psc.png,0.458407,-0.001593,0.618407,HD4656 -northern,Uma,Ursa Major,-12.0503,7.1931,19.8974,1.6,UMa.png,0.748407,2.398407,0.658407,HD95418 -northern,Dra,Draco,-1.4340,20.6566,23.5098,1.9,Dra.png,0.658407,-2.541593,1.058407,HD137759 -southern,Ant,Antila,-0.2233,-103.8908,42.7940,1.3,Ant.png,1.848407,0.198407,-3.141593,HD90610 -southern,Crv,Corvus,8.0442,-16.8858,19.3984,1.1,Crv.png,2.198407,-0.041593,-2.221593,HD108767 -southern,Cet,Cetus,-28.7960,7.2425,-73.6693,1.5,Cet.png,0.238407,0.368407,0.688407,HD11353 -southern,Cha,Chameleon,53.5121,-108.3624,-38.1807,1.1,Cha.png,-1.801593,2.738407,0.448407,HD92305 -northern,Cam,Camelopardalis,-304.8155,179.0620,71.1454,1.7,Cam.png,2.128407,1.228407,1.478407,HD31910 -equatorial,Aql,Aquila,11.7741,9.7467,-1.6418,1.0,Aql.png,-2.601593,-2.511593,-3.141593,HD182640 -southern,Aps,Apus,31.6370,-32.5620,-16.5786,1.1,Aps.png,-1.691593,-2.281593,0.838407,HD149324 -northern,Lyn,Lynx,-98.3174,4.4830,67.2289,1.2,Lyn.png,1.688407,1.768407,1.668407,HD70272 -southern,Phe,Phoenix,5.0172,-4.2096,-22.8088,1.5,Phe.png,-3.141593,3.138407,-3.141593,HD6595 -northern,Cyg,Cygnus,78.7445,375.2440,12.4995,1.4,Cyg.png,1.668407,-0.931593,-0.261593,HD194093 -southern,Cen,Centaurus,20.1398,-33.1830,9.5915,2.7,Cen.png,-1.291593,3.088407,0.458407,HD110304 -northern,Aur,Auriga,-12.3062,3.8595,1.0302,1.5,Aur.png,1.378407,1.108407,1.178407,HD34029 -northern,Peg,Pegasus,0.9791,32.5947,-27.7339,2.42,Peg.png,0.918407,-0.221593,-0.191593,HD218045 -southern,Hya,Hydra,-2.9043,-33.5496,25.8962,3,Hya.png,-0.531593,2.838407,0.368407,HD93813 -southern,Oct,Octans,22.0434,-27.8601,-24.3108,1.0,Oct.png,-0.911593,0.398407,1.198407,HD214846 -southern,Nor,Norma,34.9251,-17.5643,0.0068,1.0,Nor.png,-1.631593,-2.421593,1.298407,HD146686 -southern,Mus,Musca,48.8888,-79.2952,-10.2828,1.25,Mus.png,-1.871593,3.138407,0.358407,HD109668 -southern,Hyi,Hydrus,3.2767,-4.7183,-4.7829,1.1,Hyi.png,2.438407,-3.141593,-2.381593,HD2151 -northern,Lac,Lacerta,-6.0878,30.5794,-3.6064,1.0,Lac.png,-1.521593,-2.391593,3.138407,HD213558 -equatorial,Lep,Lepus,-212.6297,-184.4909,-132.1156,1.0,Lep.png,-1.801593,-2.351593,-0.861593,HD36673 -southern,Lup,Lupus,129.1166,-102.2983,33.3251,1.2,Lup.png,-1.191593,-2.391593,0.798407,HD129056 -southern,Men,Mensa,2.4149,-8.5586,-4.8892,1.0,Men.png,-2.101593,-2.781593,0.828407,HD43834 -southern,Mic,Microscopium,51.0335,11.1671,-44.3692,1.0,Mic.png,0.728407,-0.831593,-0.561593,HD199951 -equatorial,Mon,Monoceros,-93.0725,-66.8909,8.6548,1.2,Mon.png,-1.331593,1.988407,-0.891593,HD55185 -southern,Pav,Pavo,4.4549,-2.5959,-3.2739,1.3,Pav.png,-2.391593,-2.171593,1.648407,HD190248 -southern,Ind,Indus,133.6149,-53.5569,-115.9552,1.5,Ind.png,-2.031593,-1.491593,1.758407,HD198700 -northern,LMi,Leo Minor,-23.3948,-2.5770,38.0756,1.1,LMi.png,-3.141593,0.478407,-2.201593,HD90537 -northern,Lyr,Lyra,2.8086,6.7630,2.5555,1.0,Lyr.png,-1.831593,-2.091593,3.141500,HD172167 -northern,Her,Hercules,14.0526,14.9773,12.5478,1.3,Her.png,-1.511593,-1.811593,2.288407,HD156164 -southern,Gru,Grus,18.6528,-3.2893,-24.6602,1.3,Gru.png,-3.141593,-2.511593,-2.901593,HD209952 -southern,Crt,Crater,1.5886,-43.9831,40.3390,1.3,Crt.png,-0.521593,3.140000,0.588407,HD98430 -northern,Del,Delphinus,14.8599,24.6150,-8.0550,1.2,Del.png,1.308407,-0.951593,-0.241593,HD196524 -southern,Dor,Dorado,-0.6460,-9.3172,-6.9654,1.2,Dor.png,2.118407,1.768407,-2.901593,HD33262 -northern,Equ,Equuleus,27.7363,41.7071,-27.4371,1.2,Equ.png,-1.801593,-2.511593,2.558407,HD202447 -southern,Eri,Eridanus,-37.5153,-23.5231,-65.6368,2.1,Eri.png,0.128407,0.698407,0.998407,HD20720 -southern,For,Fornax,-14.0351,-17.8282,-46.5514,1.4,For.png,3.138407,2.678407,-2.351593,HD17652 -southern,Hor,Horologium,2.1021,-27.1310,-40.5136,1.2,Hor.png,-3.141593,2.468407,-2.191593,HD16920 -southern,Pyx,Pyxis,-66.7424,-248.9639,26.0445,1.2,Pyx.png,1.838407,-1.651593,2.708407,HD74575 -southern,Ret,Reticulum,2.8130,-37.2904,-33.2644,1.5,Ret.png,1.998407,2.188407,-2.591593,HD27256 -northern,Sge,Sagitta,44.3886,70.9446,-7.6264,1.2,Sge.png,-0.741593,-2.231593,2.108407,HD189319 -southern,Scl,Sculptor,21.6545,-6.8861,-166.5240,1.3,Scl.png,-0.071593,-0.221593,0.638407,HD2429 -southern,Sct,Scutum,48.8939,21.5158,-0.1629,1.2,Sct.png,1.188407,-1.271593,-0.971593,HD171443 -southern,Tuc,Tucana,35.3950,-20.2535,-45.2324,1.1,Tuc.png,-0.351593,-0.161593,0.308407,HD211416 -northern,Tri,Triangulum,-26.6263,21.9119,-16.2254,1.2,Tri.png,1.168407,0.218407,0.558407,HD13161 -southern,TrA,Triangulum Australe,96.2283,-76.4459,-33.5257,1.2,TrA.png,-1.991593,-2.491593,1.128407,HD150798 -southern,Tel,Telescopium,72.3444,-14.5016,-20.0248,1.2,Tel.png,-0.461593,-1.731593,0.298407,HD169467 -southern,Ara,Ara,164.9273,-75.6246,-35.3100,1.1,Ara.png,-1.381593,-2.131593,1.048407,HD157244 -southern,Cae,Caelum,-6.0961,-13.7926,-13.3392,1.0,Cae.png,-0.661593,0.948407,0.418407,HD29875 -southern,CMa,Canis Major,-1.7693,-1.9125,-0.4074,1.3,CMa.png,1.128407,1.048407,1.878407,HD48915 -northern,CMi,Canis Minor,-2.8348,-1.8906,0.7881,1.2,CMi.png,2.538407,1.138407,-3.141593,HD61421 -southern,Vol,Volans,37.6000,-182.7856,-62.6559,1.2,Vol.png,-2.441593,1.988407,-0.351593,HD68520 -northern,UMi,Ursa Minor,-11.3527,27.2100,25.1835,1.3,UMi.png,-2.491593,-0.581593,-2.381593,HD131873 -northern,And,Andromdeda,-32.8276,43.3946,-27.8475,1.6,And.png,-2.021593,-3.141593,-2.521593,HD6860 -northern,Boo,Bootes,11.2468,14.9864,30.4945,2.0,Boo.png,-3.141593,-0.601593,-2.361593,HD135722 -northern,Vul,Vulpecula,46.7540,77.7780,5.3953,1.1,Vul.png,-2.301593,-2.061593,-3.141593,HD131873 -northern,CVn,Canes Venatici,-3.1198,5.7935,33.1368,1.3,CVn.png,0.148407,3.138407,0.428407,HD112413 -southern,Cir,Circinus,11.4255,-11.6937,-1.3129,1.0,Cir.png,1.448407,-0.391593,-2.211593,HD128898 -northern,Com,Coma Berenices,1.9257,-1.2062,12.2465,1.4,Com.png,3.138407,-0.051593,-2.711593,HD114378 -southern,CrA,Corona Australis,146.1322,-4.7492,-53.7124,1.0,CrA.png,-3.141593,-2.021593,-3.141593,HD178345 -northern,CrB,Corona Borealis,33.5737,32.0314,52.9729,1.3,CrB.png,-3.141593,-0.601593,-2.271593,HD143107 -northern,Cas,Cassiopeia,-36.3073,59.4424,-7.6926,1.4,Cas.png,-1.431593,3.128407,-2.331593,HD3712 -northern,Cep,Cepheus,-2.8178,14.4985,2.3848,1.7,Cep.png,-1.331593,-2.291593,-2.931593,HD203280 -southern,Car,Carina Vela Puppis,14.1325,-188.6018,-42.2785,2.0,Car.png,2.078407,1.048407,-3.111593,HD71129 -northern,Col,Columba,-11.2568,-20.5973,-11.9895,1.0,Col.png,2.518407,1.358407,-2.981593,HD39425 -northern,Per,Perseus,-139.8202,79.8063,-16.2631,1.3,Per.png,-1.751593,2.428407,-2.411593,HD22928 -northern,Oph,Ophiuchus,127.9419,14.0822,56.2015,3.2,Oph.png,2.178407,-0.781593,-1.681593,HD149757 -southern,PsA,Piscis Austrinus,99.9977,47.6679,-199.6345,1.0,PsA.png,3.138407,-2.541593,-2.881593,HD214748 -southern,Cru,Crux,49.3509,-85.0446,-0.6223,1.1,Cru.png,1.718407,0.048407,-2.741593,HD108248 -southern,Pic,Pictor,-4.5417,-45.5649,-27.1768,1.0,Pic.png,2.568407,2.138407,-2.081593,HD39523 diff --git a/data/profiles/default.profile b/data/profiles/default.profile index cedf4ad6d7..d9cd9a8631 100644 --- a/data/profiles/default.profile +++ b/data/profiles/default.profile @@ -1,22 +1,30 @@ -#Version -1.0 - -#Asset -base -scene/solarsystem/planets/earth/earth earthAsset -scene/solarsystem/planets/earth/satellites/satellites - -#Property -setPropertyValue {earth_satellites}.Renderable.Enabled false - -#Time -relative -1d - -#Camera -goToGeo earthAsset.Earth.Identifier 58.5877 16.1924 20000000 - -#MarkNodes -Earth -Mars -Moon -Sun +{ + "version": { + "major": 1, + "minor": 0 + }, + "assets": [ + "base", + "scene/solarsystem/planets/earth/earth", + "scene/solarsystem/planets/earth/satellites/satellites" + ], + "properties": [ + { + "type": "setPropertyValue", + "name": "{earth_satellites}.Renderable.Enabled", + "value": "false" + } + ], + "time": { + "type": "relative", + "value": "-1d" + }, + "camera": { + "type": "goToGeo", + "anchor": "Earth", + "latitude": 58.5877, + "longitude": 16.1924, + "altitude": 20000000 + }, + "mark_nodes": [ "Earth", "Mars", "Moon", "Sun" ] +} diff --git a/ext/ghoul b/ext/ghoul index f568acc5fe..6e9bb084a1 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit f568acc5fee29a5b0c654f183baddcb7a061e7a6 +Subproject commit 6e9bb084a147d85faf7f28980251752d6dae5f98 diff --git a/include/openspace/scene/profile.h b/include/openspace/scene/profile.h index c70df31be3..eccf6a0dd7 100644 --- a/include/openspace/scene/profile.h +++ b/include/openspace/scene/profile.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +41,14 @@ namespace scripting { struct LuaLibrary; } class Profile { public: + struct ParsingError : public ghoul::RuntimeError { + enum class Severity { Info, Warning, Error }; + + explicit ParsingError(Severity severity, std::string msg); + + Severity severity; + }; + // Version struct Version { int major = 0; @@ -47,20 +56,16 @@ public: }; struct Module { std::string name; - std::string loadedInstruction; - std::string notLoadedInstruction; + std::optional loadedInstruction; + std::optional notLoadedInstruction; }; struct Meta { - std::string name; - std::string version; - std::string description; - std::string author; - std::string url; - std::string license; - }; - struct Asset { - std::string path; - std::string name; + std::optional name; + std::optional version; + std::optional description; + std::optional author; + std::optional url; + std::optional license; }; struct Property { enum class SetType { @@ -87,13 +92,13 @@ public: }; Type type; - std::string time; + std::string value; }; struct CameraNavState { static constexpr const char* Type = "setNavigationState"; std::string anchor; - std::string aim; + std::optional aim; std::string referenceFrame; glm::dvec3 position; std::optional up; @@ -109,9 +114,9 @@ public: std::optional altitude; }; using CameraType = std::variant; - + Profile() = default; - Profile(const std::vector& content); + explicit Profile(const std::string& content); std::string serialize() const; std::string convertToScene() const; @@ -147,7 +152,7 @@ private: Version version = CurrentVersion; std::vector modules; std::optional meta; - std::vector assets; + std::vector assets; std::vector properties; std::vector keybindings; std::optional