13#ifndef mitkVirtualTrackingDevice_h
14#define mitkVirtualTrackingDevice_h
16#include <MitkIGTExports.h>
65 bool StartTracking()
override;
71 bool StopTracking()
override;
77 bool OpenConnection()
override;
82 bool CloseConnection()
override;
87 unsigned int GetToolCount()
const override;
94 TrackingTool* GetTool(
unsigned int toolNumber)
const override;
138 mitk::ScalarType GetSplineChordLength(
unsigned int idx);
151 void SetToolSpeed(
unsigned int idx, mitk::ScalarType roundsPerSecond);
156 void EnableGaussianNoise();
161 void DisableGaussianNoise();
167 void SetParamsForGaussianNoise(
double meanDistribution,
double deviationDistribution);
172 double GetMeanDistribution();
177 double GetDeviationDistribution();
191 void ThreadStartTracking();
207 mitk::ScalarType m_Bounds[6];
Interface for all Tracking Devices.
Class representing a tracking device which generates random positions / orientations....
unsigned int m_RefreshRate
refresh rate of the internal tracking thread in milliseconds (NOT refreshs per second!...
std::vector< VirtualTrackingTool::Pointer > ToolContainer
container type for tracking tools
bool m_GaussianNoiseEnabled
adding Gaussian Noise to tracking coordinates or not, false by default
itkFactorylessNewMacro(Self)
double m_DeviationDistributionParam
mean distribution for Gaussion Noise, 0.0 by default
mitk::VirtualTrackingTool::SplineType::ControlPointType ControlPointType
itkSetVectorMacro(Bounds, mitk::ScalarType, 6)
Set the tracking volume bounds.
itkGetConstMacro(RefreshRate, unsigned int)
Returns the refresh rate in ms.
std::mutex m_ToolsMutex
mutex for coordinated access of tool container
mitkClassMacro(VirtualTrackingDevice, TrackingDevice)
const mitk::ScalarType * GetBounds() const
return the tracking volume bounds
unsigned int m_NumberOfControlPoints
number of control points for the random path generation
ToolContainer m_AllTools
container for all tracking tools
itkSetMacro(RefreshRate, unsigned int)
Sets the refresh rate of the virtual tracking device in ms.
double m_MeanDistributionParam