FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
NewestFrameDataChannel.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include <queue>
5 
6 namespace fast {
7 
12 class FAST_EXPORT NewestFrameDataChannel : public DataChannel {
14  public:
18  virtual void addFrame(DataObject::pointer data) override;
19 
23  int getSize() override;
24 
29  void setMaximumNumberOfFrames(uint frames) override;
30 
34  void stop() override;
35 
36  // TODO consider removing, it is equal to getSize() > 0 atm
37  bool hasCurrentData() override;
38 
42  DataObject::pointer getFrame() override;
43  protected:
44  std::condition_variable m_frameConditionVariable;
45  std::shared_ptr<DataObject> m_frame;
46 
47  DataObject::pointer getNextDataFrame() override;
48 
49 };
50 
51 }
fast::NewestFrameDataChannel::m_frameConditionVariable
std::condition_variable m_frameConditionVariable
Definition: NewestFrameDataChannel.hpp:44
fast
Definition: AffineTransformation.hpp:7
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::DataChannel
Definition: DataChannel.hpp:10
fast::NewestFrameDataChannel
Definition: NewestFrameDataChannel.hpp:12
DataChannel.hpp
fast::DataObject::pointer
std::shared_ptr< DataObject > pointer
Definition: DataObject.hpp:16
uint
unsigned int uint
Definition: DataTypes.hpp:16
fast::NewestFrameDataChannel::m_frame
std::shared_ptr< DataObject > m_frame
Definition: NewestFrameDataChannel.hpp:45