Inviwo 0.9.12-pre
Inviwo documentation
|
A processor generally performs operation on input data and outputs the new result. More...
#include <processor.h>
Public Types | |
using | NameDispatcher = Dispatcher<void(std::string_view, std::string_view)> |
using | NameDispatcherHandle = typename NameDispatcher::Handle |
Public Types inherited from inviwo::PropertyOwner | |
using | iterator = std::vector<Property*>::iterator |
using | const_iterator = std::vector<Property*>::const_iterator |
Public Member Functions | |
Processor (std::string_view identifier="", std::string_view displayName="") | |
virtual const ProcessorInfo & | getProcessorInfo () const =0 |
const std::string & | getClassIdentifier () const |
const std::string & | getCategory () const |
CodeState | getCodeState () const |
const Tags & | getTags () const |
void | setIdentifier (std::string_view identifier) |
virtual const std::string & | getIdentifier () const override |
NameDispatcherHandle | onIdentifierChange (std::function< void(std::string_view, std::string_view)> callback) |
void | setDisplayName (std::string_view displayName) |
const std::string & | getDisplayName () const |
NameDispatcherHandle | onDisplayNameChange (std::function< void(std::string_view, std::string_view)> callback) |
virtual void | setProcessorWidget (std::unique_ptr< ProcessorWidget > processorWidget) |
ProcessorWidget * | getProcessorWidget () const |
bool | hasProcessorWidget () const |
virtual void | setNetwork (ProcessorNetwork *network) |
ProcessorNetwork * | getNetwork () const |
virtual void | initializeResources () |
Port * | getPort (std::string_view identifier) const |
Inport * | getInport (std::string_view identifier) const |
Outport * | getOutport (std::string_view identifier) const |
const std::vector< Inport * > & | getInports () const |
const std::vector< Outport * > & | getOutports () const |
const std::string & | getPortGroup (Port *port) const |
std::vector< std::string > | getPortGroups () const |
const std::vector< Port * > & | getPortsInGroup (std::string_view portGroup) const |
const std::vector< Port * > & | getPortsInSameGroup (Port *port) const |
bool | allInportsConnected () const |
bool | allInportsAreReady () const |
bool | isSource () const |
bool | isSink () const |
bool | isReady () const |
const ProcessorStatus & | status () const |
virtual void | process () |
virtual void | doIfNotReady () |
virtual void | setValid () override |
virtual void | invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty=nullptr) override |
void | addInteractionHandler (InteractionHandler *interactionHandler) |
void | removeInteractionHandler (InteractionHandler *interactionHandler) |
bool | hasInteractionHandler () const |
const std::vector< InteractionHandler * > & | getInteractionHandlers () const |
virtual void | invokeEvent (Event *event) override |
virtual void | propagateEvent (Event *event, Outport *source) override |
virtual Processor * | getProcessor () override |
virtual const Processor * | getProcessor () const override |
virtual const PropertyOwner * | getOwner () const override |
virtual PropertyOwner * | getOwner () override |
virtual InviwoApplication * | getInviwoApplication () override |
virtual void | serialize (Serializer &s) const override |
virtual void | deserialize (Deserializer &d) override |
template<typename T , typename std::enable_if_t< std::is_base_of< Inport, T >::value, int > = 0> | |
T & | addPort (std::unique_ptr< T > port, std::string_view portGroup="default") |
template<typename T , typename std::enable_if_t< std::is_base_of< Outport, T >::value, int > = 0> | |
T & | addPort (std::unique_ptr< T > port, std::string_view portGroup="default") |
template<typename T > | |
T & | addPort (T &port, std::string_view portGroup="default") |
template<typename... Ts> | |
void | addPorts (Ts &... ports) |
Port * | removePort (std::string_view identifier) |
Inport * | removePort (Inport *port) |
Outport * | removePort (Outport *port) |
virtual bool | isConnectionActive (Inport *inport, Outport *outport) const |
virtual void | accept (NetworkVisitor &visitor) |
Accept a NetworkVisitor, the visitor will visit this and then each Property of the Processor in an undefined order. The Visitor will then visit each Properties's properties and so on. | |
Public Member Functions inherited from inviwo::PropertyOwner | |
virtual | ~PropertyOwner () |
Removes all properties and notifies its observers of the removal. | |
virtual void | addProperty (Property *property, bool owner=true) |
virtual void | addProperty (Property &property) |
virtual Property * | addProperty (std::unique_ptr< Property > property) |
template<typename... Ts> | |
void | addProperties (Ts &... properties) |
virtual void | insertProperty (size_t index, Property *property, bool owner=true) |
insert property property at position index If index is not valid, the property is appended. | |
virtual void | insertProperty (size_t index, Property &property) |
insert property property at position index If index is not valid, the property is appended. | |
virtual Property * | insertProperty (size_t index, std::unique_ptr< Property > property) |
insert property property at position index If index is not valid, the property is appended. | |
virtual Property * | removeProperty (std::string_view identifier) |
virtual Property * | removeProperty (Property *property) |
virtual Property * | removeProperty (Property &property) |
virtual Property * | removeProperty (size_t index) |
remove property referred to by index | |
virtual bool | move (Property *property, size_t newIndex) |
virtual void | clear () |
Remove all properties; Owned properties will be deleted. | |
const std::vector< Property * > & | getProperties () const |
const std::vector< CompositeProperty * > & | getCompositeProperties () const |
std::vector< Property * > | getPropertiesRecursive () const |
std::vector< Property * > & | getPropertiesRecursive (std::vector< Property * > &destination) const |
Property * | getPropertyByIdentifier (std::string_view identifier, bool recursiveSearch=false) const |
Property * | getPropertyByPath (std::string_view path) const |
template<class T > | |
std::vector< T * > | getPropertiesByType (bool recursiveSearch=false) const |
bool | empty () const |
size_t | size () const |
Property * | operator[] (size_t) |
const Property * | operator[] (size_t) const |
const_iterator | find (Property *property) const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
virtual bool | isValid () const |
InvalidationLevel | getInvalidationLevel () const |
virtual void | setAllPropertiesCurrentStateAsDefault () |
virtual void | resetAllProperties () |
Public Member Functions inherited from inviwo::PropertyOwnerObservable | |
void | notifyObserversWillAddProperty (PropertyOwner *owner, Property *property, size_t index) |
void | notifyObserversDidAddProperty (Property *property, size_t index) |
void | notifyObserversWillRemoveProperty (Property *property, size_t index) |
void | notifyObserversDidRemoveProperty (PropertyOwner *owner, Property *property, size_t index) |
Public Member Functions inherited from inviwo::Observable< PropertyOwnerObserver > | |
Observable (const Observable< PropertyOwnerObserver > &other) | |
Observable (Observable< PropertyOwnerObserver > &&other) noexcept | |
Observable< PropertyOwnerObserver > & | operator= (const Observable< PropertyOwnerObserver > &other) |
Observable< PropertyOwnerObserver > & | operator= (Observable< PropertyOwnerObserver > &&other) noexcept |
void | addObserver (PropertyOwnerObserver *observer) |
void | removeObserver (PropertyOwnerObserver *observer) |
virtual void | startBlockingNotifications () override final |
virtual void | stopBlockingNotifications () override final |
Public Member Functions inherited from inviwo::ObservableInterface | |
Public Member Functions inherited from inviwo::Serializable | |
Public Member Functions inherited from inviwo::EventListener | |
Public Member Functions inherited from inviwo::MetaDataOwner | |
MetaDataOwner (const MetaDataOwner &rhs)=default | |
MetaDataOwner (MetaDataOwner &rhs)=default | |
MetaDataOwner & | operator= (const MetaDataOwner &rhs)=default |
MetaDataOwner & | operator= (MetaDataOwner &)=default |
void | copyMetaDataFrom (const MetaDataOwner &src) |
void | copyMetaDataTo (MetaDataOwner &dst) |
template<typename T > requires std::derived_from<T, MetaData> | |
T * | createMetaData (std::string_view key) |
template<typename T , typename U > requires std::derived_from<T, MetaData> && Settable<T, U> | |
void | setMetaData (std::string_view key, U value) |
template<typename T > requires std::derived_from<T, MetaData> | |
bool | unsetMetaData (std::string_view key) |
unset, i.e. remove the metadata entry matching the given key and type | |
template<typename T , typename U > requires std::derived_from<T, MetaData> && Gettable<T, U> | |
U | getMetaData (std::string_view key, U val) const |
template<typename T > requires std::derived_from<T, MetaData> | |
T * | getMetaData (std::string_view key) |
template<typename T > requires std::derived_from<T, MetaData> | |
const T * | getMetaData (std::string_view key) const |
MetaDataMap * | getMetaDataMap () |
const MetaDataMap * | getMetaDataMap () const |
bool | hasMetaData (std::string_view key) const |
template<typename T > requires std::derived_from<T, MetaData> | |
bool | hasMetaData (std::string_view key) const |
void | serialize (Serializer &s) const |
void | deserialize (Deserializer &d) |
Public Member Functions inherited from inviwo::Observable< ProcessorObserver > | |
Observable (const Observable< ProcessorObserver > &other) | |
Observable (Observable< ProcessorObserver > &&other) noexcept | |
Observable< ProcessorObserver > & | operator= (const Observable< ProcessorObserver > &other) |
Observable< ProcessorObserver > & | operator= (Observable< ProcessorObserver > &&other) noexcept |
void | addObserver (ProcessorObserver *observer) |
void | removeObserver (ProcessorObserver *observer) |
virtual void | startBlockingNotifications () override final |
virtual void | stopBlockingNotifications () override final |
Public Member Functions inherited from inviwo::EventPropagator |
Protected Member Functions | |
void | addPortToGroup (Port *port, std::string_view portGroup) |
void | removePortFromGroups (Port *port) |
void | setInportsChanged (bool changed) |
Protected Member Functions inherited from inviwo::PropertyOwner | |
PropertyOwner (const PropertyOwner &rhs) | |
PropertyOwner & | operator= (const PropertyOwner &that)=delete |
void | forEachProperty (std::function< void(Property &)> callback, bool recursiveSearch=false) const |
Protected Member Functions inherited from inviwo::Observable< PropertyOwnerObserver > | |
void | forEachObserver (C callback) |
Protected Member Functions inherited from inviwo::ObservableInterface | |
void | addObservationHelper (Observer *observer) |
void | removeObservationHelper (Observer *observer) |
Protected Member Functions inherited from inviwo::ProcessorObservable | |
void | notifyObserversAboutPropertyChange (Property *p) |
void | notifyObserversInvalidationBegin (Processor *p) |
void | notifyObserversInvalidationEnd (Processor *p) |
void | notifyObserversProcessorPortAdded (Processor *p, Port *port) |
void | notifyObserversProcessorPortRemoved (Processor *p, Port *port) |
void | notifyObserversAboutToProcess (Processor *p) |
void | notifyObserversFinishedProcess (Processor *p) |
void | notifyObserversSourceChange (Processor *p) |
void | notifyObserversSinkChange (Processor *p) |
void | notifyObserversReadyChange (Processor *p) |
void | notifyObserversActiveConnectionsChange (Processor *p) |
void | notifyObserversStartBackgroundWork (Processor *p, size_t jobs=1) |
void | notifyObserversFinishBackgroundWork (Processor *p, size_t jobs=1) |
Protected Member Functions inherited from inviwo::Observable< ProcessorObserver > | |
void | forEachObserver (C callback) |
Static Protected Member Functions | |
static std::function< ProcessorStatus()> | getDefaultIsReadyUpdater (Processor *) |
Protected Attributes | |
std::unique_ptr< ProcessorWidget > | processorWidget_ |
StateCoordinator< ProcessorStatus > | isReady_ |
StateCoordinator< bool > | isSink_ |
StateCoordinator< bool > | isSource_ |
Protected Attributes inherited from inviwo::PropertyOwner | |
std::vector< Property * > | properties_ |
std::vector< EventProperty * > | eventProperties_ |
std::vector< CompositeProperty * > | compositeProperties_ |
std::vector< std::unique_ptr< Property > > | ownedProperties_ |
Protected Attributes inherited from inviwo::MetaDataOwner | |
MetaDataMap | metaData_ |
Protected Attributes inherited from inviwo::ProcessorObservable | |
friend | ProcessorNetworkEvaluator |
friend | Property |
A processor generally performs operation on input data and outputs the new result.
It can hold arbitrary number of inports and outports, as well as properties which can be used to customize the processors behavior.
A typical flow for processing Processor 1 is shown below.
* ┌─────────────┐ * │ │ * │ Processor 2 │ * │ ┌─┐ │◀────────────────────────────────────────── Outport 2 * └─┴┬┴─────────┘ * └────────────────┐ * ┌┬▼┬──────────┐ ◀─────────────────────── Inport 1 * │└─┘ │ * │ Processor 1 │ * │┌─┐ │ ◀─────────────────────── Outport 1 * └┴┬┴──────────┘ * └────────────────┐ * ┌┬▼┬──────────┐ ◀────── Inport 0 * │└─┘ │ * │ Processor 0 │ * │┌─┐ │ ◀────── Outport 0 * └┴─┴──────────┘ * * Evaluator Processor 1 Inport 1 Outport 2 * │ │ │ │ * │ │ │ │ * │ │ │ │ * ├─────!isValid?────▶ │ │ * ◀────────No────────┤ │ │ * │ │ │ │ * │ │ │ │ * │ │ │ │ * ├────isReady?──────▶ │ │ * │ ├─────isValid?─────▶ │ * │ │ ├────isValid?──────▶ * │ │ │ ├─────┐ * │ │ │ │ data? * │ │ │ │ valid? * │ │ │ ◀─Yes─┘ * │ │ ◀──────Yes─────────┤ * │ ◀───────Yes────────┤ │ * ◀──────Yes─────────┤ │ │ * │ │ │ │ * │ │ │ │ * │ Inv. Level │ │ │ * ├─────────>────────▶ │ │ * │ INV.RESOURCES │ │ │ * │ │ │ │ * ◀───────Yes────────┤ │ │ * │ │ │ │ * │ │ │ │ * │ │ │ │ * ├──Init. Resources ▶ │ │ * ◀───────Done───────┤ │ │ * │ │ │ │ * │ │ │ │ * │ │ │ │ * ├────GetInports────▶ │ │ * │ ├──callOnChange────▶ │ * │ ◀──────Done────────┤ │ * ◀───────Done───────┤ │ │ * │ │ │ │ * │ │ │ │ * │ │ │ │ * ├────Process───────▶ │ │ * │ ├─────GetData──────▶ │ * │ │ ├────GetData───────▶ * │ │ ◀──────data────────┤ * │ ◀───────data───────┤ │ * │ │ │ │ * │ │ ▼ ▼ * │ │ * │ │ Outport 1 * │ │ │ * │ ├─────SetData──────▶ * │ ◀───────Done───────┤ * ◀───────Done───────┤ │ * │ │ ▼ * │ │ * │ │ Inport 1 * ├─────SetValid─────▶ SetChanged │ * │ ├─────(false)──────▶ * │ ◀───────Done───────┤ * │ │ │ * │ │ ▼ * │ │ * │ │ Outport 1 Inport 0 * │ │ │ │ * │ ├───SetValid───────▶ │ * │ │ ├─────SetValid─────▶ * │ │ │ ├──────┐ * │ │ │ │ SetChanged * │ │ │ │ (true) * │ │ │ ◀──────┘ * │ │ ◀──────Done────────┤ * │ ◀─────Done─────────┤ │ * ◀───────Done───────┤ │ │ * ▼ ▼ ▼ ▼ * *
inviwo::Processor::Processor | ( | std::string_view | identifier = "", |
std::string_view | displayName = "" ) |
Processor constructor, takes two optional arguments.
identifier | Should only contain alpha numeric characters, "-", "_" and " ". |
displayName | Name of processor, arbitrary string. If the parameters are not set, the processor factory will initiate the identifier and displayName with the ProcessorInfo displayName. |
void inviwo::Processor::addInteractionHandler | ( | InteractionHandler * | interactionHandler | ) |
Adds the interaction handler such that it receives events propagated to the processor. Will not add the interaction handler if it has been added before.
interactionHandler | Interaction handler to be added. |
T & inviwo::Processor::addPort | ( | std::unique_ptr< T > | port, |
std::string_view | portGroup = "default" ) |
Add port to processor and pass ownership to processor.
port | to add |
portGroup | name of group to propagate events through (defaults to "default") |
T & inviwo::Processor::addPort | ( | std::unique_ptr< T > | port, |
std::string_view | portGroup = "default" ) |
Add port to processor and pass ownership to processor.
port | to add |
portGroup | name of group to propagate events through (defaults to "default") |
T & inviwo::Processor::addPort | ( | T & | port, |
std::string_view | portGroup = "default" ) |
Add port to processor.
port | to add |
portGroup | name of group to propagate events through (defaults to "default") |
|
inline |
Add ports to processor.
ports | to add |
|
protected |
bool inviwo::Processor::allInportsAreReady | ( | ) | const |
The default function for checking whether all inports are ready. Will return true if all non optional inports are ready.
|
overridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
inlinevirtual |
This function is called by the ProcessorNetworkEvaluator when the network is evaluated and the processor is neither ready or valid.
Reimplemented in inviwo::CanvasProcessor, inviwo::CanvasWithPropertiesProcessor, and inviwo::ProcessorTrampoline.
|
overridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
overridevirtual |
Implements inviwo::PropertyOwner.
|
inlineoverridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
inlineoverridevirtual |
Reimplemented from inviwo::PropertyOwner.
const std::string & inviwo::Processor::getPortGroup | ( | Port * | port | ) | const |
Concept for event propagation. Currently only used for ResizeEvents, which only propagate from outports to inports in the same port group
|
inlineoverridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
inlineoverridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
inlinevirtual |
InitializeResources is called whenever a property with InvalidationLevel::InvalidResources is changes.
Reimplemented in inviwo::Background, inviwo::CameraWidget, inviwo::CropWidget, inviwo::CubeRenderer, inviwo::EmbeddedVolumeSlice, inviwo::FXAA, inviwo::HeightFieldProcessor, inviwo::ImageBinary, inviwo::ImageGLProcessor, inviwo::ImageMixer, inviwo::ImageOverlayGL, inviwo::ImageResample, inviwo::InstanceRenderer, inviwo::ISORaycaster, inviwo::Jacobian2D, inviwo::LayerBinary, inviwo::LayerGLProcessor, inviwo::LayerRenderer, inviwo::LightingRaycaster, inviwo::LineRasterizer, inviwo::MeshRasterizer, inviwo::MeshRenderProcessorGL, inviwo::MultichannelRaycaster, inviwo::plot::ColorScaleLegend, inviwo::ProcessorTrampoline, inviwo::RasterizationRenderer, inviwo::Rasterizer, inviwo::ShaderComponentProcessorBase, inviwo::SphereRasterizer, inviwo::SphereRenderer, inviwo::SSAO, inviwo::StreamParticles, inviwo::TetraMeshVolumeRaycaster, inviwo::TMIP, inviwo::Tonemapping, inviwo::TubeRendering, inviwo::VectorFieldGenerator2D, inviwo::VectorFieldGenerator3D, inviwo::VectorFieldGenerator4D, inviwo::VolumeBinary, inviwo::VolumeGradientProcessor, inviwo::VolumeLowPass, inviwo::VolumeRasterizer, inviwo::VolumeRaycaster, inviwo::VolumeRegionShrink, inviwo::VolumeSequenceToDataFrame, inviwo::VolumeShader, and inviwo::VolumeSliceGL.
|
overridevirtual |
Triggers invalidation. Perform only full reimplementation of this function, meaning never call Processor::invalidate() in your reimplemented invalidation function. The general scheme is that the processor will invalidate is self and it's outports the outports will in turn invalidate their connected inports, which will invalidate their processors. Hence all processors that depend on this one in the network will be invalidated.
Reimplemented from inviwo::PropertyOwner.
Reimplemented in inviwo::PoolProcessor, and inviwo::ProcessorTrampoline.
|
overridevirtual |
Reimplemented from inviwo::PropertyOwner.
|
inlinevirtual |
Return true if ProcessorNetworkEvaluator should evaluate the connection during ProcessorNetwork traversal. An inactive connection will propagate invalidations and events but will not be processed. Useful if the Processor has states in which it does not use an inport.
inport | This processor's inport |
outport | Another processor's outport |
Reimplemented in inviwo::ImageLayoutGL, inviwo::InputSelector< InportType, OutportType >, and inviwo::Layout.
bool inviwo::Processor::isReady | ( | ) | const |
Returns whether the processor is ready to be processed. By default this will call allInportsAreReady. This behavior can be customized by setting the isReady_ update functor.
bool inviwo::Processor::isSink | ( | ) | const |
Returns whether the processor is a sink. I.e. whether it pulls data from the network. By default a processor is a sink if it has no outports. This behavior can be customized by setting the isSink_ update functor. For a processor to be evaluated there have to be a sink among its descendants.
bool inviwo::Processor::isSource | ( | ) | const |
Returns whether the processor is a source. I.e. whether it brings data into the network. By default a processor is a source if it has no inports. This behavior can be customized by setting the isSource_ update functor.
NameDispatcherHandle inviwo::Processor::onDisplayNameChange | ( | std::function< void(std::string_view, std::string_view)> | callback | ) |
Get notified when the processor display name changes. The callback happens after the display name is changed.
callback | gets called with the new and the old display name respectively. |
NameDispatcherHandle inviwo::Processor::onIdentifierChange | ( | std::function< void(std::string_view, std::string_view)> | callback | ) |
Get notified when the processor identifier changes. The callback happens after the identifier is changed.
callback | gets called with the new and the old identifier respectively. |
|
inlinevirtual |
Deriving classes should override this function to do the main work of the processor. This function is called by the ProcessorNetworkEvaluator when the network is evaluated and the processor is invalid, i.e. some of its inports or properties has been modified, and is ready i.e. all non optional inports have valid data.
Reimplemented in inviwo::AxisAlignedCutPlane, inviwo::Background, inviwo::BasicWebBrowser, inviwo::BasisTransform< T >, inviwo::BrushingAndLinkingProcessor, inviwo::BufferToMeshProcessor, inviwo::CalcNormalsProcessor, inviwo::CameraFrustum, inviwo::CameraWidget, inviwo::CanvasProcessor, inviwo::CanvasWithPropertiesProcessor, inviwo::CompositeProcessor, inviwo::CompositeSink< InportType, OutportType >, inviwo::CompositeSource< InportType, OutportType >, inviwo::ConvexHull2DProcessor, inviwo::CropWidget, inviwo::CSVSource, inviwo::CubeProxyGeometry, inviwo::CubeRenderer, inviwo::DataExport< DataType, PortType >, inviwo::DataExport< Layer, ImageInport >, inviwo::DataExport< Mesh, MeshInport >, inviwo::DataExport< Volume, VolumeInport >, inviwo::DataFrameExporter, inviwo::DataFrameFilter, inviwo::DataFrameFloat32Converter, inviwo::DataFrameJoin, inviwo::DataFrameMetaData, inviwo::DataFrameTable, inviwo::DataFrameToVector, inviwo::DataSource< DataType, PortType, ReaderType >, inviwo::DataSource< DataFrame, DataFrameOutport >, inviwo::DataSource< Image, ImageOutport, Layer >, inviwo::DataSource< Layer, LayerOutport >, inviwo::DataSource< Mesh, MeshOutport >, inviwo::DepthDarkening, inviwo::DepthOfField, inviwo::DiffuseLightSourceProcessor, inviwo::DirectionalLightSourceProcessor, inviwo::DiscardShortLines, inviwo::DistanceTransformRAM, inviwo::DrawLines, inviwo::DrawPoints, inviwo::EigenMatrixToImage, inviwo::EigenMix, inviwo::EigenNormalize, inviwo::EmbeddedVolumeSlice, inviwo::EntryExitPoints, inviwo::FirstIvwProcessor, inviwo::Fog, inviwo::FXAA, inviwo::GeometryEntryExitPoints, inviwo::glui::GLUIProcessor, inviwo::GLUITestProcessor, inviwo::GridPlanes, inviwo::hdf5::HDF5ToVolume, inviwo::hdf5::PathSelection, inviwo::hdf5::Source, inviwo::HdrBloom, inviwo::HedgeHog2D, inviwo::HeightFieldMapper, inviwo::HeightFieldProcessor, inviwo::HistogramToDataFrame< T >, inviwo::ImageChannelCombine, inviwo::ImageCompositeProcessorGL, inviwo::ImageContourProcessor, inviwo::ImageDistanceTransform, inviwo::ImageFilter, inviwo::ImageGLProcessor, inviwo::ImageInformation, inviwo::ImageLayer, inviwo::ImageLayoutGL, inviwo::ImageLowPass, inviwo::ImageMixer, inviwo::ImageOverlayGL, inviwo::ImageScaling, inviwo::ImageSnapshot, inviwo::ImageSourceSeries, inviwo::ImageStackVolumeSource, inviwo::ImageSubsetGL, inviwo::ImageToDataFrame, inviwo::ImageToLayer, inviwo::ImageToSpatialSampler, inviwo::InputSelector< InportType, OutportType >, inviwo::InstanceRenderer, inviwo::IntegralLineTracerProcessor< Tracer >, inviwo::IntegralLineVectorToMesh, inviwo::ISORaycaster, inviwo::LayerBoundingBox, inviwo::LayerCombiner, inviwo::LayerContour, inviwo::LayerDistanceTransform, inviwo::LayerGLProcessor, inviwo::LayerInformation, inviwo::LayerRenderer, inviwo::LayerResampling, inviwo::LayerSequenceSource, inviwo::LayerSeriesSource, inviwo::LayerToImage, inviwo::LayerToSpatialSampler, inviwo::Layout, inviwo::LightingRaycaster, inviwo::LightVolumeGL, inviwo::LineRendererProcessor, inviwo::LorenzSystem, inviwo::Mesh2DRenderProcessorGL, inviwo::MeshClipping, inviwo::MeshColorFromNormals, inviwo::MeshConverterProcessor, inviwo::MeshCreator, inviwo::MeshInformation, inviwo::MeshMapping, inviwo::MeshPicking, inviwo::MeshPlaneClipping, inviwo::MeshRenderProcessorGL, inviwo::MeshVolumeRenderer, inviwo::MovieExport, inviwo::MultichannelRaycaster, inviwo::NoiseGenerator2D, inviwo::NoiseGenerator3D, inviwo::OrientationIndicator, inviwo::PathLinesDeprecated, inviwo::PixelToBufferProcessor, inviwo::PixelValue, inviwo::plot::AxisRenderProcessor, inviwo::plot::ColorScaleLegend, inviwo::plot::DataFrameColumnToColorVector, inviwo::plot::ImagePlotProcessor, inviwo::plot::LayerAxis, inviwo::plot::MeshAxis, inviwo::plot::ParallelCoordinates, inviwo::plot::PersistenceDiagramPlotProcessor, inviwo::plot::ScatterPlotMatrixProcessor, inviwo::plot::ScatterPlotProcessor, inviwo::plot::VolumeAxis, inviwo::Point3DGenerationProcessor, inviwo::PointLightSourceProcessor, inviwo::PointRenderer, inviwo::PresentationProcessor, inviwo::ProcessorTrampoline, inviwo::RandomMeshGenerator, inviwo::RandomSphereGenerator, inviwo::RasterizationRenderer, inviwo::Rasterizer, inviwo::RBFVectorFieldGenerator2D, inviwo::RBFVectorFieldGenerator3D, inviwo::RedGreenProcessor, inviwo::Seed3Dto4D, inviwo::SeedPointGenerator2D, inviwo::SeedPointGenerator, inviwo::SeedPointsFromMask, inviwo::SeedsFromMaskSequence, inviwo::ShaderComponentProcessorBase, inviwo::SingleVoxel, inviwo::SphereRenderer, inviwo::SplitImage, inviwo::SpotLightSourceProcessor, inviwo::SSAO, inviwo::StereoCameraSyncer, inviwo::StreamLinesDeprecated, inviwo::StreamParticles, inviwo::StreamRibbonsDeprecated, inviwo::SurfaceExtraction, inviwo::SyntheticDataFrame, inviwo::TestMatrix, inviwo::TetraMeshBoundaryExtractor, inviwo::TetraMeshBoundingBox, inviwo::TetraMeshVolumeRaycaster, inviwo::TextOverlayGL, inviwo::TFSelector, inviwo::TMIP, inviwo::Transform< T >, inviwo::TrianglesToWireframe, inviwo::TubeRendering, inviwo::VectorElementSelectorProcessor< T, OutportType >, inviwo::VectorElementSelectorProcessor< Image, ImageOutport >, inviwo::VectorElementSelectorProcessor< Layer, LayerOutport >, inviwo::VectorElementSelectorProcessor< Mesh, MeshOutport >, inviwo::VectorElementSelectorProcessor< Volume >, inviwo::VectorFieldGenerator2D, inviwo::VectorFieldGenerator3D, inviwo::VectorFieldGenerator4D, inviwo::VectorToBuffer< T >, inviwo::VolumeBoundaryPlanes, inviwo::VolumeBoundingBox, inviwo::VolumeChannelCombiner, inviwo::VolumeCombiner, inviwo::VolumeConverter, inviwo::VolumeCreator, inviwo::VolumeCurlCPUProcessor, inviwo::VolumeDivergenceCPUProcessor, inviwo::VolumeDownsample, inviwo::VolumeGLProcessor, inviwo::VolumeGradientCPUProcessor, inviwo::VolumeInformation, inviwo::VolumeLaplacianProcessor, inviwo::VolumeNormalizationProcessor, inviwo::VolumeRaycaster, inviwo::VolumeRegionMapper, inviwo::VolumeRegionShrink, inviwo::VolumeRegionStatistics, inviwo::VolumeSequenceSingleTimestepSamplerProcessor, inviwo::VolumeSequenceSource, inviwo::VolumeSequenceToDataFrame, inviwo::VolumeSequenceToSpatial4DSampler, inviwo::VolumeShifter, inviwo::VolumeSliceExtractor, inviwo::VolumeSliceGL, inviwo::VolumeSource, inviwo::VolumeSubset, inviwo::VolumeToDataFrame, inviwo::VolumeToSpatialSampler, inviwo::VolumeToTetraMesh, inviwo::VolumeVoronoiSegmentation, inviwo::WebBrowserProcessor, and inviwo::WorldTransformDeprecated< T >.
Implements inviwo::EventPropagator.
Reimplemented in inviwo::CompositeProcessor.
void inviwo::Processor::removeInteractionHandler | ( | InteractionHandler * | interactionHandler | ) |
Remove the interaction handler such that events are not propagated. The interaction handler will not be deleted by the processor.
interactionHandler | Interaction handler to be removed. |
|
protected |
Removes port from its group, even if it is the default one.
|
overridevirtual |
Reimplemented from inviwo::PropertyOwner.
void inviwo::Processor::setDisplayName | ( | std::string_view | displayName | ) |
Name of processor, arbitrary string. By default initialized to the ProcessorInfo displayName. This name will be shown on various graphical representations.
void inviwo::Processor::setIdentifier | ( | std::string_view | identifier | ) |
Sets the identifier of the Processor. Processor identifiers should only contain alpha numeric characters, "-", "_" and " ". If there already exist a processor with that identifier or if the identifier is invalid an Exception will be thrown. By default initialized to the ProcessorInfo displayName. When adding the processor to a network the network will use util::findUniqueIdentifier to modify the identifier if it is already used in the network.
|
overridevirtual |
Called by the network after Processor::process has been called. This will set the following to valid
Reimplemented from inviwo::PropertyOwner.
Reimplemented in inviwo::ProcessorTrampoline, and inviwo::Rasterizer.
const ProcessorStatus & inviwo::Processor::status | ( | ) | const |
Returns whether the processor is ready to be processed. By default this will call allInportsAreReady. This behavior can be customized by setting the isReady_ update functor.