Processor Class Reference
The base class for all processor classes used in Voreen. More...
#include <processor.h>
Public Types | |
| enum | InvalidationLevel { VALID = 0, INVALID_RESULT = 1, INVALID_PARAMETERS = 10, INVALID_PROGRAM = 20, INVALID_PORTS = 30, INVALID_PROCESSOR = 40 } |
This enum specifies how invalid the processor is. More... | |
| enum | CodeState { CODE_STATE_OBSOLETE, CODE_STATE_BROKEN, CODE_STATE_EXPERIMENTAL, CODE_STATE_TESTING, CODE_STATE_STABLE } |
Identifies the state of the code of this processor. More... | |
Public Member Functions | |
| virtual Processor * | clone () const |
| Returns a copy of the processor. | |
| virtual Processor * | create () const =0 |
| Virtual constructor: supposed to return an instance of the concrete Processor class. | |
| virtual std::string | getClassName () const =0 |
| Supposed to return the C++ class name of the derived class. | |
| virtual std::string | getCategory () const =0 |
| Supposed to return the general category the processor belongs to. | |
| virtual CodeState | getCodeState () const |
| Supposed to return an enum indicating the development state of the processor. | |
| virtual std::string | getProcessorInfo () const |
| Supposed to returns a description of the processor's functionality. | |
| virtual bool | isUtility () const |
| Returns true if this Processor is a utility Processor (i.e., performs smaller tasks). | |
| std::string | getName () const |
| Returns the name of this processor instance. | |
| std::string | getModuleName () const |
| Returns a string identifying the name of the module this processor's class belongs to. | |
| bool | isInitialized () const |
| Returns whether the processor has been successfully initialized. | |
| virtual bool | isReady () const |
| Returns true if process() can be called safely by the NetworkEvaluator. | |
| virtual void | invalidate (int inv=INVALID_RESULT) |
| Updates the processor's invalidation level. | |
| virtual void | setValid () |
| Marks the processor as valid by setting its invalidation level to VALID. | |
| virtual bool | isValid () const |
| Returns whether the processor is valid, i.e. | |
| virtual bool | isEndProcessor () const |
| Is this processor an end processors as it does not have any output port? | |
| const std::vector< Port * > & | getInports () const |
| Returns the processor's data flow inports. | |
| const std::vector< Port * > & | getOutports () const |
| Returns the processor's data flow outports. | |
| const std::vector < CoProcessorPort * > & | getCoProcessorInports () const |
| Returns the processor's co-processor inports. | |
| const std::vector < CoProcessorPort * > & | getCoProcessorOutports () const |
| Returns the processor's co-processor outports. | |
| std::vector< Port * > | getPorts () const |
| Convenience function collecting all of the processor's ports and returning them in a single vector. | |
| virtual void | onEvent (tgt::Event *e) |
| Processors may overwrite this function in order to gain access to events that are propagated through the network. | |
| const std::vector < EventPropertyBase * > | getEventProperties () const |
| Returns the event properties owned by the processor. | |
|
const std::vector < InteractionHandler * > & | getInteractionHandlers () const |
| Returns the interaction handlers attached to the processor. | |
| ProcessorWidget * | getProcessorWidget () const |
| Returns the processor widget that has been generated in initialize() by using the ProcessorWidgetFactory retrieved from VoreenApplication. | |
| virtual void | serialize (XmlSerializer &s) const |
| virtual void | deserialize (XmlDeserializer &s) |
| MetaDataContainer & | getMetaDataContainer () const |
| Returns the meta data container of this processor. | |
| void | setIOProgress (IOProgress *ioProgress) |
Protected Member Functions | |
| virtual void | process ()=0 |
| This method is called by the NetworkEvaluator when the processor should be processed. | |
| virtual void | initialize () throw (VoreenException) |
| Initializes the processor, its properties and its processor widget. | |
| virtual void | deinitialize () throw (VoreenException) |
| Deinitializes the processor. | |
| virtual void | beforeProcess () |
| Is called by the NetworkEvaluator immediately before it calls process(). | |
| virtual void | afterProcess () |
| Is called by the NetworkEvaluator immediately after process() has been called. | |
| void | addPort (Port *port) |
| Registers a port. | |
| void | addPort (Port &port) |
| void | addEventProperty (EventPropertyBase *prop) |
| Adds an event property to this processor. | |
| void | addEventProperty (EventPropertyBase &prop) |
| void | addInteractionHandler (InteractionHandler *handler) |
| Attaches an interaction handler to this processor. | |
| void | addInteractionHandler (InteractionHandler &handler) |
| virtual void | interactionModeToggled () |
| This method is called if the Processor is switched into or out of interaction mode. | |
| virtual void | toggleInteractionMode (bool interactionMode, void *source) |
| Call this method if the Processor should be switched into or out of interaction mode. | |
| void | setModuleName (const std::string &moduleName) |
| Sets the name of the module the processor's class belongs to. | |
Protected Attributes | |
| bool | initialized_ |
| Set to true after successful initialization. | |
| std::map< std::string, Port * > | portMap_ |
| Used for the detection of duplicate port names. | |
| PerformanceRecord | performanceRecord_ |
| Used for performance profiling (experimental). | |
| IOProgress * | ioProgress_ |
| Allows to display a progress bar on top of the processor item (experimental). | |
Static Protected Attributes | |
| static const std::string | loggerCat_ |
| category used in logging | |
Friends | |
| class | NetworkEvaluator |
| class | VoreenModule |
| class | ProcessorNetwork |
| class | ProcessorFactory |
| class | Port |
| class | ProcessorWidget |
Detailed Description
The base class for all processor classes used in Voreen.
Definition at line 54 of file processor.h.
Member Enumeration Documentation
| enum CodeState |
Identifies the state of the code of this processor.
The default is CODE_STATE_EXPERIMENTAL
Definition at line 82 of file processor.h.
| enum InvalidationLevel |
This enum specifies how invalid the processor is.
The NetworkEvaluator and Processor will only do as much as needed to get a Processor into a valid state.
- Enumerator:
INVALID_RESULT invalid rendering, volumes => call process()
INVALID_PARAMETERS invalid uniforms => set uniforms
INVALID_PROGRAM invalid shaders, cuda/opencl program => rebuild program
INVALID_PORTS ports added/removed => check connections, re-evaluate network
INVALID_PROCESSOR invalid python/matlab processor => re-create processor, re-connect ports (if possible)
Definition at line 69 of file processor.h.
Member Function Documentation
| void addEventProperty | ( | EventPropertyBase & | prop | ) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 436 of file processor.cpp.
| void addInteractionHandler | ( | InteractionHandler & | handler | ) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 449 of file processor.cpp.
| void addPort | ( | Port & | port | ) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 194 of file processor.cpp.
| void addPort | ( | Port * | port | ) | [protected] |
Registers a port.
Only registered ports can be connected and are visible in the GUI. Added ports will not be deleted in the destructor. Ports should be registered in the processor's constructor.
Definition at line 168 of file processor.cpp.
| void afterProcess | ( | ) | [protected, virtual] |
Is called by the NetworkEvaluator immediately after process() has been called.
Override it for performing follow-up operations, but make sure to call the superclass' function as last statement, if you do so.
Definition at line 161 of file processor.cpp.
| void beforeProcess | ( | ) | [protected, virtual] |
Is called by the NetworkEvaluator immediately before it calls process().
Override it for performing preparation operations, but make sure to call the superclass' function as first statement, if you do so.
Reimplemented in RenderProcessor, ImageSource, MeshEntryExitPoints, ExplosionProxyGeometry, and RaytracingEntryExitPoints.
Definition at line 158 of file processor.cpp.
| void deinitialize | ( | ) | throw (VoreenException) [protected, virtual] |
Deinitializes the processor.
- Note:
- The superclass' function must be called as last statement when it is overwritten.
- All OpenGL deinitializations must be done here, instead of the destructor!
- Exceptions:
-
VoreenException if the deinitialization failed
Reimplemented in CanvasRenderer, ImageProcessor, RenderProcessor, VolumeRaycaster, GeometrySource, ImageSequenceSource, ImageSource, DepthPeelingProcessor, Background, ImageOverlay, Labeling, OrientationOverlay, RegionOfInterest2D, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CurvatureRaycaster, HalfAngleSlicer, MultiVolumeRaycaster, SegmentationRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceRendererBase, CoordinateTransformation, ImageSelector, ImageSequenceLoopInitiator, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, TextOverlay, VolumeCollectionModalityFilter, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSubSet, VolumeTransformation, ConnectedComponents3D, and MarchingCubesRenderer.
Definition at line 130 of file processor.cpp.
| void deserialize | ( | XmlDeserializer & | s | ) | [virtual] |
- See also:
- PropertyOwner::deserialize
Reimplemented from PropertyOwner.
Reimplemented in RegionOfInterest2D.
Definition at line 392 of file processor.cpp.
| virtual std::string getCategory | ( | ) | const [pure virtual] |
Supposed to return the general category the processor belongs to.
This method is not intended to be re-implemented by each subclass, but is rather defined by the more concrete base classes, such as VolumeRaycaster or ImageProcessor.
Implemented in CanvasRenderer, ImageProcessor, ImageProcessorDepth, GeometrySource, ImageSequenceSource, ImageSource, TextSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, BoundingBoxRenderer, CameraPositionRenderer, ClippingPlaneWidget, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, GeometryRenderer, TexturedGeometryRenderer, IsosurfaceExtractor, LightWidgetRenderer, MeshClipping, MeshClippingWidget, MeshSlabClipping, PointListRenderer, PointSegmentListRenderer, SlicePositionRenderer, Background, BinaryImageProcessor, Canny, ColorDepth, Compositor, Convolution, DepthDarkening, Dilation, EdgeDetect, Erosion, ExplosionCompositor, Fade, Gabor, Gaussian, Grayscale, ImageAbstraction, ImageMasking, ImageOverlay, ImageThreshold, Labeling, LoopCompositor, Mean, Median, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, CubeMeshProxyGeometry, CubeProxyGeometry, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CPURaycaster, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiplanarSliceRenderer, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceViewer, ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, ScalingProcessor, SingleScale, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeCubify, VolumeCurvature, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSave, VolumeSubSet, VolumeTransformation, ConnectedComponents2D, ConnectedComponents3D, FlowMagnitudes3D, FlowOrthogonalSliceRenderer, FlowStreamlinesTexture3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, RaytracingEntryExitPoints, and VolumeGradientCL.
| virtual std::string getClassName | ( | ) | const [pure virtual] |
Supposed to return the C++ class name of the derived class.
Necessary due to the lack of code reflection in C++.
This method is expected to be re-implemented by each concrete subclass.
Implemented in CanvasRenderer, ImageProcessor, ImageProcessorDepth, GeometrySource, ImageSequenceSource, ImageSource, TextSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, BoundingBoxRenderer, CameraPositionRenderer, ClippingPlaneWidget, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, GeometryRenderer, TexturedGeometryRenderer, IsosurfaceExtractor, LightWidgetRenderer, MeshClipping, MeshClippingWidget, MeshSlabClipping, PointListRenderer, PointSegmentListRenderer, SlicePositionRenderer, Background, BinaryImageProcessor, Canny, ColorDepth, Compositor, Convolution, DepthDarkening, Dilation, EdgeDetect, Erosion, ExplosionCompositor, Fade, Gabor, Gaussian, Grayscale, ImageAbstraction, ImageMasking, ImageOverlay, ImageThreshold, Labeling, LoopCompositor, Mean, Median, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, CubeMeshProxyGeometry, CubeProxyGeometry, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CPURaycaster, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiplanarSliceRenderer, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceViewer, ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, ScalingProcessor, SingleScale, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeCubify, VolumeCurvature, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSave, VolumeSubSet, VolumeTransformation, ConnectedComponents2D, ConnectedComponents3D, FlowMagnitudes3D, FlowOrthogonalSliceRenderer, FlowStreamlinesTexture3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, RaytracingEntryExitPoints, and VolumeGradientCL.
| Processor::CodeState getCodeState | ( | ) | const [virtual] |
Supposed to return an enum indicating the development state of the processor.
This method is expected to be re-implemented by each concrete subclass. The default value for all classes not re-writing this method is CODE_STATE_EXPERIMENTAL.
Reimplemented in CanvasRenderer, GeometrySource, ImageSequenceSource, ImageSource, TextSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, BoundingBoxRenderer, CameraPositionRenderer, ClippingPlaneWidget, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, GeometryRenderer, TexturedGeometryRenderer, IsosurfaceExtractor, LightWidgetRenderer, MeshClipping, MeshClippingWidget, MeshSlabClipping, PointListRenderer, PointSegmentListRenderer, SlicePositionRenderer, Background, BinaryImageProcessor, Canny, ColorDepth, Compositor, Convolution, DepthDarkening, Dilation, EdgeDetect, Erosion, ExplosionCompositor, Fade, Gabor, Gaussian, Grayscale, ImageAbstraction, ImageMasking, ImageOverlay, ImageThreshold, Labeling, LoopCompositor, Mean, Median, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, CubeMeshProxyGeometry, CubeProxyGeometry, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CPURaycaster, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiplanarSliceRenderer, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceViewer, ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, SingleScale, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeCubify, VolumeCurvature, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSave, VolumeSubSet, VolumeTransformation, ConnectedComponents2D, ConnectedComponents3D, FlowMagnitudes3D, FlowOrthogonalSliceRenderer, FlowStreamlinesTexture3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, RaytracingEntryExitPoints, and VolumeGradientCL.
Definition at line 198 of file processor.cpp.
| const std::vector< CoProcessorPort * > & getCoProcessorInports | ( | ) | const |
Returns the processor's co-processor inports.
- See also:
- getPorts
Definition at line 236 of file processor.cpp.
| const std::vector< CoProcessorPort * > & getCoProcessorOutports | ( | ) | const |
Returns the processor's co-processor outports.
- See also:
- getPorts
Definition at line 240 of file processor.cpp.
| const std::vector< EventPropertyBase * > getEventProperties | ( | ) | const |
Returns the event properties owned by the processor.
- See also:
- onEvent
Definition at line 452 of file processor.cpp.
| const std::vector< Port * > & getInports | ( | ) | const |
Returns the processor's data flow inports.
This does not include its co-processor inports.
- See also:
- getPorts
Definition at line 228 of file processor.cpp.
| MetaDataContainer & getMetaDataContainer | ( | ) | const |
Returns the meta data container of this processor.
External objects, such as GUI widgets, can use it to store and retrieve persistent meta data without having to bother with the serialization themselves.
Definition at line 421 of file processor.cpp.
| std::string getModuleName | ( | ) | const |
Returns a string identifying the name of the module this processor's class belongs to.
- See also:
- setModuleName
Reimplemented in EEPGeometryIntegrator, and MultiSurfaceRenderer.
Definition at line 216 of file processor.cpp.
| std::string getName | ( | void | ) | const [virtual] |
Returns the name of this processor instance.
- See also:
- PropertyOwner::getName
Implements PropertyOwner.
Definition at line 208 of file processor.cpp.
| const std::vector< Port * > & getOutports | ( | ) | const |
Returns the processor's data flow outports.
This does not include its co-processor outports.
- See also:
- getPorts
Definition at line 232 of file processor.cpp.
| std::string getProcessorInfo | ( | ) | const [virtual] |
Supposed to returns a description of the processor's functionality.
This method is expected to be re-implemented by each concrete subclass.
Reimplemented in CanvasRenderer, GeometrySource, ImageSequenceSource, ImageSource, TextSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, BoundingBoxRenderer, CameraPositionRenderer, ClippingPlaneWidget, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, GeometryRenderer, TexturedGeometryRenderer, IsosurfaceExtractor, LightWidgetRenderer, MeshClipping, MeshClippingWidget, MeshSlabClipping, PointListRenderer, PointSegmentListRenderer, SlicePositionRenderer, Background, BinaryImageProcessor, Canny, ColorDepth, Compositor, Convolution, DepthDarkening, Dilation, EdgeDetect, Erosion, ExplosionCompositor, Fade, Gabor, Gaussian, Grayscale, ImageAbstraction, ImageMasking, ImageOverlay, ImageThreshold, Labeling, LoopCompositor, Mean, Median, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, CubeMeshProxyGeometry, CubeProxyGeometry, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CPURaycaster, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiplanarSliceRenderer, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceViewer, ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, SingleScale, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeCubify, VolumeCurvature, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSave, VolumeSubSet, VolumeTransformation, ConnectedComponents2D, ConnectedComponents3D, FlowMagnitudes3D, FlowOrthogonalSliceRenderer, FlowStreamlinesTexture3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, RaytracingEntryExitPoints, and VolumeGradientCL.
Definition at line 224 of file processor.cpp.
| ProcessorWidget * getProcessorWidget | ( | ) | const |
Returns the processor widget that has been generated in initialize() by using the ProcessorWidgetFactory retrieved from VoreenApplication.
Returns null, if no widget is present.
Definition at line 425 of file processor.cpp.
| void initialize | ( | ) | throw (VoreenException) [protected, virtual] |
Initializes the processor, its properties and its processor widget.
All initialization should be done in this method, instead of the constructor. It is issued by the NetworkEvaluator.
- Note:
- The superclass' function must be called as first statement when it is overwritten.
- All OpenGL initializations must be done here, instead of the constructor! Time-consuming operations should also happen here.
- Exceptions:
-
VoreenException if the initialization failed
Reimplemented in CanvasRenderer, ImageProcessor, RenderProcessor, GeometrySource, ImageSequenceSource, ImageSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, ClippingPlaneWidget, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, MeshClippingWidget, Background, BinaryImageProcessor, ColorDepth, ImageOverlay, Labeling, LoopCompositor, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, ExplosionProxyGeometry, MultiVolumeProxyGeometry, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, VolumeSlicer, ClockProcessor, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, TextOverlay, VolumeCollectionModalityFilter, VolumeSelector, VolumeDecomposer, VolumeSave, FlowMagnitudes3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, and RaytracingEntryExitPoints.
Definition at line 103 of file processor.cpp.
| void interactionModeToggled | ( | ) | [protected, virtual] |
This method is called if the Processor is switched into or out of interaction mode.
Overwrite this method if a processor needs to react to this event. (e.g., resize RenderPorts, change samplingrate...) The default implementation does nothing.
Reimplemented from PropertyOwner.
Reimplemented in VolumeRaycaster.
Definition at line 340 of file processor.cpp.
| void invalidate | ( | int | inv = INVALID_RESULT |
) | [virtual] |
Updates the processor's invalidation level.
- See also:
- PropertyOwner::invalidate
Reimplemented from PropertyOwner.
Reimplemented in CanvasRenderer, RenderProcessor, VolumeRaycaster, ImageSequenceSource, ImageSource, VolumeCollectionSource, VolumeSource, ClippingPlaneWidget, SlicePositionRenderer, QuadView, ImageSelector, ImageSequenceLoopInitiator, VolumeCollectionModalityFilter, and VolumeSelector.
Definition at line 262 of file processor.cpp.
| bool isEndProcessor | ( | ) | const [virtual] |
Is this processor an end processors as it does not have any output port?
- Todo:
- more doc
Reimplemented in CanvasRenderer, RenderStore, and SegmentationValidation.
Definition at line 365 of file processor.cpp.
| bool isReady | ( | ) | const [virtual] |
Returns true if process() can be called safely by the NetworkEvaluator.
The default implementation checks, whether the processor has been initialized and all inports, outports and coprocessor-inports are ready i.e. if they are connected and the inports have data assigned. Overwrite it for custom behaviour.
Reimplemented in CanvasRenderer, EntryExitPoints, MeshEntryExitPoints, DepthPeelingProcessor, GeometryProcessor, Background, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, ExplosionProxyGeometry, CPURaycaster, CurvatureRaycaster, HalfAngleSlicer, MultiVolumeRaycaster, SegmentationRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, TextOverlay, VolumeDecomposer, FlowOrthogonalSliceRenderer, MarchingCubesRenderer, and RaytracingEntryExitPoints.
Definition at line 285 of file processor.cpp.
| bool isUtility | ( | ) | const [virtual] |
Returns true if this Processor is a utility Processor (i.e., performs smaller tasks).
The default implementation returns false. Override it in order to define a processor as utility.
Reimplemented in ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, ScalingProcessor, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, and VolumeSelector.
Definition at line 220 of file processor.cpp.
| bool isValid | ( | ) | const [virtual] |
Returns whether the processor is valid, i.e.
all of its output data is valid so the processor does not have to be updated.
The standard implementation returns true, if getInvalidationLevel() == VALID. Override it for custom behaviour.
Reimplemented from PropertyOwner.
Definition at line 349 of file processor.cpp.
| void onEvent | ( | tgt::Event * | e | ) | [virtual] |
Processors may overwrite this function in order to gain access to events that are propagated through the network.
- Note:
- It is strongly recommended to receive events through EventProperties instead. Overwriting onEvent interferes with the network event flow in a very direct manner and may introduce hard to find bugs with global impact on the network. Furthermore, EventProperties allow convenient customization of the event handling within a particular network.
- See also:
- EventProperty
Reimplemented from EventListener.
Reimplemented in CanvasRenderer, QuadView, ScalingProcessor, and SingleScale.
Definition at line 460 of file processor.cpp.
| virtual void process | ( | ) | [protected, pure virtual] |
This method is called by the NetworkEvaluator when the processor should be processed.
All rendering and volume/image processing is to be done here.
- Note:
- The NetworkEvaluator assumes the processor to be valid after calling this method and sets its invalidation level to VALID.
Implemented in CanvasRenderer, GeometryRendererBase, RenderProcessor, GeometrySource, ImageSequenceSource, ImageSource, TextSource, VolumeCollectionSource, VolumeSource, EntryExitPoints, MeshEntryExitPoints, DepthPeelingProcessor, EEPGeometryIntegrator, GeometryProcessor, IsosurfaceExtractor, MeshClipping, MeshSlabClipping, PointListRenderer, PointSegmentListRenderer, SlicePositionRenderer, Background, BinaryImageProcessor, Canny, ColorDepth, Compositor, Convolution, DepthDarkening, Dilation, EdgeDetect, Erosion, ExplosionCompositor, Fade, Gabor, Gaussian, Grayscale, ImageAbstraction, ImageMasking, ImageOverlay, ImageThreshold, Labeling, LoopCompositor, Mean, Median, NonMinMaxSuppression, OrientationOverlay, QuadView, RegionOfInterest2D, UnaryImageProcessor, CubeMeshProxyGeometry, CubeProxyGeometry, ExplosionProxyGeometry, MultiVolumeProxyGeometry, ProxyGeometry, CPURaycaster, CurvatureRaycaster, GLSLRaycaster, HalfAngleSlicer, IDRaycaster, MultiplanarSliceRenderer, MultiVolumeRaycaster, RGBRaycaster, SegmentationRaycaster, SimpleRaycaster, SingleVolumeRaycaster, SingleVolumeSlicer, SliceViewer, ClockProcessor, CoordinateTransformation, DistanceMeasure, ImageSelector, ImageSequenceLoopFinalizer, ImageSequenceLoopInitiator, IntensityMeasure, MultiScale, RenderLoopFinalizer, RenderLoopInitiator, RenderStore, ScalingProcessor, SingleScale, SegmentationValidation, TextOverlay, VolumeCollectionModalityFilter, VolumeInformation, VolumeSelector, VectorMagnitude, VolumeCombine, VolumeConvert, VolumeCreate, VolumeCubify, VolumeDecomposer, VolumeDistanceTransform, VolumeFiltering, VolumeGradient, VolumeHalfsample, VolumeInversion, VolumeMasking, VolumeMirrorZ, VolumeMorphology, VolumeResample, VolumeSave, VolumeSubSet, VolumeTransformation, ConnectedComponents2D, ConnectedComponents3D, FlowMagnitudes3D, FlowOrthogonalSliceRenderer, FlowStreamlinesTexture3D, MarchingCubesRenderer, MultiSurfaceRenderer, GrayscaleCL, and RaytracingEntryExitPoints.
| void serialize | ( | XmlSerializer & | s | ) | const [virtual] |
- See also:
- PropertyOwner::serialize
Reimplemented from PropertyOwner.
Reimplemented in RegionOfInterest2D.
Definition at line 369 of file processor.cpp.
| void setModuleName | ( | const std::string & | moduleName | ) | [protected] |
Sets the name of the module the processor's class belongs to.
To be called by VoreenModule and ProcessorFactory.
- Note:
- It is usually not necessary to explicitly set the module name in a derived class.
Definition at line 212 of file processor.cpp.
| void toggleInteractionMode | ( | bool | interactionMode, | |
| void * | source | |||
| ) | [protected, virtual] |
Call this method if the Processor should be switched into or out of interaction mode.
- Parameters:
-
interactionMode source The source (usually a property widget).
- See also:
- PropertyOwner::interactionMode
Reimplemented from PropertyOwner.
Definition at line 305 of file processor.cpp.