- 09 Dec, 2014 1 commit
-
-
Christian Schulte zu Berge authored
-
- 05 Dec, 2014 3 commits
-
-
Christian Schulte zu Berge authored
Now it is possible to create CAMPVis images with three dimensions but only a single slice (formerly automatically deduced as 2D image). Adapted/fixed some further code. refs #613
-
Christian Schulte zu Berge authored
* cleaned up cgt::Texture's constructors: only two left - to create an empty texture or a non-empty one * cgt::Texture will no longer hold a copy of the image data in local memory * removed a lot of redundant/confusing methods * no longer needed to call uploadTexture() even though you don't want to upload sth. * Adapted all known code to the new interface * Removed cgt::TextureReaderDevil refs #613
-
Christian Schulte zu Berge authored
* Introducing DataSeries type (like ImageSeries but holding AbstractData, ImageSeries should be replaced some time) * Fixed cgt::dmatX typedefs
-
- 23 Nov, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Added (silencable) debug messages to ScopedTypedData, and ScopedRepresentation structs in cases where no data with the given key could be found or the data found is of wrong type.
-
- 28 Oct, 2014 2 commits
-
-
Christian Schulte zu Berge authored
Added Lua bindings for DataContainer::getDataHandlesCopy() and extended inspect.lua script with functionality to list the fields of SWIG objects.
-
Christian Schulte zu Berge authored
* Added automatic copy of inspect.lua to binary directory to CMake build scripts * Added AbstractPipeline::getProcessor(std::string&) * Added ScopedSynchronousGlJobExecution guard to Lua command execution to ensure having an OpenGL context present * Fixed ordering in CampvisApplication::deinit()
-
- 24 Oct, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Removed CameraProperty, CameraPropertyWidget and TrackballNavigationEventListener * replaces all known occurrences of the above three with the new TrackballCameraProvider processor * introduced TrackballCameraProvider::reinitializeCamera() refs #141
-
- 23 Oct, 2014 4 commits
-
-
Christian Schulte zu Berge authored
refs #386
-
Christian Schulte zu Berge authored
refs #386
-
Christian Schulte zu Berge authored
refs #386
-
Christian Schulte zu Berge authored
refs #386
-
- 17 Oct, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Tied tgt::OpenGLJobProcessor and tgt::OpenGLGarbageCollector closer together regarding OpenGL garbage collection * AutoEvaluationPipeline checks for valid OpenGL state after each processor call (only in debug)
-
- 15 Oct, 2014 3 commits
-
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
Moved AbstractJob and OpenGLJobProcessor from campvis-core to tgt and adapted and cleaned up all necessary includes/references.
-
Christian Schulte zu Berge authored
The new OpenGL wrapping API allows for full multi-threaded access to OpenGL contexts. Instead of one single thread scheduling all OpenGL jobs for all contexts, the new GlContextManager allows for OpenGL access from multiple threads while ensuring that each OpenGL context is acquired by only one thread at a time. Detailed list of changes: * tgt::GlContextManager keeping track of which threads acquire which OpenGL contexts and which threads currently have a context acquired. * OpenGLJobProcessor does no longer schedules and execute the OpenGL calls for all existing contexts, but only for one single context that can be used for background tasks or other jobs that explicitly need a valid OpenGL context. * AbstractPipeline now implements the Runnable interface and thus runs in it's own thread. This thread also owns the pipeline's OpenGL context. * AbstractPipeline has a new pure virtual method executePipeline() that has to perform all computations done by the pipeline. * AbstractPipeline now takes directly care of calling Painter::paint() of the pipeline's canvas (instead of signalling the Painter). However, the Painter interface needs further cleanup. * AutoEvaluationPipeline was adapted to the new AbstractPipeline API, hence executing processors is no longer delegated to the OpenGLJobProcessor or the SimpleJobProcessor but entirely done in AutoEvaluationPipeline::executePipeline() and thus in the pipeline's thread. * Adjusted CampVisApplication, DataContainerInspectorWidget, and GeometryTransferFunctionEditor to the new API.
-
- 08 Oct, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Added directories of various needed resources (textures, sampledata) to the CampvisShaderDirectories CMake variable, which is used for deployment. Replaced various occurences of CAMPVIS_SOURCE_DIR with ShdrMgr.completePath().
-
- 30 Sep, 2014 5 commits
-
-
Jakob Weiss authored
-
Jakob Weiss authored
-
Jakob Weiss authored
-
Jakob Weiss authored
* new QtJobProcessor singleton: used to execute jobs in the Qt thread * CampvisApplication now has a map to obtain the window for a pipeline
-
Jakob Weiss authored
* AbstractPipeline offers getter for the canvas to execute jobs in the pipeline's OpenGL context * PropertyCollectionWidget adds a spacer element at the end to prevent element stretching when there is too much free space * job.h offers new CallFunctionObjectJob to create jobs on the fly using lambda functions (the respective makeJob and makeJobOnHeap are inlined to prevent linker errors)
-
- 11 Aug, 2014 2 commits
-
-
Christian Schulte zu Berge authored
* Fixed possible endless loop in event evaluation of AbstractPipeline. * Fixed 4-channel image rendering in datacontainerinspector.frag.
-
Christian Schulte zu Berge authored
* Added OpenGL thread guard to image conversions to ImageRepresentationGL.
-
- 10 Aug, 2014 1 commit
-
-
Hossain Mahmud authored
[merged commit]clean ups, fixes for g++ errors and warnings, and edits for cppcheck errors (except for the 480+ in the external library AlgLib)
-
- 08 Aug, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Replaced DataContainer::s_dataAdded<const std::string&, DataHandle> with DataContainer::s_dataAdded<std::string, DataHandle>.
-
- 07 Aug, 2014 1 commit
-
-
Christian Schulte zu Berge authored
According to Visual Leak Detector, CAMPVis is now memory leak free. :)
-
- 05 Aug, 2014 2 commits
-
-
Christian Schulte zu Berge authored
-
Hossain Mahmud authored
relocated mscopysegmentation module relocated alglib library. Compiler warning level raised to w1 to get rid of float-double conversions. save results into csv akima spline interpolation using alglib, deleting nearest point alglib library. extensive trimming required ctrl+wheel zooming, arrow movement, ctrl+z, atl+click_nearest+click to edit _nearest point multi object, multi location, multi slide contour point/line painting draft code for addobject deleteobject added ContourObject class linked with add and delete button. added a proxy class of Vec4Property/Widget as colorproperty/widget to control drawing color Conflicts: modules/vis/processors/sliceextractor.cpp edited DevilImageReader to read multiple files having same name pattern: somePrefix_[number].[extension] given the 1st file name Worked on DevilImageReader to load single 2d image for 3d rendering exp_01 commit
-
- 03 Aug, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Slight changes to the API: renamed signal::trigger() to signal::triggerSignal() and signal::queue() to signal::queueSignal() * Replaced all sigslot signal emits through operator() with emits through emitSignal() to enable debug feature. * Fixed a possible race condition when deleting a GeometryTransferFunction and its editor window at the same time (as this will happen from different threads). refs #384
-
- 28 Jul, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Fixed crash (due to nullptr) in DataContainerInspectorWidget if DevIL module not present.
-
- 27 Jul, 2014 9 commits
-
-
Christian Schulte zu Berge authored
refs #384
-
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
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
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
* 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
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
-