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 <inviwo/core/ports/port.h>

Inheritance diagram for inviwo::Port:

Public Member Functions

virtual void deserialize (Deserializer &d) override
virtual std::string_view getClassIdentifier () const =0
virtual glm::uvec3 getColorCode () const =0
DocumentgetHelp ()
const DocumentgetHelp () const
const std::string & getIdentifier () const
virtual Document getInfo () const =0
std::string getPath () const
 Get the port path i.e. <processor identifier>.<port identifier>.
void getPath (std::pmr::string &out) const
Processor * getProcessor () const
virtual bool isConnected () const =0
virtual bool isReady () const =0
Port & operator= (const Port &)=delete
Port & operator= (Port &&)=delete
 Port (const Port &)=delete
 Port (Port &&)=delete
virtual void serialize (Serializer &s) const override
Port & setHelp (Document help)
void setIdentifier (const std::string &name)

Protected Member Functions

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

Protected Attributes

Document help_
std::string identifier_
Processor * processor_

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< BufferBase >, inviwo::DataInport< DataFrame >, inviwo::DataInport< DataFrame, 0 >, inviwo::DataInport< DataType >, inviwo::DataInport< Eigen::MatrixXf >, inviwo::DataInport< Handle >, inviwo::DataInport< Image, 1 >, 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::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< Layer, 0, true >, inviwo::DataInport< Mesh >, inviwo::DataInport< Mesh, 0 >, inviwo::DataInport< Mesh, 0, true >, inviwo::DataInport< Rasterization, 0 >, inviwo::DataInport< SeedPoint2DVector, 0 >, inviwo::DataInport< SeedPoint3DVector, 0 >, inviwo::DataInport< SeedPoint4DVector, 0 >, inviwo::DataInport< SeedPointVector< Dims >, 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< T, 0, false >, inviwo::DataInport< T, 0, true >, inviwo::DataInport< TetraMesh >, inviwo::DataInport< TetraMesh, 0 >, inviwo::DataInport< TetraMesh, 0, true >, 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::DataSequence< inviwo::Mesh > >, 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< json >, inviwo::DataOutport< Layer >, inviwo::DataOutport< LayerSequence >, inviwo::DataOutport< Mesh >, inviwo::DataOutport< Rasterization >, inviwo::DataOutport< SeedPoint2DVector >, inviwo::DataOutport< SeedPoint3DVector >, inviwo::DataOutport< SeedPoint4DVector >, inviwo::DataOutport< SeedPointVector< Dims > >, 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< N >, inviwo::BaseImageInport< 0 >, inviwo::BaseImageInport< 1 >, inviwo::BrushingAndLinkingInport, inviwo::BrushingAndLinkingOutport, inviwo::DataInport< T, N, Flat >, inviwo::DataInport< BufferBase >, inviwo::DataInport< DataFrame >, inviwo::DataInport< DataFrame, 0 >, inviwo::DataInport< DataType >, inviwo::DataInport< Eigen::MatrixXf >, inviwo::DataInport< Handle >, inviwo::DataInport< Image, 1 >, 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::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< Layer, 0, true >, inviwo::DataInport< Mesh >, inviwo::DataInport< Mesh, 0 >, inviwo::DataInport< Mesh, 0, true >, inviwo::DataInport< Rasterization, 0 >, inviwo::DataInport< SeedPoint2DVector, 0 >, inviwo::DataInport< SeedPoint3DVector, 0 >, inviwo::DataInport< SeedPoint4DVector, 0 >, inviwo::DataInport< SeedPointVector< Dims >, 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< T, 0, false >, inviwo::DataInport< T, 0, true >, inviwo::DataInport< TetraMesh >, inviwo::DataInport< TetraMesh, 0 >, inviwo::DataInport< TetraMesh, 0, true >, 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::DataSequence< inviwo::Mesh > >, 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< json >, inviwo::DataOutport< Layer >, inviwo::DataOutport< LayerSequence >, inviwo::DataOutport< Mesh >, inviwo::DataOutport< Rasterization >, inviwo::DataOutport< SeedPoint2DVector >, inviwo::DataOutport< SeedPoint3DVector >, inviwo::DataOutport< SeedPoint4DVector >, inviwo::DataOutport< SeedPointVector< Dims > >, 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:
  • include/inviwo/core/ports/port.h