Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::NavigationToolStorage Class Reference

An object of this class represents a collection of navigation tools. You may add/delete navigation tools or store/load the whole collection to/from the harddisc by using the class NavigationToolStorageSerializer and NavigationToolStorageDeserializer. More...

#include <mitkNavigationToolStorage.h>

Inheritance diagram for mitk::NavigationToolStorage:
Collaboration diagram for mitk::NavigationToolStorage:

Public Member Functions

 mitkClassMacroItkParent (NavigationToolStorage, itk::Object)
 
Pointer Clone () const
 
 mitkNewMacro1Param (Self, mitk::DataStorage::Pointer)
 Constructs a NavigationToolStorage with reference to a DataStorage. The Data Nodes of tools are added and removed automatically to this data storage. More...
 
virtual void RegisterAsMicroservice ()
 Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice(). Make sure to pass the id of the Device that this tool is connected to. More...
 
virtual void UnRegisterMicroservice ()
 Registers this object as a Microservice, making it available to every module and/or plugin. More...
 
std::string GetMicroserviceID ()
 Returns the id that this device is registered with. The id will only be valid, if the NavigationDataSource has been registered using RegisterAsMicroservice(). More...
 
bool AddTool (mitk::NavigationTool::Pointer tool)
 Adds a tool to the storage. Be sure that the tool has a unique identifier which is not already part of this storage. More...
 
mitk::NavigationTool::Pointer GetTool (int number)
 
mitk::NavigationTool::Pointer GetTool (std::string identifier)
 
mitk::NavigationTool::Pointer GetToolByName (std::string name)
 
bool AssignToolNumber (std::string identifier1, int number2)
 
bool DeleteTool (int number)
 Deletes a tool from the collection. Warning, this method operates on the data storage and is not thread save. Calling it from outside the main thread may cause crashes. More...
 
bool DeleteAllTools ()
 Deletes all tools from the collection. Warning, this method operates on the data storage and is not thread save. Calling it from outside the main thread may cause crashes. More...
 
unsigned int GetToolCount ()
 
bool isEmpty ()
 
virtual mitk::DataStorage::Pointer GetDataStorage ()
 
void SetName (std::string)
 
std::string GetName () const
 
void SetSourceID (std::string)
 
std::string GetSourceID () const
 
void LockStorage ()
 
void UnLockStorage ()
 
bool isLocked ()
 
void UpdateMicroservice ()
 

Static Public Member Functions

static Pointer New ()
 Constructs a NavigationToolStorage without reference to a DataStorage. The Data Nodes of tools have to be added and removed to a data storage outside this class. Normaly the other constructor should be used. More...
 

Static Public Attributes

static const std::string US_INTERFACE_NAME
 These constants are used in conjunction with Microservices. More...
 
static const std::string US_PROPKEY_SOURCE_ID
 
static const std::string US_PROPKEY_STORAGE_NAME
 

Protected Member Functions

 NavigationToolStorage ()
 
 NavigationToolStorage (mitk::DataStorage::Pointer)
 
 ~NavigationToolStorage () override
 

Protected Attributes

std::vector< mitk::NavigationTool::Pointer > m_ToolCollection
 
mitk::DataStorage::Pointer m_DataStorage
 
std::string m_Name
 
std::string m_SourceID
 
bool m_storageLocked
 

Detailed Description

An object of this class represents a collection of navigation tools. You may add/delete navigation tools or store/load the whole collection to/from the harddisc by using the class NavigationToolStorageSerializer and NavigationToolStorageDeserializer.

Documentation

Definition at line 39 of file mitkNavigationToolStorage.h.

Constructor & Destructor Documentation

◆ NavigationToolStorage() [1/2]

mitk::NavigationToolStorage::NavigationToolStorage ( )
protected

◆ NavigationToolStorage() [2/2]

mitk::NavigationToolStorage::NavigationToolStorage ( mitk::DataStorage::Pointer  )
protected

◆ ~NavigationToolStorage()

mitk::NavigationToolStorage::~NavigationToolStorage ( )
overrideprotected

Member Function Documentation

◆ AddTool()

bool mitk::NavigationToolStorage::AddTool ( mitk::NavigationTool::Pointer  tool)

Adds a tool to the storage. Be sure that the tool has a unique identifier which is not already part of this storage.

Returns
Returns true if the tool was added to the storage, false if not (false can be returned if the identifier already exists in this storage for example).

◆ AssignToolNumber()

bool mitk::NavigationToolStorage::AssignToolNumber ( std::string  identifier1,
int  number2 
)

Assigns the given number to the tool with the given identifier. This means the tool is swapped with another tool in the internal tool vector.

Returns
Returns true if the assignment was successfull. Returns false if assignment is not possible, e.g. because the identifier does not exist or if the given number is not available.

◆ Clone()

Pointer mitk::NavigationToolStorage::Clone ( ) const

◆ DeleteAllTools()

bool mitk::NavigationToolStorage::DeleteAllTools ( )

Deletes all tools from the collection. Warning, this method operates on the data storage and is not thread save. Calling it from outside the main thread may cause crashes.

◆ DeleteTool()

bool mitk::NavigationToolStorage::DeleteTool ( int  number)

Deletes a tool from the collection. Warning, this method operates on the data storage and is not thread save. Calling it from outside the main thread may cause crashes.

◆ GetDataStorage()

virtual mitk::DataStorage::Pointer mitk::NavigationToolStorage::GetDataStorage ( )
virtual
Returns
Returns the corresponding data storage if one is set to this NavigationToolStorage. Returns nullptr if none is set.

◆ GetMicroserviceID()

std::string mitk::NavigationToolStorage::GetMicroserviceID ( )

Returns the id that this device is registered with. The id will only be valid, if the NavigationDataSource has been registered using RegisterAsMicroservice().

◆ GetName()

std::string mitk::NavigationToolStorage::GetName ( ) const
Returns
Returns the name of this storage.

◆ GetSourceID()

std::string mitk::NavigationToolStorage::GetSourceID ( ) const
Returns
Returns the name of this storage.

◆ GetTool() [1/2]

mitk::NavigationTool::Pointer mitk::NavigationToolStorage::GetTool ( int  number)
Returns
Returns the tracking tool at the position "number" in the storage. Returns nullptr if there is no tracking tool at this position.

◆ GetTool() [2/2]

mitk::NavigationTool::Pointer mitk::NavigationToolStorage::GetTool ( std::string  identifier)
Returns
Returns the tracking tool with the given identifier. Returns nullptr if there is no tracking tool with this identifier in the storage.

◆ GetToolByName()

mitk::NavigationTool::Pointer mitk::NavigationToolStorage::GetToolByName ( std::string  name)
Returns
Returns the tracking tool with the given name. Returns nullptr if there is no tracking tool with this name in the storage.

◆ GetToolCount()

unsigned int mitk::NavigationToolStorage::GetToolCount ( )
Returns
Returns the number of tools stored in the storage.

◆ isEmpty()

bool mitk::NavigationToolStorage::isEmpty ( )
Returns
Returns true if the storage is empty, false if not.

◆ isLocked()

bool mitk::NavigationToolStorage::isLocked ( )
Returns
Returns true if the storage is locked at the moment, false if not.

◆ LockStorage()

void mitk::NavigationToolStorage::LockStorage ( )

Locks the storage. A logged storage may not be modified. If a method tries to modify the storage anyway a waring message is given. The storage is unlocked by default. A Storage might be locked when a tracking device is active and needs the storage to stay consistent.

◆ mitkClassMacroItkParent()

mitk::NavigationToolStorage::mitkClassMacroItkParent ( NavigationToolStorage  ,
itk::Object   
)

◆ mitkNewMacro1Param()

mitk::NavigationToolStorage::mitkNewMacro1Param ( Self  ,
mitk::DataStorage::Pointer   
)

Constructs a NavigationToolStorage with reference to a DataStorage. The Data Nodes of tools are added and removed automatically to this data storage.

◆ New()

static Pointer mitk::NavigationToolStorage::New ( )
static

Constructs a NavigationToolStorage without reference to a DataStorage. The Data Nodes of tools have to be added and removed to a data storage outside this class. Normaly the other constructor should be used.

◆ RegisterAsMicroservice()

virtual void mitk::NavigationToolStorage::RegisterAsMicroservice ( )
virtual

Registers this object as a Microservice, making it available to every module and/or plugin. To unregister, call UnregisterMicroservice(). Make sure to pass the id of the Device that this tool is connected to.

◆ SetName()

void mitk::NavigationToolStorage::SetName ( std::string  )

Sets the name of this storage. The name should be understandable for the user. Something like "NDI Aurora Tool Storage". If a storage is loaded from the harddisk the name might be the filename.

◆ SetSourceID()

void mitk::NavigationToolStorage::SetSourceID ( std::string  )

Sets the name of this storage. The name should be understandable for the user. Something like "NDI Aurora Tool Storage". If a storage is loaded from the harddisk the name might be the filename.

Warning
: if your microservice is already registered, you need to call UpdateMicroservice after changing the ID. This can't be done inside this functions, as we might use different threads.

◆ UnLockStorage()

void mitk::NavigationToolStorage::UnLockStorage ( )

Unlocks the storage again.

◆ UnRegisterMicroservice()

virtual void mitk::NavigationToolStorage::UnRegisterMicroservice ( )
virtual

Registers this object as a Microservice, making it available to every module and/or plugin.

◆ UpdateMicroservice()

void mitk::NavigationToolStorage::UpdateMicroservice ( )

Sets the properties which causes the microservice to emit an update signal.

Member Data Documentation

◆ m_DataStorage

mitk::DataStorage::Pointer mitk::NavigationToolStorage::m_DataStorage
protected

Definition at line 185 of file mitkNavigationToolStorage.h.

◆ m_Name

std::string mitk::NavigationToolStorage::m_Name
protected

Definition at line 186 of file mitkNavigationToolStorage.h.

◆ m_SourceID

std::string mitk::NavigationToolStorage::m_SourceID
protected

Definition at line 187 of file mitkNavigationToolStorage.h.

◆ m_storageLocked

bool mitk::NavigationToolStorage::m_storageLocked
protected

Definition at line 188 of file mitkNavigationToolStorage.h.

◆ m_ToolCollection

std::vector<mitk::NavigationTool::Pointer> mitk::NavigationToolStorage::m_ToolCollection
protected

Definition at line 184 of file mitkNavigationToolStorage.h.

◆ US_INTERFACE_NAME

const std::string mitk::NavigationToolStorage::US_INTERFACE_NAME
static

These constants are used in conjunction with Microservices.

Definition at line 73 of file mitkNavigationToolStorage.h.

◆ US_PROPKEY_SOURCE_ID

const std::string mitk::NavigationToolStorage::US_PROPKEY_SOURCE_ID
static

Definition at line 75 of file mitkNavigationToolStorage.h.

◆ US_PROPKEY_STORAGE_NAME

const std::string mitk::NavigationToolStorage::US_PROPKEY_STORAGE_NAME
static

Definition at line 77 of file mitkNavigationToolStorage.h.


The documentation for this class was generated from the following file: