![]() |
ImFusion SDK 4.3
|
Utilities to make Streams available in the ImFusion Suite. More...
Collaboration diagram for Instantiating Streams in ImFusion Suite:Utilities to make Streams available in the ImFusion Suite.
When using streams directly from the SDK in an application, a user only needs to instantiate the Stream object. But in order to make any Data available in the ImFusion Suite and add it to the data model, it has to be created through an Algorithm. This is also true for Streams, regardless of whether they are IO streams interfacing with external devices or processing streams that create new data from existing streams.
The Algorithm also acts as a bridge between the Stream and the corresponding Controller and manages the Stream object's lifetime.
For this purpose, the ImFusion SDK provides a set of templated Stream creation Algorithms, that can be used to instantiate the majority of custom Streams in any plugin:
For both of these Algorithms you can also use the simple StreamControllerBase as the associated Controller. This allows interaction with the Stream, as well as its configuration with autogenerated GUI elements. This allows you to quickly create a Stream that can be used in the ImFusion Suite.
Example usage of the CreateStreamAlgorithm in the Algorithm and Controller factories of a plugin:
Example usage of the CreateStreamIoAlgorithm in the Algorithm and Controller factories of a plugin:
For cases in which you want to specialize the stream Controller, you can also create a class deriving from the StreamControllerBase.
Classes | |
| class | CreateStreamAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue, takesArguments > |
| Algorithm template to create streams. More... | |
| class | CreateStreamIoAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue > |
| IO algorithm template to create streams. More... | |
| class | StreamAlgorithm |
| Type-erased base of CreateStreamAlgorithm. More... | |
| class | StreamAlgorithmBase |
| Interface for algorithms that work on streams. More... | |
| class | StreamController |
| Implementation of the DataController interface for manipulating streams. More... | |
| class | StreamControllerBase |
| Base AlgorithmController for creating controllers of streaming algorithms, but it can also be used directly to show a auto generated UI for a Stream. More... | |
| class | StreamIoAlgorithm |
| Type-erased base of CreateStreamIoAlgorithm. More... | |