fast::Pipeline class

A class representing a text pipeline.

Public static functions

static auto fromDataHub(std::string itemID, StringMap variables = StringMap(), DataHub&& hub = DataHub()) -> Pipeline
Create pipeline object from DataHub This will download the pipeline item from the DataHub and any dependencies (models, data etc.).

Constructors, destructors, conversion operators

Pipeline(std::string filename, StringMap variables = StringMap())
Setup a text pipeline.

Public functions

auto getViews() const -> std::vector<View*>
Get all views in this pipeline.
auto getRenderers() -> std::vector<std::shared_ptr<Renderer>>
Get renderers in this pipeline.
auto getProcessObjects() const -> std::map<std::string, std::shared_ptr<ProcessObject>>
Get all process objects in this pipeline, excluding renderers.
auto getProcessObject(std::string name) -> std::shared_ptr<ProcessObject>
Get a process object in this pipeline.
auto getName() const -> std::string
auto getDescription() const -> std::string
auto getFilename() const -> std::string
auto getPipelineAttribute(std::string name) const -> std::string
Get pipeline attribute.
auto getPipelineAttributes() const -> std::map<std::string, std::string>
Get all pipeline attributes;.
void parse(DataMap inputData = DataMap(), ProcessObjectMap processObjects = ProcessObjectMap(), bool visualization = true)
Parse the pipeline file.
auto isParsed() const -> bool
Check if pipeline has been parsed.
auto run(DataMap inputData = DataMap(), ProcessObjectMap processObjects = ProcessObjectMap(), bool visualization = true) -> std::map<std::string, DataObject::pointer>
Parse and run this pipeline. If pipeline contains views, it will open a window and render.
auto getRequiredPipelineInputData() const -> std::map<std::string, std::string>
Get list of all required input data for this pipeline.
auto getAllPipelineOutputData(std::function<void(float)> progressFunction) -> std::map<std::string, DataObject::pointer>
Get all data objects which has been declared as output data in this pipeline.
auto getAllPipelineOutputData() -> std::map<std::string, DataObject::pointer>
Get all data objects which has been declared as output data in this pipeline.
auto getPipelineOutputData(std::string name, std::function<void(float)> progressFunction) -> DataObject::pointer
Get data object which has been declared as output data in this pipeline with a given name.
auto getPipelineOutputData(std::string name) -> DataObject::pointer
Get data object which has been declared as output data in this pipeline with a given name.
auto hasWindow() -> bool
Check whether pipeline has a window specified or not.
auto getWindow() -> std::shared_ptr<Window>
Get window defined in pipeline. If none is defined it will be a nullptr.

Function documentation

static Pipeline fast::Pipeline::fromDataHub(std::string itemID, StringMap variables = StringMap(), DataHub&& hub = DataHub())

Create pipeline object from DataHub This will download the pipeline item from the DataHub and any dependencies (models, data etc.).

Parameters
itemID DataHub item ID
variables
hub
Returns pipeline

fast::Pipeline::Pipeline(std::string filename, StringMap variables = StringMap())

Setup a text pipeline.

Parameters
filename path to text pipeline file
variables

std::vector<View*> fast::Pipeline::getViews() const

Get all views in this pipeline.

Returns list of views

std::vector<std::shared_ptr<Renderer>> fast::Pipeline::getRenderers()

Get renderers in this pipeline.

Returns list of renderers

std::map<std::string, std::shared_ptr<ProcessObject>> fast::Pipeline::getProcessObjects() const

Get all process objects in this pipeline, excluding renderers.

Returns list of process objects

std::shared_ptr<ProcessObject> fast::Pipeline::getProcessObject(std::string name)

Get a process object in this pipeline.

Parameters
name Name of process object to extract
Returns process object

std::string fast::Pipeline::getPipelineAttribute(std::string name) const

Get pipeline attribute.

Returns attribute value

std::map<std::string, std::string> fast::Pipeline::getPipelineAttributes() const

Get all pipeline attributes;.

Returns map of attributes

void fast::Pipeline::parse(DataMap inputData = DataMap(), ProcessObjectMap processObjects = ProcessObjectMap(), bool visualization = true)

Parse the pipeline file.

Parameters
inputData Input data objects
processObjects Process objects to connect to this pipeline
visualization If false parse will ignore any renderers and views

std::map<std::string, DataObject::pointer> fast::Pipeline::run(DataMap inputData = DataMap(), ProcessObjectMap processObjects = ProcessObjectMap(), bool visualization = true)

Parse and run this pipeline. If pipeline contains views, it will open a window and render.

Parameters
inputData Input data objects
processObjects Process objects to connect to this pipeline
visualization If false parse will ignore any renderers and views
Returns pipeline output data

std::map<std::string, DataObject::pointer> fast::Pipeline::getAllPipelineOutputData(std::function<void(float)> progressFunction)

Get all data objects which has been declared as output data in this pipeline.

Parameters
progressFunction
Returns map of pipeline output data

Pipeline output data is declared using "PipelineOutputData <name> <process object> <output port id>" This function will block until done. Use progress function to log progress.

std::map<std::string, DataObject::pointer> fast::Pipeline::getAllPipelineOutputData()

Get all data objects which has been declared as output data in this pipeline.

Returns map of pipeline output data

Pipeline output data is declared using "PipelineOutputData <name> <process object> <output port id>" This function will block until done.

DataObject::pointer fast::Pipeline::getPipelineOutputData(std::string name, std::function<void(float)> progressFunction)

Get data object which has been declared as output data in this pipeline with a given name.

Parameters
name
progressFunction
Returns pipeline output data object

Pipeline output data is declared using "PipelineOutputData <name> <process object> <output port id>" This function will block until done. Use progress function to log progress.

DataObject::pointer fast::Pipeline::getPipelineOutputData(std::string name)

Get data object which has been declared as output data in this pipeline with a given name.

Returns pipeline output data object

Pipeline output data is declared using "PipelineOutputData <name> <process object> <output port id>" This function will block until done.

bool fast::Pipeline::hasWindow()

Check whether pipeline has a window specified or not.

Returns If pipeline has defined a pipeline

std::shared_ptr<Window> fast::Pipeline::getWindow()

Get window defined in pipeline. If none is defined it will be a nullptr.

Returns Window defined in pipeline, null if none was defined.