1. 23 Jul, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Added a field _pipelineName to AutoEvaluationPipeline. This allows to... · 12f36262
      Christian Schulte zu Berge authored
      Added a field _pipelineName to AutoEvaluationPipeline. This allows to implement AutoEvaluationPipeline::getName() so that AutoEvaluationPipeline is no longer abstract. Consequently, the LuaPipeline is no longer needed.
      
      This change was also used to change the AbstractPipeline constructor signature to pass-by-reference instead of pass-by-pointer for the pipeline's DataContainer. This presents the semantics more clearly since the DataContainer must not be 0.
      12f36262
  2. 20 Jul, 2015 1 commit
  3. 16 Jul, 2015 1 commit
  4. 08 Jul, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Refactored pipeline and processor registration: · 42cbc355
      Christian Schulte zu Berge authored
      PipelineRegistry and ProcessorRegistry are now part of campvis-core. Furthermore, moved all calls to PipelineRegistrar<>/SmartProcessorRegistrar<> to a separate cpp file for each module. This way all registrations are at one central location and including headers in external projects does not lead to double registration.
      
      This commit also removes the obsolete columbia and manualsegmentation modules.
      42cbc355
  5. 06 Jul, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Fixed registration module: · 24d8c9e1
      Christian Schulte zu Berge authored
      * fixed ITK module CMake file so that it no longer breaks NLOpt
      * Introducing RegistrationSliceView processor rendering the slice of the moving image with respect to the fixed image for registration purposes.
      * Overhauled NloptRegistration pipeline to the updated CAMPVis API. Now again, working like a charm.
      24d8c9e1
  6. 10 Apr, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Major fix for AMD GPUs. · 083a730a
      Christian Schulte zu Berge authored
      Apparently, glBindAttribLocation() does not work as planned with AMD GPUs. Therefore, all Shaders yielded black images. Replaced all attribute locations with hard-coded ones in the vertex shader and removed corresponding convenience function from cgt::Shader.
      
      refs #382
      083a730a
  7. 23 Oct, 2014 2 commits
  8. 05 May, 2014 1 commit
  9. 22 Apr, 2014 1 commit
  10. 07 Apr, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Moved invalidation level from AbstractProperty to AbstractProcessor: · 293d43dd
      Christian Schulte zu Berge authored
      To now, each property hat an _invalidationLevel field that was evaluated by processors when the property had changed in order to determine what has to be done. However, since properties could also be owned by other classes, this design was semantically misleading.
      Therefore, it was removed with this commit and replaced by the invalidation map of each processor. Now, this per-processor mapping of property -> invalidation level is managed by the processor itself. Furthermore, the invalidation level is no longer setup during property creation but during AbstractProcessor::addProperty(), which also makes much more sense.
      
      ATTENTION: Due to these intrusive API changes, the code of all processors and other classes handling properties needs to be changed. As a reminder, the implementation of addProperty() also now takes a reference instead of a pointer, so that old code does no longer compile.
      
      refs #542
      293d43dd
  11. 03 Mar, 2014 1 commit
  12. 08 Jan, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Refactoring AbstractProcessor::process() for clearer semantics and better and... · cd9d3feb
      Christian Schulte zu Berge authored
      Refactoring AbstractProcessor::process() for clearer semantics and better and more uniform handling of invalidation levels:
       * AbstractProcessor::process() now calls updateShader(), updateProperties() and/or updateResult() with respect to the current invalidation level
       * each processor shall no longer override process() but the updateXYZ() methods, at minimum updateResult()
       * AbstractProcessor::process() takes care of (un)locking the processor itself (no need to do this from the outside anymore)
      
      Further implicit changes:
       * Removed redundant HasPropertyCollection::updateProperties()
      cd9d3feb
  13. 13 Dec, 2013 1 commit
  14. 28 Nov, 2013 1 commit