Processor Class Reference

The base class for all processor classes used in Voreen. More...

#include <processor.h>

Inheritance diagram for Processor:
PropertyOwner EventListener AbstractSerializable Serializable ClockProcessor CoordinateTransformation CubeMeshProxyGeometry FlowMagnitudes3D FlowStreamlinesTexture3D GeometrySource IsosurfaceExtractor MeshClipping MeshSlabClipping MultiVolumeProxyGeometry RenderProcessor SegmentationValidation TextSource VolumeCollectionModalityFilter VolumeCollectionSource VolumeProcessor VolumeSelector VolumeSource

List of all members.

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 Processorclone () const
 Returns a copy of the processor.
virtual Processorcreate () 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.
ProcessorWidgetgetProcessorWidget () 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)
MetaDataContainergetMetaDataContainer () 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).
IOProgressioProgress_
 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.

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 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]
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.