CHANGELOG ========== Each version of *shapeViewer* is numbered as **major.branch.minor**, following a semantic versioning convention: - *major* versions introduce significant code and interface changes, breaking compatibility - *branches* add major functionality, while aiming to remain compatible with previous versions - *minor* versions indicate small updates in functions, data, performance, and bug fixes **Short history:** - 2010 v1: first release, with only a command line interface. - 2011 v2: added a full graphical interface to be more user-friendly. This version evolved with the Rosetta mission, adding features as needed by the science team. - 2018 v3: shapeViewer became a more general tool, taking its input data from "mission packages" provided with the software or user-generated. - 2021 v4: new rendering engine to allow multiple ojects to be displayed (e.g. for missions to binary asteroids) ------------------------------------------------------------------------------- VERSION 4 "Multiple bodies" ============================ BRANCH 4.1 "JSON configuration" ------------------------------- Warning: although this branch is not a major version, it does break compatibility with previous releases as the format of configuration files have changed from XML to JSON. :: shapeViewer 4.1.0 - 14/07/2023 ------------------------------ added: - new user data format (lat, lon, angular coverage) - console tool to export this projected data for further analysis - roughness model, calculated when loading a shape - support both square and rectangular field-of-view - mission packages for Hayabusa, Hayabusa2, NEAR, DART, Hera - autosave configuration modified: - debug mode is now started by calling "shapeViewer.exe debug" instead of modifying a config file - converted all configuration files from XML to JSON - shapeViewer automatically detects mission packages and populates menus accordingly - switch to a new mission in one click, shapeViewer will remember your last choice - updated existing mission packages to the new format - secondary objects oriented as if rotationally locked to primary at startup - pre-calculated gravity/slopes included in mission packages - removed the check-for-update function, current code not compatible with HTTPS server - removed user-defined screenshot size. Will be reintroduced with future FITS renderer fixed: - shadows sometimes not rendering at startup - image resolution not showing - front plane clipping issues at close distances BRANCH 4.0 "Multiple bodies" ---------------------------- :: shapeViewer 4.0.3 - 05/07/2022 ------------------------------ modified: - Hera/Didymos/Dimorphos kernels updated to latest ESA planning kernels (v1.3.0) - Updated documentation fixed: - Cleaned up typos in the command line tools :: shapeViewer 4.0.2 - 21/06/2022 ------------------------------ modified: - Hera/Didymos/Dimorphos kernels updated to latest ESA planning kernels (v1.2.0) - Tools that are currently being upgraded (topo profile, painting brush) are not visible anymore in the menu - Screenshot generation is now much faster - Screenshot resolution can be modified with the command line tools - Cleaned up typos and outdated functions in the command line tools fixed: - gravity vectors using the wrong color scale - data file crashing the program when trying to load an out-of-bound facet id :: shapeViewer 4.0.1 - 16/02/2022 ------------------------------ modified: - Hera/Didymos/Dimorphos kernels manually updated to correct spin axis orientation :: shapeViewer 4.0.0 - 30/05/2021 ------------------------------ added: - support for multiple objects, in preparation for the DART/Hera missions - Hera is now the default mission scenario - objects can be selected with either right-click, the "View" menu, or with the command "activeobj" - individual objects can be replaced with other shapes while program is running - colormaps automatically adjust to the active object - rewrote all documentation modified: - New mission config files. This breaks compatibility with earlier shapeViewer versions - removed the dependency in the OpenIL/DevIL library. No change for the user, faster screenshots - shadow calculations now 100x faster, activated by default but can be disabled from "View" menu - image projection also 100x faster than before - reorganized items in menu bar - rewrote the movie mode and added an interactive progress bar - movie mode set to the full mission epoch by default - console can now be started from the graphical interface (and still with keys [=] or [F12]) - "info" command will display information on the currently selected object - harmonized syntax of many commands - upgraded SPICE to version N0066 - "spin" function removed from GUI (available in console, see user manual) - performance improvement on map projection and graticule funcions fixed: - text labels sometimes not checking properly against depth buffer. This is an issue with FLTK 1.4, fixed by reverting to latest FTLK stable (v1.3.6) - viewing geometry not reset properly when loading new mission package - error in display of surface area ------------------------------------------------------------------------------- VERSION 3 "Multiple missions support" ====================================== BRANCH 3.0 "Mission packages" ----------------------------- :: shapeViewer 3.0.4 - 22/02/2021 ------------------------------ added: - "exportgrat" command to write a grid of the current graticule to a file - "exportgrav" command to export the surface gravity in spherical coordinates - a progress bar is now displayed for the more expensive calculations (shadows, image projection, gravity) - if gravity/slopes data exists, selecting a point with right-click in "Coordinates" mode will display the local gravity/slopes value modified: - upgraded FLTK to version 1.4, no change for the user fixed: - no more loss of precision when loading gravity data from a file :: shapeViewer 3.0.3 - 01/09/2019 ------------------------------ added: - "turbo" colormap is the new default (see Google AI blog) https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html modified: - wireframe set to black when background color is white - UP and DOWN keys in console navigate history of commands (instead of both commands+results) fixed: - incorrect position of a camera footprint in the field of view of another camera. Non-aligned boresights are now properly modeled. :: shapeViewer 3.0.2 - 27/07/2018 ------------------------------ added: - support for Hayabusa 2 mission (config files not publicly available for now) - "activecolor" command to define the color of selected lines/facets - "paintfov" command to paint the facets currently in the FOV with the active color - "outlinefov" command to mark the projected contour of the current FOV (EXPERIMENTAL) - "exportfov" command to write facets currently in FOV to a data file - "clean" command to reset the colors modified: - "export" command renamed to "export3d" - "clim" command now works also when displaying angles (i, e, phase) fixed: - corrected syntax for loading "facet" data in this help file - wrong FOV definition in Lutetia package - typos in user manual :: shapeViewer 3.0.1 - 26/06/2018 ------------------------------ added: - "sun" command to define the subsolar point - "clim" command to define the boundaries of the current color map modified: - simplified output format of topographic profiles - improved loading of large files, and startup time fixed: - sequence files with no textures are now rendered properly once again :: shapeViewer 3.0.0 - 16/03/2018 ------------------------------ added: - new concept of "mission packages", which let the user define and load various mission scenarios - info command displays more information about the shape - loading of multiple data types, to easily mark regions or landmarks - "Help" menu now offers an option to check for shapeViewer updates on the server - support of OBJ files modified: - Removed external CLI interface as it was quite broken and very rarely used. - reorganized menu bar, moved "Set time" action to "View" menu - console now accepts all characters you can type, upper and lower case - [Esc] key disabled in console, so that you do not close shapeViewer when attempting to leave the console fixed: - no more out of memory when loading large models (up to ~1 million facets). - proper freeing of memory upon exiting the software ------------------------------------------------------------------------------- VERSION 2 "GUI" ================ BRANCH 2.9 "Embedded console and usability improvements" -------------------------------------------------------- :: shapeViewer 2.9.6 - 30/11/2017 ------------------------------ fixed: corrected the wrong projection of some WAC images fixed: "real colors" options appeared toggled off in GUI :: shapeViewer 2.9.5 - 15/11/2017 ------------------------------ modified: updated SPICE kernels to the official ESA 1.1.0 release modified: default 3d shape is now the DLR SHAP7 model (Preusker et al, A&A, 2017) modified: time/distance view now displays distances spacecraft-target center and spacecraft-surface modified: the coordinates tool now displays the altitude of the selected point :: shapeViewer 2.9.4 - 04/10/2017 ------------------------------ fixed: some textured facets not showing in map mode modified: updated SPICE kernels to the official ESA 1.0.0 release added: graticule resolution can now be modified in map view as well as in 3D view added: "info" command to get some information from the shape file added: "export" command to export textured shape as an OBJ file :: shapeViewer 2.9.3 - 10/07/2017 ------------------------------ fixed: "set time" dialog now disabled in movie mode fixed: "set time" dialog will remember time of last frame after exiting movie mode fixed: scalebar length is correct even if target not intersecting boresight modified: complete rewrite of the graticule function. It is now faster, and customizable modified: similar rewrite of the topographic profile tool, now guaranteed to catch all facets between two points modified: 'View Axes' now shows both positive (solid line) and negative (dashed line) axes modified: replaced gravity model with Cheng 2012. Slower but more accurate modified: some operations parallelized with openmp, slight gain of performance modified: slopes displayed in colors by default, use CLI to change colormap added: inline help in command line interface added: various colormaps accessible from the console :: shapeViewer 2.9.2 - 11/05/2017 ------------------------------ Release 42 ! 2500 days since version 1.0 :) fixed: improved and sped-up raytracing. Shadows are now very accurate fixed: shift camera with arrow keys when time is set fixed: improved panning and zooming in all map modes modified: shapeViewer remembers the last valid time set modified: improved display of graticule, some issues with concavity remain to be fixed added: implemented Kavrayskiy VII conformal map projection added: on screen display of sub-Sun and sub-S/C coordinates when Sun or S/C display is activated added: many new commands in console :: shapeViewer 2.9.1 - 31/03/2017 ------------------------------ fixed: image projection sometimes repeating the texture fixed: error message appearing when displaying camera footprint in movie mode modified: map view can be zoomed in/out and panned with the mouse :: shapeViewer 2.9.0 - 26/03/2017 ------------------------------ fixed: application closing when exiting movie mode fixed: improved rendering added: generic colorbar for all modes (including (3d view) added: read basic PLY files (binary, little endian, with or without vertex color information) added: console interface embedded in shapeViewer (toggled with [F12]) console implements new displays and options (fps, scalebar, vertex color, edges, ...) console is undocumented in this version and highly experimental BRANCH 2.8 "Image projection/texturing" --------------------------------------- :: shapeViewer 2.8.0 - 25/01/2017 ------------------------------ added: Rosetta images can now be overlaid on the shape model, after time and camera have been set This release supports only .JPG, .PNG, and .BMP images. added: "Facet" files can now contain data which can be displayed in 3D modified: Rewrote part of the camera code to have more intuitive interaction in all views modified: If selected, camera footprint now showing at all levels of zoom modified: shapeViewer application is now resizable modified: Time can be input with hours/min/sec separated by ':' or '.' modified: updated compiler to gcc 5.3 modified: updated SPICE library to allow processing of fast kernels (NAIF Types 6 and 19) BRANCH 2.7 "Public release" --------------------------- :: shapeViewer 2.7.1 - 12/10/2016 ------------------------------ modified: Harmonized console output modified: "Surface Area" tool now exports also facet normal vectors. :: shapeViewer 2.7.0 - 04/10/2016 ------------------------------ First public release Restricted time set to 2014-07-01T12:00 to 2016-09-30T12:00 Shape provided by default is latest NavCam model modified: CLI now uses the right FOV BRANCH 2.6 "CLI interface" -------------------------- :: shapeViewer 2.6.5 - 20/09/2016 ------------------------------ added: Rosetta NavCam FOV [Ctrl+r], and footprint [Alt+r] added: label to footprint drawing modified: frustum culling between distance/100 and distance*10 instead of [1km, 1000km]. :: shapeViewer 2.6.4 - 11/09/2016 ------------------------------ modified: Viewing geometry/time preserved when loading new shape. :: shapeViewer 2.6.3 - 02/09/2016 ------------------------------ added: FAC "Far away camera": 90deg FOV camera for full scene view. Activate with [Ctrl+f] modified: CLI interface now always render in FAC mode. :: shapeViewer 2.6.2 - 15/06/2016 ------------------------------ added: NAC and WAC footprints can be toggled with shortcuts [Alt+n], [Alt+w]. fixed: Rendering used ortho projection instead of perspective, which created a lens distortion artifact. modified: The perspective view may distort the rendering when resizing the window. As resizing was rarely used, it is now disabled. :: shapeViewer 2.6.1 - 07/06/2016 ------------------------------ added: use keys {shift+ X,Y,Z] to view and illuminate shape from axes -X, -Y, -Z. modified: updated SPICE library to use Type 19 kernels (much faster) modified: drawing pipeline. Colors/shading calculated only when needed, and not each frame. modified: better raytracing, not 100% accurate yet, but good and fast enough to be used. :: shapeViewer 2.6.0 - 23/03/2016 - "CLI" -------------------------------------- added: first implementation of a command line interface added: option to hide labels when exporting view fixed: camera footprints not correct when zooming modified: increased line thickness for camera footprints BRANCH 2.5 "Sequence mode, and usability improvements" ------------------------------------------------------ :: shapeViewer 2.5.10 - 17/08/2015 - "Perihelion 2" ------------------------------------------------ fixed: map overlay not aligned with shape when setting time fixed: movie not looping back to beginning fixed: shape reseting orientation when exiting movie :: shapeViewer 2.5.9 - 13/08/2015 - "Perihelion" --------------------------------------------- fixed: distance not correct in camera class :: shapeViewer 2.5.8 - 17/06/2015 - "Better slopes" ------------------------------------------------ improved: slope calculations added: display of slopes values in black and white fixed: display of slopes values in legend :: shapeViewer 2.5.7 - 08/05/2015 - "Improved Pointing" ---------------------------------------------------- fixed: rendering implementation introduced an offset in apparent pointing added: simplified gravity model (2 central masses) to speed up calculation, future versions will let you chose between different models :: shapeViewer 2.5.6 - 04/03/2015 - "Angles and facets" ---------------------------------------------------- added: display of incident/emergent/phase angles with [F2, F3, F4] added: export of angles as one RGB image (R=i, G=e, B=phase) added: export area now saves all selected facets in a file added: such list of facets can be reloaded improved: facet selection :: shapeViewer 2.5.5 - 14/11/2014 - "We have landed !" --------------------------------------------------- fixed: kernel keyword being ignored in config file fixed: when exporting view, filename gets writen on the image added: display of incident, emergent, phase angles :: shapeViewer 2.5.4 - 31/10/2014 - "Halloween public release" ----------------------------------------------------------- Unified interactive display and movie mode Both modes will now show the correct pointing and illumination Unified rendering loop, merged all SPICE calls in one function Interactive mode displays distance and camera Id when time is set Added configuration file to change startup options Debug console can now be activated from this config file Added display of incident, emergent, and phase angles Harmonized keyboard shortcuts :: shapeViewer 2.5.3 - 28/07/2014 - "SHAP1" ---------------------------------------- Added graticule :: shapeViewer 2.5.2 - 15/07/2014 - "RPMOD7" ----------------------------------------- Added new shape model Change rotation rate with [ and ] Fixed bug in rotation :: shapeViewer 2.5.1 - 26/02/2014 - "MPS release" ---------------------------------------------- Added graticules to maps Harmonized keyboard shortcuts 3D view can now be shifted with the arrow keys :: shapeViewer 2.5.0 - 23/09/2013 - "Sequences" -------------------------------------------- Modified movie mode. Possibility to save frames, by default in a directory called "screenshots", automatically created. Generates screenshots from a given sequence, provided as an external xml file. Reference frames are now defined in SPICE meta-kernel. Possibility to load a predefined sequence from an XML file. In that case screenshots are automatically saved. BRANCH 2.4 "COSSIM" ------------------- :: shapeViewer 2.4.1 - 20/12/2012 ------------------------------ Added raytracing rendering to the photometric model selection menu. This feature is very demanding for the CPU and can take a long time for a model with more than a few thousand facets. The rendering uses only the LAMBERT photometric model for the raytracing, and does not calculate reflections. It does, however, provide the right feel for illumination conditions. :: shapeViewer 2.4.0 - 02/11/2012 - "COSSIM" ------------------------------ Added COSSIM (COma Structures SIMulator) to shapeViewer. The user can now define active regions in an external XML file, and visualize the structures created by the activity in real time (movie mode). The example XML file (COSSIM.xml) contains a description of the format. BRANCH 2.3 "Movie Mode" ----------------------- :: shapeViewer 2.3.0 - 09/07/2012 ------------------------------ Added a "Movie mode" which animates a trajectory based on SPICE kernels. BRANCH 2.2 "Photometric models" ------------------------------- :: shapeViewer 2.2.4 - 26/06/2012 ------------------------------ Projection bug corrected in version 2.2.1 had not been propagated in subsequent versions... Added application icon. :: shapeViewer 2.2.3 - 25/06/2012 - "Sliders" ------------------------------ Rewrote definition of photometric models, parameters for Lunar-Lambert and Minnaert functions can be set interactively. :: shapeViewer 2.2.2 - 22/06/2012 - "NAC & WAC" ------------------------------ Added more photometric functions Added display of NAC and WAC FoV. :: shapeViewer 2.2.1 - 23/04/2012 ------------------------------ Corrected bug in equatorial projection :: shapeViewer 2.2.0 - 12/04/2012 - "Photometry" ------------------------------ Added Lommel-Seeliger photometric model, and options to select different models BRANCH 2.1 "SPICE" ------------------ :: shapeViewer 2.1.0 - 05/04/2012 ------------------------------ SPICE library is now integrated in shapeViewer, no need for spiceData.exe anymore. Code migrated to the CVS server. BRANCH 2.0 "GUI" ---------------- :: shapeViewer 2.0.2 - 22/02/2012 ------------------------------ Added distances and areas measurements. :: shapeViewer 2.0.1 - 23/01/2012 ------------------------------ Finished to implement extraction of topographic profile. :: shapeViewer 2.0.0 - 29/09/2011 ------------------------------ Rewriting of the interface. shapeViewer has now a GUI written with FLTK. ------------------------------------------------------------------------------- VERSION 1 ========= :: shapeViewer 1.6 - 22/03/2011 ---------------------------- implemented gravity model :: shapeViewer 1.5 - 22/02/2011 ---------------------------- performance optimization :: shapeViewer 1.4 - 21/11/2010 ---------------------------- added calculation of solar elevation, selection of facets, areas measurements :: shapeViewer 1.3 - 09/09/2010 ---------------------------- added conversion to cylindrical maps :: shapeViewer 1.2 - 20/08/2010 ---------------------------- added SPICE support, and texture mapping :: shapeViewer 1.1 - 20/07/2010 ---------------------------- can read both ".shape" and ".ver" file formats :: shapeViewer 1.0 - 07/07/2010 ---------------------------- 1st version.