Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::Port Class Referenceabstract

A abstract base class for all ports. A port can be connected to other ports and is owned by a processor. More...

#include <port.h>

+ Inheritance diagram for inviwo::Port:

Public Member Functions

 Port (const Port &)=delete
 
Portoperator= (const Port &)=delete
 
 Port (Port &&)=delete
 
Portoperator= (Port &&)=delete
 
const std::string & getIdentifier () const
 
void setIdentifier (const std::string &name)
 
ProcessorgetProcessor () const
 
std::string getPath () const
 Get the port path i.e. <processor identifier>.<port identifier>
 
void getPath (std::pmr::string &out) const
 
virtual std::string_view getClassIdentifier () const =0
 
virtual glm::uvec3 getColorCode () const =0
 
virtual Document getInfo () const =0
 
virtual bool isConnected () const =0
 
virtual bool isReady () const =0
 
const DocumentgetHelp () const
 
DocumentgetHelp ()
 
PortsetHelp (Document help)
 
virtual void serialize (Serializer &s) const override
 
virtual void deserialize (Deserializer &d) override
 
- Public Member Functions inherited from inviwo::Serializable

Protected Member Functions

 Port (std::string_view identifier, Document help)
 
void setProcessor (Processor *processor)
 

Protected Attributes

std::string identifier_
 
Processorprocessor_
 
Document help_
 

Friends

class Processor
 

Detailed Description

A abstract base class for all ports. A port can be connected to other ports and is owned by a processor.

Constructor & Destructor Documentation

◆ Port()

inviwo::Port::Port ( std::string_view identifier,
Document help )
protected

Constructor for creating port instances. As this class is abstract, the constructor is not called directly. Instead, constructors of the derived classes call this constructor.

Parameters
identifierPort identifier used for serialization. Has to be unique within the scope of a processor. Port identifiers should only contain alpha numeric characters, "-" and "_".
helpThe help should describe what data the port expects/produces and how it is used.
See also
Processor::addPort()

Member Function Documentation

◆ deserialize()

virtual void inviwo::Port::deserialize ( Deserializer & d)
overridevirtual

Implements inviwo::Serializable.

◆ getColorCode()

virtual glm::uvec3 inviwo::Port::getColorCode ( ) const
pure virtual

Returns the RGB color code used to colorize all ports of this type. This color code is for instance used in the NetworkEditor. To distinguish different port types through their color, this method should be overloaded in derived classes.

Implemented in inviwo::BrushingAndLinkingInport, inviwo::BrushingAndLinkingOutport, inviwo::DataInport< T, N, Flat >, inviwo::DataInport< 3 >, inviwo::DataInport< BufferBase >, inviwo::DataInport< DataFrame >, inviwo::DataInport< DataType >, inviwo::DataInport< Eigen::MatrixXf >, inviwo::DataInport< Handle >, inviwo::DataInport< Image, N >, inviwo::DataInport< IntegralLineSet >, inviwo::DataInport< inviwo::DataFrame >, inviwo::DataInport< inviwo::DataSequence< Image > >, inviwo::DataInport< inviwo::DataSequence< Layer > >, inviwo::DataInport< inviwo::DataSequence< Mesh > >, inviwo::DataInport< inviwo::DataSequence< T > >, inviwo::DataInport< inviwo::DataSequence< Volume > >, inviwo::DataInport< inviwo::LightSource >, inviwo::DataInport< inviwo::Plane >, inviwo::DataInport< inviwo::Spatial4DSampler< dvec3 > >, inviwo::DataInport< inviwo::SpatialSampler< dvec3 > >, inviwo::DataInport< inviwo::Volume >, inviwo::DataInport< inviwo::Volume, 0 >, inviwo::DataInport< inviwo::Volume, 0, true >, inviwo::DataInport< json >, inviwo::DataInport< Layer >, inviwo::DataInport< Layer, 0 >, inviwo::DataInport< Mesh >, inviwo::DataInport< Mesh, 0, true >, inviwo::DataInport< Rasterization, 0 >, inviwo::DataInport< SeedPoint3DVector, 0 >, inviwo::DataInport< std::vector< std::shared_ptr< inviwo::Volume > > >, inviwo::DataInport< std::vector< std::string > >, inviwo::DataInport< std::vector< T > >, inviwo::DataInport< std::vector< vec4 > >, inviwo::DataInport< TetraMesh >, inviwo::DataInport< Tracer::Sampler::SpatialDimensions >, inviwo::DataInport< typename Tracer::Sampler >, inviwo::DataInport< typename Tracer::Sampler, 0 >, inviwo::DataInport< Volume >, inviwo::DataInport< VolumeSequence >, inviwo::DataOutport< T >, inviwo::DataOutport< BufferBase >, inviwo::DataOutport< DataFrame >, inviwo::DataOutport< DataType >, inviwo::DataOutport< Eigen::MatrixXf >, inviwo::DataOutport< Handle >, inviwo::DataOutport< Image >, inviwo::DataOutport< IntegralLineSet >, inviwo::DataOutport< inviwo::DataFrame >, inviwo::DataOutport< inviwo::LightSource >, inviwo::DataOutport< inviwo::Plane >, inviwo::DataOutport< inviwo::Spatial4DSampler< dvec3 > >, inviwo::DataOutport< inviwo::SpatialSampler< dvec2 > >, inviwo::DataOutport< inviwo::SpatialSampler< dvec3 > >, inviwo::DataOutport< Layer >, inviwo::DataOutport< LayerSequence >, inviwo::DataOutport< Mesh >, inviwo::DataOutport< Rasterization >, inviwo::DataOutport< SeedPoint3DVector >, inviwo::DataOutport< SeedPoint4DVector >, inviwo::DataOutport< std::vector< float > >, inviwo::DataOutport< std::vector< inviwo::Plane > >, inviwo::DataOutport< std::vector< std::shared_ptr< inviwo::Mesh > > >, inviwo::DataOutport< std::vector< std::string > >, inviwo::DataOutport< std::vector< uint32_t > >, inviwo::DataOutport< std::vector< vec3 > >, inviwo::DataOutport< std::vector< vec4 > >, inviwo::DataOutport< TetraMesh >, inviwo::DataOutport< Volume >, inviwo::DataOutport< VolumeSequence >, inviwo::PythonInport, and inviwo::PythonOutport.

◆ getHelp()

const Document & inviwo::Port::getHelp ( ) const

The help should describe what data the port expects/produces and how it is used. This will be shown in the Processor help, and as part of the port info in the port tooltip in the GUI

◆ getInfo()

virtual Document inviwo::Port::getInfo ( ) const
pure virtual

This function should describe the state of the port and the data it holds. Derived ports should extend this function and add information about their state. The port help is usually included in this information. The description is usually shown as a tooltip in the GUI.

Implemented in inviwo::BaseImageInport< size_t >, inviwo::BaseImageInport< 0 >, inviwo::BaseImageInport< 1 >, inviwo::BrushingAndLinkingInport, inviwo::BrushingAndLinkingOutport, inviwo::DataInport< T, N, Flat >, inviwo::DataInport< 3 >, inviwo::DataInport< BufferBase >, inviwo::DataInport< DataFrame >, inviwo::DataInport< DataType >, inviwo::DataInport< Eigen::MatrixXf >, inviwo::DataInport< Handle >, inviwo::DataInport< Image, N >, inviwo::DataInport< IntegralLineSet >, inviwo::DataInport< inviwo::DataFrame >, inviwo::DataInport< inviwo::DataSequence< Image > >, inviwo::DataInport< inviwo::DataSequence< Layer > >, inviwo::DataInport< inviwo::DataSequence< Mesh > >, inviwo::DataInport< inviwo::DataSequence< T > >, inviwo::DataInport< inviwo::DataSequence< Volume > >, inviwo::DataInport< inviwo::LightSource >, inviwo::DataInport< inviwo::Plane >, inviwo::DataInport< inviwo::Spatial4DSampler< dvec3 > >, inviwo::DataInport< inviwo::SpatialSampler< dvec3 > >, inviwo::DataInport< inviwo::Volume >, inviwo::DataInport< inviwo::Volume, 0 >, inviwo::DataInport< inviwo::Volume, 0, true >, inviwo::DataInport< json >, inviwo::DataInport< Layer >, inviwo::DataInport< Layer, 0 >, inviwo::DataInport< Mesh >, inviwo::DataInport< Mesh, 0, true >, inviwo::DataInport< Rasterization, 0 >, inviwo::DataInport< SeedPoint3DVector, 0 >, inviwo::DataInport< std::vector< std::shared_ptr< inviwo::Volume > > >, inviwo::DataInport< std::vector< std::string > >, inviwo::DataInport< std::vector< T > >, inviwo::DataInport< std::vector< vec4 > >, inviwo::DataInport< TetraMesh >, inviwo::DataInport< Tracer::Sampler::SpatialDimensions >, inviwo::DataInport< typename Tracer::Sampler >, inviwo::DataInport< typename Tracer::Sampler, 0 >, inviwo::DataInport< Volume >, inviwo::DataInport< VolumeSequence >, inviwo::DataOutport< T >, inviwo::DataOutport< BufferBase >, inviwo::DataOutport< DataFrame >, inviwo::DataOutport< DataType >, inviwo::DataOutport< Eigen::MatrixXf >, inviwo::DataOutport< Handle >, inviwo::DataOutport< Image >, inviwo::DataOutport< IntegralLineSet >, inviwo::DataOutport< inviwo::DataFrame >, inviwo::DataOutport< inviwo::LightSource >, inviwo::DataOutport< inviwo::Plane >, inviwo::DataOutport< inviwo::Spatial4DSampler< dvec3 > >, inviwo::DataOutport< inviwo::SpatialSampler< dvec2 > >, inviwo::DataOutport< inviwo::SpatialSampler< dvec3 > >, inviwo::DataOutport< Layer >, inviwo::DataOutport< LayerSequence >, inviwo::DataOutport< Mesh >, inviwo::DataOutport< Rasterization >, inviwo::DataOutport< SeedPoint3DVector >, inviwo::DataOutport< SeedPoint4DVector >, inviwo::DataOutport< std::vector< float > >, inviwo::DataOutport< std::vector< inviwo::Plane > >, inviwo::DataOutport< std::vector< std::shared_ptr< inviwo::Mesh > > >, inviwo::DataOutport< std::vector< std::string > >, inviwo::DataOutport< std::vector< uint32_t > >, inviwo::DataOutport< std::vector< vec3 > >, inviwo::DataOutport< std::vector< vec4 > >, inviwo::DataOutport< TetraMesh >, inviwo::DataOutport< Volume >, inviwo::DataOutport< VolumeSequence >, inviwo::ImageOutport, inviwo::PythonInport, and inviwo::PythonOutport.

◆ isReady()

virtual bool inviwo::Port::isReady ( ) const
pure virtual

Implemented in inviwo::Inport, and inviwo::Outport.

◆ serialize()

virtual void inviwo::Port::serialize ( Serializer & s) const
overridevirtual

Implements inviwo::Serializable.


The documentation for this class was generated from the following file: