1. 21 Nov, 2013 1 commit
  2. 19 Nov, 2013 3 commits
  3. 18 Nov, 2013 11 commits
  4. 17 Nov, 2013 4 commits
    • Christian Schulte zu Berge's avatar
      Further work on OptimizedRaycaster: · 148ab63c
      Christian Schulte zu Berge authored
       * Finished implementation of empty space skipping
       * Renamed Adaptive Step Size to Intersection Refinement (which is more precise in terms of what it's doing)
      148ab63c
    • Artur Grunau's avatar
      Enable the Vis module by default · d0f1cdb1
      Artur Grunau authored
      No modules were previously enabled by default. As a result, the
      application wasn't very useful in the default configuration.
      
      Enable the Vis module by default to make the CAMPVis application
      functional out of the box. Additional modules can be marked as default
      in the future using the mechanism (SET_DEFAULT_MODULES) introduced in
      this commit.
      
      Closes #144
      d0f1cdb1
    • Christian Schulte zu Berge's avatar
    • Artur Grunau's avatar
      Implement a dependency system for CAMPVis modules · e1551c26
      Artur Grunau authored
      There used to be no way to specify what other modules each module
      required in order to work. This led to either compilation or linker
      errors that were often not easy to understand.
      
      Introduce a new module-level CMake variable, ThisModDependencies, that a
      module can set in its CMake file to indicate what other modules need to
      be enabled for it to compile and work properly. If defined,
      ThisModDependencies should be a list of strings — the names of required
      modules.
      
      Once all available modules have been analysed, the collected dependency
      information is used to activate (if necessary) the dependencies of every
      enabled module. Transitive and circular dependencies are already
      supported in this initial version of our module dependency system.
      
      Unfortunately, when a module gets enabled in the CMake GUI, its
      dependencies are only resolved once the Configure button is clicked and
      CMake runs again. This is a limitation of CMake in that all
      configuration happens offline and it's not possible to react to value
      changes immediately.
      
      References #144
      e1551c26
  5. 16 Nov, 2013 1 commit
    • Artur Grunau's avatar
      Make the regex used to detect pipelines more permissive · f51cf570
      Artur Grunau authored
      Automatic pipeline registration would fail for certain valid ways of
      declaring a pipeline:
      - if the base pipeline class was qualified with a namespace
      - if the pipeline inherited from additional classes
      - if the declaration followed coding conventions different than CAMPVis'
        (e.g. no space before :, { on a new line)
      
      Make the regex used to detect pipelines more permissive to handle the
      above cases.
      
      Closes #233
      f51cf570
  6. 08 Nov, 2013 1 commit
  7. 02 Nov, 2013 5 commits
    • Artur Grunau's avatar
      MdiDockableWindow: new MDI helper class · 6d4262de
      Artur Grunau authored
      MdiDockableWindow has been extracted from MdiDockArea to simplify and
      better structure our MDI implementation. The new class takes care of
      creating all necessary representations (docked and floating window) of
      widgets added to MdiDockArea and seamlessly switching between them in
      response to the user's actions (window dragging, key presses, etc).
      
      MdiDockableWindow improves our MDI implementation in two ways:
      - MdiFloatingWindow and MdiDockedWindow instances shouldn't be
        interacted with directly; they're created and disposed of as needed,
        and therefore can't be used as a handle to access and modify an MDI
        window's state; MdiDockableWindow, in contrast, fits this role
        perfectly; it manages both representations of an MDI window, and as
        a result stays around as long as at least one of them is needed
      - managing state transitions of many sub-windows directly in MdiDockArea
        was becoming clumsy as signal mapping and dynamic properties were
        required; having a separate widget that only has to control the state
        of one sub-window makes the code related to state transitions much
        simpler
      6d4262de
    • Artur Grunau's avatar
      Properly hide docked MDI subwindows that got closed · 8126df4d
      Artur Grunau authored
      Closing a docked MDI subwindow caused it to disappear if the MDI area
      was in SubWindowView mode, but its inactive tab could still be seen in
      TabbedView mode.
      
      If a docked MDI subwindow gets closed, hide it by removing it from the
      MDI area.
      8126df4d
    • Artur Grunau's avatar
      Add a "Tools" submenu to the main menu · dd068eea
      Artur Grunau authored
      The "Tools" submenu lists all standard docked tools offered by the
      application (i.e. "Pipeline tree", "Pipeline properties", and "Log
      viewer"), and lets the user toggle their visibility.
      dd068eea
    • Artur Grunau's avatar
      Initial implementation of a main menu · c8ef752b
      Artur Grunau authored
      This commit adds a simple main menu to the application. For the time being
      it only has 2 submenus, "File" and "Visualizations". The latter is created
      by MdiDockArea and lets users manage the visibility and placement of
      canvas windows.
      c8ef752b
    • Artur Grunau's avatar
      348c710e
  8. 30 Oct, 2013 4 commits
  9. 29 Oct, 2013 4 commits
  10. 28 Oct, 2013 3 commits
  11. 26 Oct, 2013 1 commit
    • Artur Grunau's avatar
      Fix a double free in LogHighlighter's destructor · 88d2e9a1
      Artur Grunau authored
      In its destructor, LogHighlighter first of all deleted its filter regex
      explicitly, and then called `setFilterRegExp(0)`, triggering a second —
      this time somewhat implicit — delete. If the filter regex pointer was
      not NULL, this caused the application to crash due to a double-free.
      
      Fix this error by not invoking `setFilterRegExp` in LogHighlighter's
      destructor; the explicit delete performs the same cleanup as
      `setFilterRegExp` anyways.
      88d2e9a1
  12. 25 Oct, 2013 1 commit
  13. 16 Oct, 2013 1 commit