ImFusion C++ SDK 4.4.0
ImFusion::TrackingStreamProperties Class Reference

#include <ImFusion/Stream/TrackingStreamProperties.h>

Properties dialog for configuring calibration and registration of a TrackingStream. More...

Inheritance diagram for ImFusion::TrackingStreamProperties:

Detailed Description

Properties dialog for configuring calibration and registration of a TrackingStream.

This dialog provides an interface to:

  • Configure instrument calibration matrices (transformation from tracker space to tool/image space)
  • Set the registration matrix (transformation from tracking space to world coordinates)
  • Select the main tracking instrument
  • Adjust tracking-related settings

Changes are applied directly to the TrackingStream and can be accepted, rejected, or reset to original values.

The dialog is typically invoked through the TrackingStreamPropertiesAlgorithm.

Note
This is a modal dialog that must be used on the GUI thread.
See also
TrackingStreamPropertiesAlgorithm

Public Member Functions

 TrackingStreamProperties (TrackingStreamPropertiesAlgorithm *alg)
 Constructs the properties dialog for the given algorithm.
void init () override
 Initializes the dialog, sets up UI widgets and connects signals.
std::vector< LocationsupportedLocations () const override
 Returns the list of locations in which this controller is allowed to be placed by the parent MainWindowBase.
Location preferredLocation () const override
 Returns the preferred location in which the parent MainWindowBase should place this controller.
Public Member Functions inherited from ImFusion::AlgorithmController
 AlgorithmController (Algorithm *algorithm)
 Creates a new AlgorithmController wrapping the given algorithm, which must not be null.
const Algorithmalgorithm () const
 Returns the underlying Algorithm instance.
Algorithmalgorithm ()
void showInputData ()
 Shows the input data in the DisplayWidget.
InputDataVisibility showsInputData ()
 Checks if the input data is currently visible in the DisplayWidget.
void showHelp ()
 Attempts to open the user documentation page for the underlying algorithm.
std::optional< Filesystem::PathhelpPath () const
 Returns the path to the user documentation page if it is available, std::nullopt otherwise.
std::string title () const override
 Returns the original factory name of the underlying Algorithm.
Public Member Functions inherited from ImFusion::Controller
void setMainWindowBase (MainWindowBase *mw)
 Complete the initialization by providing the parent MainWindowBase instance hosting the controller by setting m_main and m_disp and eventually call init().
virtual void onSelectedDataChanged (const DataList &)
 Called by MainWindowBase in the case that the selection in the data model has changed.
virtual void onVisibleDataChanged (const DataList &)
 Called by MainWindowBase in the case that the currently visible data has changed.
virtual void onLocationChanged (Location newLocation)
 Callback function called by the parent MainWindowBase/ControllerDecorator whenever the place was changed.
Location location () const
 Convenience function to query the current controller Location from the parent ControllerDecorator.
ControllerDecoratorgetDecorator () const
 Convenience function to return m_main->getControllerDecorator(this) if m_main is set or nullptr otherwise.
template<typename T>
T * getDecorator () const
 Convenience function to dynamic_cast the return value of getDecorator() to a derived type.
Public Member Functions inherited from ImFusion::Configurable
virtual void configure (const Properties *p)
 Configure this object instance by de-serializing the given Properties.
virtual void configuration (Properties *p) const
 Serialize the current object configuration into the given Properties object.
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
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.
SignalReceiveroperator= (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

void accept () override
 Accepts changes and closes the dialog.
void reject () override
 Rejects changes, restores original values, and closes the dialog.
void reset ()
 Resets all values to their original state without closing the dialog.
Protected Member Functions inherited from ImFusion::AlgorithmController
virtual void closeAlgorithm (bool executed=false)
 Removes the algorithm from the ApplicationController and closes the controller.
virtual void onAlgorithmParametersChanged ()
 Callback called when the Algorithm's signalParametersChanged signal was emitted.
virtual void onAlgorithmOutputChanged ()
 Callback called when the Algorithm's signalOutputChanged signal was emitted.
virtual void duplicateAlgorithmOnSelectedData () const
 Instantiates a new copy of underlying Algorithm on the currently selected Data in the DataModel and adds it to the ApplicationController.
void addToDataAndAnnotationModels (OwningDataList data)
 Adds the contents of data to the DataModel of the parent MainWindowBase.
Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.

Additional Inherited Members

Public Types inherited from ImFusion::AlgorithmController
enum class  InputDataVisibility { None = 0 , All = 1 , Some = 2 }
 Enumeration of possible return values for showsInputData(). More...
Public Types inherited from ImFusion::Controller
enum class  Location : int {
  Unknown = -1 , Naked = 0 , PrimaryDock = 1 , SecondaryDock = 2 ,
  Detached = 3 , ToolBar = 4 , UserLocation = 100
}
 Enumeration of possible placement/decoration options of a Controller. More...
Public Attributes inherited from ImFusion::Controller
Signal signalTitleChanged
 Signal emitted when the title() has changed.
Public Attributes inherited from ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
Protected Attributes inherited from ImFusion::AlgorithmController
Algorithmm_algorithm = nullptr
 The underlying algorithm.
Protected Attributes inherited from ImFusion::Controller
MainWindowBasem_main = nullptr
 The parent MainWindowBase instance hosting this Controller.
DisplayWidgetMultim_disp = nullptr
 The main DisplayWidget instance, convenience shortcut for m_main->display().
Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Constructor & Destructor Documentation

◆ TrackingStreamProperties()

ImFusion::TrackingStreamProperties::TrackingStreamProperties ( TrackingStreamPropertiesAlgorithm * alg)

Constructs the properties dialog for the given algorithm.

Backs up original values to allow restoration on rejection or reset.

Member Function Documentation

◆ init()

void ImFusion::TrackingStreamProperties::init ( )
overridevirtual

Initializes the dialog, sets up UI widgets and connects signals.

Implements ImFusion::Controller.

◆ supportedLocations()

std::vector< Location > ImFusion::TrackingStreamProperties::supportedLocations ( ) const
inlineoverridevirtual

Returns the list of locations in which this controller is allowed to be placed by the parent MainWindowBase.

If the controller should not be placed/wrapped by the host but stand by itself you should return a list containing only Location::Naked.

Reimplemented from ImFusion::Controller.

◆ preferredLocation()

Location ImFusion::TrackingStreamProperties::preferredLocation ( ) const
inlineoverridevirtual

Returns the preferred location in which the parent MainWindowBase should place this controller.

If the controller should not be placed/wrapped by the host but stand by itself you should return Location::Naked.

Reimplemented from ImFusion::Controller.


The documentation for this class was generated from the following file:
  • ImFusion/Stream/TrackingStreamProperties.h
Search Tab / S to search, Esc to close