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

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< 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:
  • port.h