![]() |
ImFusion SDK 4.3
|
#include <ImFusion/NDI/NDITrackingStream.h>
Base class for NDI tracking streams (Polaris/Aurora and Ascension), which share the same controller. More...
Inheritance diagram for NDITrackingStream:Base class for NDI tracking streams (Polaris/Aurora and Ascension), which share the same controller.
Public Member Functions | |
| NDITrackingStream (const std::string &name) | |
| virtual bool | isInitialized () const =0 |
| Returns whether the connection to the tracking system is established and initialized. | |
| virtual std::vector< std::string > | measurementRateOptions () const |
| Returns labels for the measurement rate combo box. | |
| virtual int | measurementRate () const =0 |
| Returns the measurements/second of the tracking hardware. | |
| virtual void | setMeasurementRate (int index)=0 |
| Sets the measurements/second of the tracking hardware. | |
| virtual std::vector< std::string > | maxRangeOptions () const |
| Returns labels for the range options combo box. | |
| virtual int | maxRange () const |
| Returns the selected range option, allowing for trading off precision vs. range. | |
| virtual void | setMaxRange (int index) |
| Sets the range option, allowing for trading off precision vs. range. | |
| void | configure (const Properties *p) override |
| Configure this object instance by de-serializing the given Properties. | |
| void | configuration (Properties *p) const override |
| Serialize the current object configuration into the given Properties object. | |
Public Member Functions inherited from TrackingStream | |
| TrackingStream (const std::string &name="Tracking Stream") | |
| virtual std::vector< TrackingInstrument > | devices () const |
| Returns a copy of all tracking instruments (active and inactive) with their last status. | |
| virtual std::vector< TrackingInstrument > | instruments () const |
| Returns a copy of all tracking instruments (active and inactive) with their last status. | |
| virtual std::vector< TrackingInstrument > | activeInstruments () const |
| Returns a copy of all active tracking instruments with their last status. | |
| virtual int | numInstruments (bool activeOnly=false) const |
| Returns the number of instruments (all or only active instruments). | |
| Kind | kind () const override |
| Returns the kind of stream. | |
| void | setMainInstrument (unsigned int index) |
| Sets the index of the main tracking target. | |
| virtual bool | supportsMainInstrumentSelection () const |
| Returns true if main instrument can be set from outside. | |
| void | setMainInstrumentById (const std::string &id) |
| Sets the main tracking target by the ID of the TrackingInstrument (TrackerID::m_id). | |
| unsigned int | mainInstrumentIndex () const |
| Returns the index of the main tracking target in the instruments array. | |
| std::string | mainInstrumentId () const |
| Returns the unique ID of the main instrument. | |
| std::string | mainInstrumentName () const |
| Returns the name of the main instrument. | |
| virtual bool | supportsInstrumentRenaming () const |
| Returns true if the name of an instrument can be set from outside. | |
| void | setInstrumentName (const std::string &id, const std::string &name) |
| Sets the name of the TrackingInstrument for the specified id. | |
| void | setInstrumentActive (const std::string &id, bool active) |
| Sets the tracking instrument with the given ID as either active or inactive. | |
| bool | isInstrumentActive (const std::string &id) const |
| Returns whether the instrument with the given ID is active. | |
| std::optional< TrackingInstrument > | queryInstrument (const std::string &id) const |
| Queries the instrument with the given ID from m_instruments. | |
| std::string | describe () const override |
| Provides a short description of the stream, including the number of instruments, latest stream state, and update rate information. | |
Public Member Functions inherited from Stream | |
| Stream (const std::string &name="") | |
Constructor with the name for this stream. | |
| virtual ThreadingMode | threadingMode () const |
| Configures threading mode of stream. | |
| virtual bool | supportsAsyncOperation () |
| Returns true if xxxAsync() methods support execution in a background thread. | |
| std::shared_future< bool > | openAsync () |
| Open stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | closeAsync () |
| Close stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | startAsync () |
| Start stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | stopAsync () |
| Stop stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | pauseAsync () |
| Pause stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | resumeAsync () |
| Resume stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| bool | open () |
| Open stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | close () |
| Close stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | start () |
| Start stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | stop () |
| Stop stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | pause () |
| Pause stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | resume () |
| Resume stream and wait for the operation to complete. Returns whether the operation was successful. | |
| virtual bool | supportsPausing () const |
| Override and return true if this stream implements the pausing and resume operations. | |
| bool | restart () |
| Stops, closes, opens and starts the stream. Returns whether the operation was successful. | |
| virtual bool | reset () |
| Reverts stream to first frame, if possible. Returns whether the operation was successful. | |
| virtual bool | isRunning () const |
| Return whether stream is currently running. | |
| virtual std::string | uuid ()=0 |
| Unique identifier for stream. | |
| State | currentState () const |
| bool | isStateOneOf (const std::vector< State > &states) const |
| Geometry::AlignedBox | bounds () const override |
| Per default a Stream has empty/invalid bounds. | |
| Pose::TransformationConvention | matrixConvention () const override |
| Matrices of streams by default map to the world coordinate system. | |
| virtual bool | createDefaultStreamController () |
| Indicates whether a StreamController should be created for the stream (by default returns true). | |
| double | updateRate () const |
Average update rate in Hz of the signalStreamData. | |
Public Member Functions inherited from Data | |
| Data (const std::string &name="") | |
| Data (const Data &other) | |
| Data & | operator= (const Data &other) |
| virtual | ~Data () |
| Mandatory virtual destructor. | |
| virtual Modality | modality () const |
| Return the modality of this data. | |
| const std::string & | name () const |
| Return the name of this data. | |
| void | setName (const std::string &name) |
| Sets the name of this data. | |
| virtual bool | isAnnotationType () const |
| Return whether this data type is visualized through an annotation (e.g. mesh) | |
| const DataComponentList & | components () const |
| Returns the list of DataComponents for this data. | |
| DataComponentList & | components () |
| virtual void | setMatrixFromWorld (const mat4 &m) |
| Set matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual void | setMatrixToWorld (const mat4 &m) |
| Set matrix mapping from the data coordinate system to the world coordinate system. | |
| virtual mat4 | matrixFromWorld () const |
| Get matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual mat4 | matrixToWorld () const |
| Get matrix mapping from the data coordinate system to the world coordinate system. | |
| virtual mat4 | matrix () const |
| Return the transformation matrix. | |
| virtual void | setMatrix (const mat4 &m) |
| Set the transformation matrix. | |
Public Member Functions inherited from Configurable | |
| virtual void | configureDefaults () |
| Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
| void | registerParameter (ParameterBase *param) |
| Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
| void | unregisterParameter (const ParameterBase *param) |
| Remove the given Parameter or SubProperty from the list of registered parameters. | |
| Configurable (const Configurable &rhs) | |
| Configurable (Configurable &&rhs) noexcept | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
Additional Inherited Members | |
Public Types inherited from Stream | |
| enum class | ThreadingMode { BaseClassRunsWorkerThread , DerivedClassHandlesThreading } |
| This flag represents the two supported threading modes of a Stream. More... | |
| enum class | State { Closed , Opening , Open , Starting , Running , Pausing , Paused , Resuming , Stopping , Closing } |
Public Types inherited from Data | |
| enum | Kind { UNKNOWN = 0 , IMAGE = 1 , VOLUME = 2 , IMAGESET = 3 , VOLUMESET = 4 , IMAGESTREAM = 5 , VOLUMESTREAM = 6 , POINTSET = 7 , SURFACE = 8 , TRACKINGSTREAM = 9 , LIVETRACKINGSTREAM = TRACKINGSTREAM , TRACKINGDATA = 10 , TREE = 11 , TENSOR = 12 , POLYDATASTREAM = 13 , STEREOIMAGESET = 14 , STEREOIMAGESTREAM = 15 , VOLUMETRICMESH = 16 } |
| Kind of data. More... | |
| enum | Modality { NA = 0 , XRAY = 1 , CT = 2 , MRI = 3 , ULTRASOUND = 4 , VIDEO = 5 , NM = 6 , OCT = 7 , LABEL = 8 , DISTANCE = 9 } |
| Image modality of the data. More... | |
Static Public Member Functions inherited from Stream | |
| static std::string | stateToString (State state) |
Static Public Member Functions inherited from Data | |
| static std::string | modalityString (Data::Modality m) |
| Return the name of an image modality. | |
| static Data::Modality | stringToModality (const std::string &s) |
| Returns the modality corresponding to a modality string or NA if nothing matches. | |
Public Attributes inherited from TrackingStream | |
| ProtectedSignal & | signalTrackingDevicesUpdated |
| Emitted when the list of instruments is updated. | |
| ProtectedSignal | signalInstrumentsUpdated |
| Emitted when the list of instruments is altered (instrument added, instrument removed, or list cleared). | |
| ProtectedSignal< const std::string & > | signalMainInstrumentChanged |
| Emitted when the main instrument has changed, with the new instrument ID. | |
Public Attributes inherited from Stream | |
| ProtectedSignal< StateChange > | signalStateChanged |
| Emitted after a state change has been completed with the old and new state. | |
| ProtectedSignal | signalEnded |
| Indicates that the stream reached the end of its data, e.g. when a video stream has played to the end. | |
| ProtectedSignal< std::shared_ptr< const StreamData > > | signalStreamData |
| Signal that is emitted by the stream when a new StreamData is available. | |
| DeprecatedSignal< ProtectedSignal< std::shared_ptr< const StreamData > >, const StreamData & > | signalNewData |
| Signal that is emitted by the stream when a new StreamData is available. | |
Public Attributes inherited from Data | |
| Signal< const Data * > | signalDeleted |
| Signal emitted when this instance is deleted. | |
| Signal< const Data * > | signalMatrixChanged |
| Signal emitted when the transformation of this Data has changed. | |
| Signal< std::string > | signalNameChanged |
| Signal emitted when the name changed. | |
Public Attributes inherited from Configurable | |
| Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Protected Member Functions inherited from TrackingStream | |
| void | emitSignals (const InstrumentUpdate &update) |
| Convenience method to be called after any instrument modification. | |
| std::unique_ptr< TrackingStreamData > | createTrackingStreamData () |
| Creates the TrackingStreamData with a copy of all instruments and sets the timestamps. | |
Protected Member Functions inherited from Stream | |
| virtual bool | openImpl ()=0 |
| Open stream. | |
| virtual bool | closeImpl ()=0 |
| Close stream. | |
| virtual bool | startImpl ()=0 |
| Start stream. | |
| virtual bool | stopImpl ()=0 |
| Stop stream. | |
| virtual bool | pauseImpl () |
| Pause stream (not required to be supported). | |
| virtual bool | resumeImpl () |
| Resume stream from pause (only required to be supported when pauseImpl() is supported). | |
| virtual bool | workerThreadRequiresOpenGl () const |
| Override and return true if worker thread should create a GL::Context. | |
| virtual std::optional< WorkContinuation > | doWork ()=0 |
| Create one StreamData and publish it (this function will be called at the desired frame rate) If this is not desired, you can do the following: return std::nullopt;. | |
| virtual bool | worksWhilePaused () const |
| Override if doWork() should be called also in the Paused state. | |
| void | changeState (State newState) |
| std::shared_future< bool > | attemptStateChange (std::function< bool()> work, State stateWorking, State stateSuccess, State stateError) |
Protected Member Functions inherited from Data | |
| void | swapWith (Data &other) |
| Swaps the data and emits a matrix and name changed signal for both. | |
Protected Attributes inherited from TrackingStream | |
| std::unique_ptr< ThreadSafeInstrumentsBase > | m_instruments |
| Container for TrackingInstruments of this tracking stream. | |
Protected Attributes inherited from Data | |
| mat4 | m_matrix |
| Transformation matrix. | |
| std::recursive_mutex * | m_matrixMutex |
| Used to internally synchronize access to the matrix of data. | |
| DataComponentList | m_dataComponentList |
| The list of DataComponents for this data. | |
Protected Attributes inherited from Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
|
pure virtual |
Returns whether the connection to the tracking system is established and initialized.
Implemented in PolarisAuroraTrackingStream< NDIType >.
|
inlinevirtual |
Returns labels for the measurement rate combo box.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.
|
pure virtual |
Returns the measurements/second of the tracking hardware.
Implemented in PolarisAuroraTrackingStream< NDIType >.
|
pure virtual |
Sets the measurements/second of the tracking hardware.
Implemented in PolarisAuroraTrackingStream< NDIType >.
|
inlinevirtual |
Returns labels for the range options combo box.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.
|
inlinevirtual |
Returns the selected range option, allowing for trading off precision vs. range.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.
|
inlinevirtual |
Sets the range option, allowing for trading off precision vs. range.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.
|
overridevirtual |
Configure this object instance by de-serializing the given Properties.
The default implementation will do so automatically for all registered Parameter and SubProperty instances.
Reimplemented from Configurable.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.
|
overridevirtual |
Serialize the current object configuration into the given Properties object.
The default implementation will do so automatically for all registered Parameter and SubProperty instances.
Reimplemented from Configurable.
Reimplemented in PolarisAuroraTrackingStream< NDIType >.