15 #ifndef niftkIGIDataSourceManager_h
16 #define niftkIGIDataSourceManager_h
18 #include "niftkIGIDataSourcesManagerExports.h"
23 #include <usServiceReference.h>
24 #include <usModuleContext.h>
26 #include <mitkDataStorage.h>
27 #include <mitkCommon.h>
28 #include <itkVersion.h>
29 #include <itkObject.h>
30 #include <itkObjectFactoryBase.h>
31 #include <igtlTimeStamp.h>
69 bool IsPlayingBack()
const;
74 bool IsPlayingBackAutomatically()
const;
79 bool IsUpdateTimerOn()
const;
85 void SetIsPlayingBackAutomatically(
bool isPlayingBackAutomatically);
90 void StopUpdateTimer();
97 void StartUpdateTimer();
102 static QString GetDefaultPath();
107 QString GetDirectoryName();
115 void SetDirectoryPrefix(
const QString& directoryPrefix);
122 void SetFramesPerSecond(
const int& framesPerSecond);
127 int GetFramesPerSecond()
const;
135 void WriteDescriptorFile(QString absolutePath);
144 QList<QString> GetAllFactoryNames()
const;
151 bool NeedsStartupGui(QString
name);
157 void AddSource(QString
name, QMap<QString, QVariant>& properties);
165 void RemoveSource(
int rowIndex);
174 void RemoveAllSources();
179 void StartRecording(QString absolutePath);
184 void StopRecording();
192 void FreezeAllDataSources(
bool isFrozen);
200 void FreezeDataSource(
unsigned int i,
bool isFrozen);
205 bool IsFrozen(
unsigned int i)
const;
220 void StartPlayback(
const QString& directoryPrefix,
221 const QString& descriptorPath,
225 int& sliderSingleStep,
238 int ComputePlaybackTimeSliderValue(QString textEditField)
const;
254 void SetIsGrabbingScreen(QString directoryName,
bool isGrabbing);
270 niftk::IGIDataSourceI::Pointer GetSource(
int rowNumber);
289 void UpdateFinishedRendering();
295 void PlaybackTimerAdvanced(
int sliderValue);
300 void TimerUpdated(QString rawTimeStamp, QString humanReadableTimeStamp);
305 void BroadcastStatusString(QString);
325 void RetrieveAllDataSourceFactories();
335 QMap<QString, QString> ParseDataSourceDescriptor(
const QString& filepath);
340 void AdvancePlaybackTimer();
346 void SetIsPlayingBack(
bool isPlayingBack);
353 mitk::DataStorage::Pointer m_DataStorage;
354 us::ModuleContext* m_ModuleContext;
355 std::vector<us::ServiceReference<IGIDataSourceFactoryServiceI> > m_Refs;
356 QList<niftk::IGIDataSourceI::Pointer> m_Sources;
357 QMap<QString, niftk::IGIDataSourceFactoryServiceI*> m_NameToFactoriesMap;
358 QMap<QString, niftk::IGIDataSourceFactoryServiceI*> m_LegacyNameToFactoriesMap;
360 QTimer *m_GuiUpdateTimer;
362 QString m_DirectoryPrefix;
363 QString m_PlaybackPrefix;
364 igtl::TimeStamp::Pointer m_TimeStampGenerator;
365 bool m_IsPlayingBack;
366 bool m_IsPlayingBackAutomatically;
369 int m_PlaybackSliderValue;
370 int m_PlaybackSliderMaxValue;
377 bool m_IsGrabbingScreen;
378 QString m_ScreenGrabDir;
Class to manage a list of IGIDataSources (trackers, ultra-sound machines, video etc).
Definition: niftkIGIDataSourceManager.h:53
SystemTimeServiceI::TimeType IGITimeType
Definition: niftkIGIDataType.h:39
static const int DEFAULT_FRAME_RATE
Definition: niftkIGIDataSourceManager.h:60
static const char * DEFAULT_RECORDINGDESTINATION_ENVIRONMENTVARIABLE
Definition: niftkIGIDataSourceManager.h:61
GLuint const GLchar * name
Definition: glew.h:1798
Definition: niftkExceptionObject.h:21
Interface for a factory to create niftk::IGIDataSourceServiceI.
Definition: niftkIGIDataSourceFactoryServiceI.h:38