1. 10 May, 2014 7 commits
    • Artur Grunau's avatar
      Lua and C++ parts of a pipeline can now interact · 31df41df
      Artur Grunau authored
      Lua functions invoked by LuaPipeline had no access to the pipeline
      instance and, as a result, couldn't configure or modify it in any way.
      
      In order to make it possible to actually define pipelines in Lua, each
      script can now access the C++ pipeline object it's supposed to augment
      via a global variable named instance. This variable is injected into the
      script by LuaPipeline and can be used to call standard pipeline methods
      (e.g. addProcessor).
      
      The functionality described has been tested by implementing a pipeline
      constructor that creates and registers several processors.
      
      References #1
      31df41df
    • Artur Grunau's avatar
      Make LuaPipeline responsible for creating states · 473dba97
      Artur Grunau authored
      Lua states used to be created externally and passed to LuaPipeline
      objects on instantiation. Because they shouldn't be shared anyway, and
      due to high state-pipeline coupling, states are now created by Lua
      pipelines directly.
      
      References #1
      473dba97
    • Artur Grunau's avatar
      Initial support for pipelines implemented in Lua · b3dba5f4
      Artur Grunau authored
      A new class, LuaPipeline, has been added to the scripting module. It
      provides a way of interfacing with pipelines implemented in Lua.
      
      For the time being only the most basic operations (i.e. init and deinit)
      are supported, but work on making it possible to implement
      fully-functional pipelines in Lua is underway.
      
      References #1
      b3dba5f4
    • Artur Grunau's avatar
      PipelineFactory: accept pipelines registered using functors and lambdas · d15ba3ca
      Artur Grunau authored
      Previously, it was only possible to register a pipeline by providing
      a static function that would create it. To make the registration more
      flexible, PipelineFactory has been updated to also accept pipelines
      registered using functors and lambdas.
      
      References #1
      d15ba3ca
    • Artur Grunau's avatar
      Wrap several CAMPVis classes with SWIG · 4f6b4ba6
      Artur Grunau authored
      To test the feasibility of using SWIG to generate Lua bindings for
      CAMPVis several classes have been wrapped with SWIG interface files.
      
      If version 2.0.11 of SWIG is used to generate bindings, it must be
      patched to fix wrapper compilation errors:
      https://github.com/badshah400/swig/commit/ea4a4e435f721380555fea039bd5dc758eda43ae
      
      References #1
      4f6b4ba6
    • Artur Grunau's avatar
      CMake skeleton of the scripting feature · 82a6d86c
      Artur Grunau authored
      An option to enable CAMPVis scripting has been added to the top level
      CMakeLists.txt. Moreover, a minimal sub-project for the scripting
      feature has been created. There's also a new CMake macro, FindLua, that
      locates Lua's include and library files.
      82a6d86c
    • Artur Grunau's avatar
      Add Lua to external libraries · 564215a7
      Artur Grunau authored
      Lua has been selected to be the scripting language embedded in
      CAMPVis. This commit adds its CMake-enabled version as a submodule to
      the repository.
      
      To build Lua, set the CAMPVIS_BUILD_LIB_LUA option in CMake and
      initialise the Lua submodule using the following Git command:
      git submodule update --init
      
      References #1
      564215a7
  2. 06 May, 2014 4 commits
  3. 05 May, 2014 5 commits
  4. 02 May, 2014 2 commits
  5. 30 Apr, 2014 7 commits
  6. 29 Apr, 2014 3 commits
  7. 28 Apr, 2014 3 commits
  8. 27 Apr, 2014 1 commit
  9. 24 Apr, 2014 3 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
    • 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 5 commits