Inviwo 0.9.12-pre
Inviwo documentation
|
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>
Public Member Functions | |
Port (const Port &)=delete | |
Port & | operator= (const Port &)=delete |
Port (Port &&)=delete | |
Port & | operator= (Port &&)=delete |
const std::string & | getIdentifier () const |
void | setIdentifier (const std::string &name) |
Processor * | getProcessor () 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 Document & | getHelp () const |
Document & | getHelp () |
Port & | setHelp (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_ |
Processor * | processor_ |
Document | help_ |
Friends | |
class | Processor |
A abstract base class for all ports. A port can be connected to other ports and is owned by a processor.
|
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.
identifier | Port identifier used for serialization. Has to be unique within the scope of a processor. Port identifiers should only contain alpha numeric characters, "-" and "_". |
help | The help should describe what data the port expects/produces and how it is used. |
|
overridevirtual |
Implements inviwo::Serializable.
|
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.
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
|
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.
|
pure virtual |
Implemented in inviwo::Inport, and inviwo::Outport.
|
overridevirtual |
Implements inviwo::Serializable.