1. 07 Aug, 2014 2 commits
  2. 27 Jul, 2014 5 commits
    • Christian Schulte zu Berge's avatar
      Introducing sigslot::concurrent_pointer_list<T> a list-like container allowing... · 8671e65c
      Christian Schulte zu Berge authored
      Introducing sigslot::concurrent_pointer_list<T> a list-like container allowing thread-safe bidirectional iteration, insertion and removal of elements. Single constraint is that the element type must be a pointer type (or at least have pointer semantics) and never be 0. This is neat, as this class offers exactly what we need for a lock-free sigslot implementation.
      
      Updated sigslot implementation to use concurrent_pointer_list for connection storage. Hence, we can get rid of the locking mechanisms, which got completely removed.
      
      Since this simplified template definitions for sigslot, many campvis files needed to be adapted (i.e. removing the <> from has_slots<> and signal0<>).
      
      refs #384
      
      Conflicts:
      	core/classification/genericgeometrytransferfunction.h
      	core/eventhandlers/trackballnavigationeventlistener.h
      	core/pipeline/processordecoratormasking.h
      	core/properties/propertycollection.h
      	core/properties/transferfunctionproperty.h
      	core/tools/opengljobprocessor.h
      8671e65c
    • Christian Schulte zu Berge's avatar
      Started working on Issue implementing asynchroneous signals with signalslot: · 30e14065
      Christian Schulte zu Berge authored
      * Moved campvis::Runnable interface to tgt namespace (since it's needed by sigslot, which only depends on tgt)
      * Introduced sigslot::signal_manager singleton class that will manage the dispatching of signals in its own thread
      * Started proof-of-concept implementation of asynchroneous signals for signal0<> and signal1<>. Both classes define their own signal_handleN deriving from _signal_handle_base, which defines the signal to dispatch.
      
      Proof-of-concept implementation seems to work so far.
      
      refs #384
      
      Conflicts:
      	core/tools/opengljobprocessor.h
      	ext/tgt/runnable.h
      
      Conflicts:
      	application/CMakeLists.txt
      	core/tools/opengljobprocessor.h
      30e14065
    • Christian Schulte zu Berge's avatar
      Introducing C++11 support switch for <thread> and <condition_variable>. · c488b267
      Christian Schulte zu Berge authored
      If you need one of these two C++11 headers, include <ext/threading.h> instead, which will use C++11 headers if present or TBB's compatibility layer otherwise.
      
      closes #567
      c488b267
    • Christian Schulte zu Berge's avatar
    • Christian Schulte zu Berge's avatar
  3. 15 Jul, 2014 3 commits
  4. 14 Jul, 2014 1 commit
  5. 23 Jun, 2014 2 commits
  6. 16 Jun, 2014 2 commits
  7. 05 May, 2014 1 commit
  8. 27 Apr, 2014 1 commit
  9. 24 Apr, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Further work on new image representation conversion API: · dbe4f8e5
      Christian Schulte zu Berge authored
      Removed all code fragments in core code that was ITK specific (conversion from/to GenericImageRepresentationItk). The functionality was replaced by the new conversion functors in imagerepresentationconversionitk.h and imagerepresentationconversionitk.cpp.
      
      refs #553
      refs #474
      dbe4f8e5
    • Christian Schulte zu Berge's avatar
      Started refactoring the ImageData conversion API: · 0ac65c4f
      Christian Schulte zu Berge authored
      Conversions between image representations are now managed at one central place: The ImageRepresentationConverter singleton uses the proven and established registration through static template instantiation idiom to register conversion functors during static initialization. Therefore, the ConversionFunctionRegistrar registers a conversion functor to a target representation type.
      
      As proof-of-concept implementation, the former conversion API through T::tryConvertFrom, where T is a specific image representation, has been converted to the new API and merged into imagerepresentationconversioncore.h providing a conversion functor for each campvis-core representation.
      
      Furthermore, implemented conversion from ImageRepresentationGL to GenericImageRepresentationLocal<>.
      
      refs #553
      refs #474
      0ac65c4f
  10. 23 Apr, 2014 4 commits
  11. 25 Mar, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Removed AbstractImage::getSubImage() interface since it's implementation in... · 25b1737c
      Christian Schulte zu Berge authored
      Removed AbstractImage::getSubImage() interface since it's implementation in all subclasses is far from trivial and therefore was not done thoroughly. Since the functionality was not used anywhere so far, it was removed to avoid unexperienced users trying to use it and getting confused if it does not work as intended.
      Could be reimplemented in extra processors for special cases.
      
      closes #339
      25b1737c
  12. 02 Mar, 2014 1 commit
  13. 01 Mar, 2014 1 commit
  14. 24 Jan, 2014 1 commit
  15. 13 Jan, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      * Updated VolumeRenderer and VolumeExplorer to use user-defined RaycastingProcessor · 8d26da04
      Christian Schulte zu Berge authored
      * RaycastingProcessor now has the p_targetImageID property and optionally uses a custom GLSL version for the shader
      * Introducing PropertyCollection::getNestedProperty allowing to get nested properties with a single method call
      * Fixed StringUtils::split() methods being broken with multi-character delimiters
      8d26da04
    • Christian Schulte zu Berge's avatar
      Fixing commit 5f72759e: · 56724724
      Christian Schulte zu Berge authored
      C++ implicit conversion rules made ShaderManager::loadSeparate() ambiguous in some cases. So I decided to cut loose ends and completely refactored loading with standard version into ShaderManager::load() and loading with custom version into ShaderManager::loadWithCustomGlslVersion().
      ShaderManager::loadSeparate() is no longer available!
      56724724
  16. 12 Jan, 2014 1 commit
  17. 11 Jan, 2014 1 commit
  18. 02 Jan, 2014 1 commit
  19. 30 Dec, 2013 2 commits
  20. 29 Dec, 2013 1 commit
  21. 18 Dec, 2013 1 commit
    • Christian Schulte zu Berge's avatar
      *IMPORTANT FIX* Fixes possible crashes/segfaults when converting OpenGL image... · f2102103
      Christian Schulte zu Berge authored
      *IMPORTANT FIX* Fixes possible crashes/segfaults when converting OpenGL image representations to local image representations:
       * ImageRepresentationLocal::tryConvert() does not deadlock anymore when called from OpenGL context and converting from GL representation
       * Fixed possible double deletion after converting from OpenGL to local representation due to ambiguous pointer ownership
       * fixed possible out of bounds array write in tgt::Texture::downloadTextureToBuffer()
      f2102103
  22. 13 Dec, 2013 1 commit
  23. 12 Dec, 2013 1 commit
  24. 05 Dec, 2013 1 commit
  25. 28 Nov, 2013 1 commit