1. 06 Sep, 2021 2 commits
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(core): make data library load more robust · cd3a8613
      Flavien BRIDAULT-LOUCHEZ authored
      The deduction of the library path failed when share was already present in the main module path. The problem already occurred with module paths themselves, so the regex is now shared between these two places.
      cd3a8613
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(io): dicomXplorer crashes when display mesh preview · 8bec599b
      Flavien BRIDAULT-LOUCHEZ authored
      This MR fixes a crash upon selecting mesh in `dicomXplorer`.
      The problem was simply that old configurations used in this software were deleted.
      
      **It does not display the mesh in an activity.** It simply fixes the crash and re-enables the preview.
      
      Closes #723
      Merge branch '723-io-dicomxplorer-crahes-when-display-mesh-preview' into 'dev'
      See merge request sight/sight!580
      8bec599b
  2. 03 Sep, 2021 4 commits
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(ui): preferences path is broken · 1e0a6b6c
      Flavien BRIDAULT-LOUCHEZ authored
      The application name in the preferences file path is deduced from the profile name attribute. During the generation, this property was not generated properly. This fixes it.
      
      Closes #760
      Merge branch '760-ui-preferences-path-is-broken' into 'dev'
      See merge request sight/sight!613
      1e0a6b6c
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(viz): add main resource path only once · ba444dc0
      Flavien BRIDAULT-LOUCHEZ authored
      The main resource path was added each time we create the OgreRoot.  When closing and opening a single Ogre window, the path was present twice, and Ogre failed to initialize because it loads resources in double.
      ba444dc0
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(ui): fixed several crashes in DicomXplorer · b3cc888c
      Flavien BRIDAULT-LOUCHEZ authored
      The XML configuration was outdated. All VRRender mentions  were replaced. The model series preview was restored.
      b3cc888c
    • Didier WECKMANN's avatar
      feat(io): serialize most objects · fffdab4b
      Didier WECKMANN authored
      The serialization is done through two classes: SessionSerializer, SessionsDeserializer, and many .hpp with two functions: `serialize()` and `deserialize`, depending of the type of data object to serialize.
      
      For exemple, the serializers for meshes and images are coded respectively in `Mesh.hpp` and `Image.hpp`. They are good samples to demonstrate how it is possible to use a well known format to serialize objects. The Sight images / meshes are converted into VTK format using Sight helpers and are then saved with the now "standard" VTK way using `vtkXMLImageDataWriter` for image and `vtkXMLPolyDataWriter` for meshes.
      
      As a side notes, since the files are stored in a zstd compressed zip file, and since VTK doesn't provide any way to use an output streams, the VTK writers are configured as such (image and mesh are equivalent):
      
      ```cpp
      vtkWriter->SetCompressorTypeToNone();
      vtkWriter->SetDataModeToBinary();
      vtkWriter->WriteToOutputStringOn();
      vtkWriter->SetInputData(vtkImage);
      ```
      
      This allow us to compress only one time and use fast zstd. Since the compression level can be set independently, some test need to be done to find the best efficiency. For now it is the "default" mode that is used, but better compression ratio at the expense of compression speed (not decompression!) is also possible.
      
      The drawback for using `WriteToOutputStringOn()` is that the complete data need to be written in memory before being able to serialize it. Shame on VTK for not providing an easy way to use c++ streams...
      
      Most serializers are far more simple as we only write/read values into a Boost property tree, a bit like before, but without the complexity of "atoms" tree. The version management is also quite simple, we write a integer in the tree and read it back. It is up to the user to add the `if(version < 666)...`
      
      
      Merge branch '739-io-serialize-most-objects' into 'dev'
      Closes #739
      See merge request sight/sight!594
      fffdab4b
  3. 02 Sep, 2021 3 commits
  4. 01 Sep, 2021 6 commits
  5. 31 Aug, 2021 2 commits
    • Flavien BRIDAULT-LOUCHEZ's avatar
      fix(core): Tuto01DataServiceBasicCpp launch · 2bd34f00
      Flavien BRIDAULT-LOUCHEZ authored
      The source image loaded at start in Tuto01DataServiceBasicCpp was changed with the one used in Tuto02DataServiceBasic. This fixes the launch of this tutorial.
      
      Closes #617
      Merge branch '617-core-fix-tuto02dataservicebasic' into 'dev'
      See merge request sight/sight!608
      2bd34f00
    • Flavien BRIDAULT-LOUCHEZ's avatar
      refactor(core): use data::ptr everywhere · a826993d
      Flavien BRIDAULT-LOUCHEZ authored
      This is the final merge request that generalizes the usage of data::ptr instead of IService::get*/getLocked*/getWeak*.
      
      The deprecated `DynamicType` class was also removed, which really helps to clear the build log from many warnings.
      
      Last, Ogre runtime deprecation warnings were also processed, which implied to refactor a bit the material and shader code.
      
      Closes #505
      Merge branch '505-io-remove-usage-of-deprecated-getinput-getoutput-getinout' into dev
      See merge request sight/sight!611
      a826993d
  6. 30 Aug, 2021 2 commits
  7. 28 Aug, 2021 2 commits
  8. 27 Aug, 2021 1 commit
  9. 26 Aug, 2021 1 commit
  10. 25 Aug, 2021 1 commit
  11. 24 Aug, 2021 4 commits
  12. 23 Aug, 2021 7 commits
  13. 21 Aug, 2021 5 commits