![]() |
ImFusion C++ SDK 4.4.0
|
#include <ImFusion/Stream/StreamAlgorithmBase.h>
Interface for algorithms that work on streams. More...
Interface for algorithms that work on streams.
It is implemented by StreamAlgorithm and StreamIoAlgorithm. To create an algorithm for a stream a user should use CreateStreamAlgorithm or CreateStreamIoAlgorithm.
Public Member Functions | |
| bool | isOutputTaken () const |
| virtual Stream * | stream ()=0 |
| virtual DataGroup * | dataGroup () |
| virtual OwningDataList | takeOutput () |
| Returns an OwningDataList containing the stream and sets m_isOutputTaken to true. | |
| Public Member Functions inherited from ImFusion::SignalReceiver | |
| SignalReceiver ()=default | |
| Default constructor. | |
| SignalReceiver (const SignalReceiver &other) | |
| Copy constructor, does not copy any existing signal connections from other. | |
| SignalReceiver & | operator= (SignalReceiver rhs) |
| Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs. | |
| virtual | ~SignalReceiver () |
| Virtual destructor disconnects from all connected signals. | |
Protected Member Functions | |
| virtual void | resetStream ()=0 |
| Deletes the stream if m_isOutputTaken is false. In any case sets the stream to nullptr. | |
| Protected Member Functions inherited from ImFusion::SignalReceiver | |
| void | disconnectAll () |
| Disconnects all existing connections. | |
Protected Attributes | |
| bool | m_isOutputTaken = false |
|
pure virtual |
|
virtual |
Returns an OwningDataList containing the stream and sets m_isOutputTaken to true.
If m_isOutputTaken is already true then an empty list is returned.
Reimplemented in ImFusion::CreateGroupedStereoImageStreamAlgorithm, ImFusion::CreateStreamAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue, takesArguments >, ImFusion::CreateStreamAlgorithm< CombinedTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< RobotTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< RobotUSTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< SmoothedTrackingStream, true, true, true >, ImFusion::CreateStreamIoAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue >, ImFusion::CreateStreamIoAlgorithm< FakeImageStream, true, true >, ImFusion::CreateStreamIoAlgorithm< FakeTrackingStream, true, true >, ImFusion::CreateStreamIoAlgorithm< NDIAuroraTrackingStream, false, false >, ImFusion::CreateStreamIoAlgorithm< NDIPolarisSerialTrackingStream, false, false >, ImFusion::CreateStreamIoAlgorithm< NDIPolarisTrackingStream, false, false >, ImFusion::PlaybackAlgorithm, ImFusion::PlaybackStereoImageStreamAlgorithm, and ImFusion::StreamAlgorithmExecutor.
|
protectedpure virtual |
Deletes the stream if m_isOutputTaken is false. In any case sets the stream to nullptr.
Implemented in ImFusion::CreateGroupedStereoImageStreamAlgorithm, ImFusion::CreateStreamAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue, takesArguments >, ImFusion::CreateStreamAlgorithm< CombinedTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< RobotTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< RobotUSTrackingStream, true, true, true >, ImFusion::CreateStreamAlgorithm< SmoothedTrackingStream, true, true, true >, ImFusion::CreateStreamIoAlgorithm< T, autoOpenDefaultValue, autoConnectDefaultValue >, ImFusion::CreateStreamIoAlgorithm< FakeImageStream, true, true >, ImFusion::CreateStreamIoAlgorithm< FakeTrackingStream, true, true >, ImFusion::CreateStreamIoAlgorithm< NDIAuroraTrackingStream, false, false >, ImFusion::CreateStreamIoAlgorithm< NDIPolarisSerialTrackingStream, false, false >, ImFusion::CreateStreamIoAlgorithm< NDIPolarisTrackingStream, false, false >, ImFusion::PlaybackAlgorithm, ImFusion::PlaybackStereoImageStreamAlgorithm, and ImFusion::StreamAlgorithmExecutor.