- 02 Aug, 2014 2 commits
-
-
Christian Schulte zu Berge authored
When compiled with CAMPVIS_DEBUG, all signals carry additional information on the calling function, file and line. This is realized transparently through some macro magic when client code emits signals through the new emitSignal() method. Unfortunately, there is no way to debug-overload the operator(), hence, while this way of emitting signals remains valid, it cannot write the debug information into the signal handle. To avoid symbol conflicts, _connection_base::emitSignal() and has_slots::emitSignal() had to be renamed to ::processSignal(). refs #384
-
Christian Schulte zu Berge authored
Introducing SignalHandlingMode to signal_manager to allow forcing all signals being handled directly (needed for test-campvis) or queued. refs #384
-
- 01 Aug, 2014 1 commit
-
-
Christian Schulte zu Berge authored
refs #384
-
- 27 Jul, 2014 22 commits
-
-
Christian Schulte zu Berge authored
refs #384
-
Christian Schulte zu Berge authored
* Updated sigslot::concurrent_pointer_list::insert() and sigslot::concurrent_pointer_list::push_back() to fill holes where items already have been deleted. This avoids degrading performance due to excessive fragmentation. * Updated sigslot legal header.
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
Updated sigslot::concurrent_pointer_list implementation as well as added several typename declarations to calm down GCC.
-
Christian Schulte zu Berge authored
Removed all occasions where references to DataHandles were used, since especially their use in signals may lead to segfaults or other undesired behavior.
-
Christian Schulte zu Berge authored
Removed unlockInExtraThread flag from AbstractProcessor::process() - this is no longer needed as signal handling is done asynchroneously now anyway. #ref 384 Conflicts: core/pipeline/abstractprocessor.cpp Conflicts: core/pipeline/abstractprocessor.cpp core/pipeline/abstractprocessor.h
-
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
-
Christian Schulte zu Berge authored
* Introduced check whether signal emitting thread is the signal manager thread. In such a case signals are now emitted synchronously per default. * Fixed sigslot shared library builds refs #384
-
Christian Schulte zu Berge authored
Register std::vector<DataContainer*> and std::vector<AbstractPipeline*> as Qt meta types in mainwindow.cpp to support them in Qt signals (even though I do not understand why the issue did not arise before...)
-
Christian Schulte zu Berge authored
* implemented signal_handle2 through signal_handl5 * removed all implementations of signals with more than 5 arguments (nobody needs that many args and all those template instantiations just kill compile time) refs #384 Conflicts: ext/sigslot/sigslot.h
-
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
-
Christian Schulte zu Berge authored
Refactor various
-
Christian Schulte zu Berge authored
-
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
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
This was due to a missing/wrong GL_PACK_ALIGNMENT setting. closes #568
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
INVALID_RESULT, INVALID_PROPERTIES, INVALID_SHADER is validated automatically by AbstractProcessor::process(). Hence, there is finally no need anymore to validate these three different levels in each processor.
-
- 22 Jul, 2014 3 commits
-
-
Christian Schulte zu Berge authored
Openigtlink support openigtlink processor implementation and matrix processor. changes to mprrenderer and mprdemo are not relevant (should be in another branch)
-
Christian Schulte zu Berge authored
Fixed various GCC and Cppcheck warnings.
-
Christian Schulte zu Berge authored
Moved RegistrationDemo and SegmentationDemo pipelines from VIS to ITK module to avoid linking errors if ITK module is disabled. Furthermore, renamed classes to ItkRegistrationDemo and ItkSegmentationDemo.
-
- 21 Jul, 2014 1 commit
-
-
Christian Schulte zu Berge authored
-
- 20 Jul, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Itk Segmentation and Registration: wrappers and demos This branch makes use of the ItkReader and currently contains a SegmentationDemo and a RegistrationDemo that use Itk wrappers for segmentation and registration algorithms. It is meant to be a starting point for future Itk segmentation and registration algorithms that are to be wrapped. Commits have been cherry-picked from the mhaimagereader branch.
-
- 18 Jul, 2014 9 commits
-
-
Cristina Precup authored
Set the default background color to black such that the volume visualization can ignore the background
-
Cristina Precup authored
Use ItkReader instead of GenericImageReader. Currently, this is more suitable for the SegmentationDemo and RegistrationDemo because of the supported image formats
-
Cristina Precup authored
-
Cristina Precup authored
-
Cristina Precup authored
inherit a VolumeExplorer instead of an AbstractProcessor - avoids duplications in the required implementation + get dot scribbler coordinates for the segmentation seed
-
Oliver Zettining authored
-
Oliver Zettining authored
registration demo - starter: so far, rigid registration for 3D with Mattes Mutual Information metric - Cristina Precup
-
Oliver Zettining authored
-
Oliver Zettining authored
-
- 15 Jul, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Qt threading issues
-