![]() |
ImFusion SDK 4.3
|
Fundamental classes for streaming data. More...
Collaboration diagram for Streams and StreamData:Fundamental classes for streaming data.
The Stream and StreamData classes form the core of the ImFusion streaming architecture.
The Stream class and its subclasses provide a framework for handling streaming data in various forms. This includes support for different data types. Most important are the ImageStream, TrackingStream, and the PolyDataStream classes, which are specialized for image data, tracking data, and point cloud and mesh data respectively. The Stream class inherits from Data, allowing it to be part of the data model and enabling configuration and visualization within the ImFusion framework.
The StreamData interface defines the structure of the data being streamed, allowing for flexible and extensible data handling. Similar to the Stream class, there are specialized implementations for different data types, such as ImageStreamData, TrackingStreamData, and PolyDataStreamData.
While the ImFusion Stream API already provides a comprehensive set of classes for streaming data, it is designed to be extensible. You can create custom Stream and StreamData classes to handle specific data types or formats as needed.
Besides live usage of Streams, the ImFusion Stream API also supports recording and playback of streams, see Recording.
Classes | |
| class | ImageStream |
| Specialization of Stream for streams producing 2D or 3D images. More... | |
| class | ImageStreamData |
| Image data streamed from a streaming device. More... | |
| class | PolyDataStream |
| Specialization of Stream for streams producing polygonal data, such as meshes or point clouds. More... | |
| class | PolyDataStreamData |
| Polygonal data (point clouds or meshes) streamed from a streaming device. More... | |
| class | Stream |
| Base class representing a stream of changing data in the DataModel. More... | |
| class | StreamData |
| Base class for all data streamed from a streaming device. More... | |
| class | ThreadSafeInstrumentsBase |
| Non-templated and fully abstract base class for ThreadSafeInstruments. More... | |
| struct | UnusedSpecial |
| Placeholder struct for the extra container. More... | |
| class | ThreadSafeInstruments< Special > |
| Specialized class of ThreadSafeInstrumentsBase with the option to manage additional metadata, which is held in a struct/class Special next to the TrackingInstrument. More... | |
| class | TrackingStream |
| Specialization of Stream for streams producing tracking data for spatial localization. More... | |
| class | TrackingStreamData |
| Tracking data streamed from a streaming device for spatial localization of tools, images, etc. More... | |
Typedefs | |
| using | InstrumentUpdate = Flags<InstrumentModification> |
| Flags type for instrument updates. | |
Enumerations | |
| enum class | InstrumentModification { None = 0 , TrackingStateChanged = 1 << 0 , MainInstrumentChanged = 1 << 1 , TrackingListChanged = 1 << 2 } |
| Bit flags indicating the type of instrument list modification. More... | |
|
strong |
#include <ImFusion/Stream/ThreadSafeInstruments.h>
Bit flags indicating the type of instrument list modification.