FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
RandomAccessStreamer.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace fast {
6 
10 class FAST_EXPORT RandomAccessStreamer : public Streamer {
11  public:
12  virtual void setPause(bool pause);
13  virtual bool getPause();
14  virtual int getCurrentFrameIndex();
15  virtual void setCurrentFrameIndex(int index);
16  virtual int getCurrentFrameIndexAndUpdate();
17  virtual int getFramerate() const;
18  virtual void setFramerate(int framerate);
19  virtual int getNrOfFrames() = 0;
20  virtual void stop() override;
21  void setLooping(bool loop);
22  void frameAdded() override;
23  protected:
24  virtual void waitForUnpause();
26  bool m_pause = false;
27  bool m_pauseAfterOneFrame = false;
28  std::mutex m_playbackMutex;
29  std::mutex m_pauseMutex;
30  std::condition_variable m_pauseCV;
32  bool m_loop;
33 };
34 
35 }
fast::Streamer
Definition: Streamer.hpp:19
fast::RandomAccessStreamer
Definition: RandomAccessStreamer.hpp:10
Streamer.hpp
fast
Definition: AffineTransformation.hpp:7
fast::RandomAccessStreamer::m_currentFrameIndex
int m_currentFrameIndex
Definition: RandomAccessStreamer.hpp:31
fast::RandomAccessStreamer::m_playbackMutex
std::mutex m_playbackMutex
Definition: RandomAccessStreamer.hpp:28
fast::RandomAccessStreamer::m_loop
bool m_loop
Definition: RandomAccessStreamer.hpp:32
fast::RandomAccessStreamer::m_pauseMutex
std::mutex m_pauseMutex
Definition: RandomAccessStreamer.hpp:29
fast::RandomAccessStreamer::m_pauseCV
std::condition_variable m_pauseCV
Definition: RandomAccessStreamer.hpp:30
fast::RandomAccessStreamer::m_framerate
int m_framerate
Definition: RandomAccessStreamer.hpp:25