FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
fast::DataChannel Class Referenceabstract

#include <DataChannel.hpp>

+ Inheritance diagram for fast::DataChannel:
+ Collaboration diagram for fast::DataChannel:

Public Types

typedef std::shared_ptr< DataChannelpointer
 
- Public Types inherited from fast::Object
typedef std::shared_ptr< Objectpointer
 

Public Member Functions

virtual void addFrame (DataObject::pointer data)=0
 
template<class T = DataObject>
std::shared_ptr< T > getNextFrame ()
 
virtual int getSize ()=0
 
virtual void setMaximumNumberOfFrames (uint frames)=0
 
virtual void stop ()=0
 
virtual bool hasCurrentData ()=0
 
virtual DataObject::pointer getFrame ()=0
 
std::shared_ptr< ProcessObjectgetProcessObject () const
 
void setProcessObject (std::shared_ptr< ProcessObject > po)
 
template<>
FAST_EXPORT std::shared_ptr< DataObjectgetNextFrame ()
 
- Public Member Functions inherited from fast::Object
 Object ()
 
virtual ~Object ()
 
ReportergetReporter ()
 

Protected Member Functions

virtual DataObject::pointer getNextDataFrame ()=0
 
 DataChannel ()
 
- Protected Member Functions inherited from fast::Object
ReporterreportError ()
 
ReporterreportWarning ()
 
ReporterreportInfo ()
 
ReporterEnd reportEnd () const
 

Protected Attributes

bool m_stop
 
std::mutex m_mutex
 
std::shared_ptr< ProcessObjectm_processObject
 
- Protected Attributes inherited from fast::Object
std::weak_ptr< ObjectmPtr
 

Additional Inherited Members

- Static Public Member Functions inherited from fast::Object
static std::string getStaticNameOfClass ()
 

Member Typedef Documentation

◆ pointer

typedef std::shared_ptr<DataChannel> fast::DataChannel::pointer

Constructor & Destructor Documentation

◆ DataChannel()

fast::DataChannel::DataChannel ( )
protected

Member Function Documentation

◆ addFrame()

virtual void fast::DataChannel::addFrame ( DataObject::pointer  data)
pure virtual

Add frame to the data channel. This call may block if the buffer is full.

Implemented in fast::QueuedDataChannel, and fast::NewestFrameDataChannel.

◆ getFrame()

virtual DataObject::pointer fast::DataChannel::getFrame ( )
pure virtual

Get current frame, throws if current frame is not available.

Implemented in fast::QueuedDataChannel, and fast::NewestFrameDataChannel.

◆ getNextDataFrame()

virtual DataObject::pointer fast::DataChannel::getNextDataFrame ( )
protectedpure virtual

◆ getNextFrame() [1/2]

template<class T >
std::shared_ptr< T > fast::DataChannel::getNextFrame

Get next frame in the data channel. It will block until the frame is available.

◆ getNextFrame() [2/2]

template<>
FAST_EXPORT std::shared_ptr<DataObject> fast::DataChannel::getNextFrame ( )

◆ getProcessObject()

std::shared_ptr<ProcessObject> fast::DataChannel::getProcessObject ( ) const

◆ getSize()

virtual int fast::DataChannel::getSize ( )
pure virtual
Returns
the number of frames stored in this DataChannel

Implemented in fast::QueuedDataChannel, and fast::NewestFrameDataChannel.

◆ hasCurrentData()

virtual bool fast::DataChannel::hasCurrentData ( )
pure virtual

◆ setMaximumNumberOfFrames()

virtual void fast::DataChannel::setMaximumNumberOfFrames ( uint  frames)
pure virtual

Set the maximum nr of frames that can be stored in this data channel

Implemented in fast::QueuedDataChannel, and fast::NewestFrameDataChannel.

◆ setProcessObject()

void fast::DataChannel::setProcessObject ( std::shared_ptr< ProcessObject po)

◆ stop()

virtual void fast::DataChannel::stop ( )
pure virtual

This will unblock if this DataChannel is currently blocking. Used to stop a pipeline.

Implemented in fast::QueuedDataChannel, and fast::NewestFrameDataChannel.

Member Data Documentation

◆ m_mutex

std::mutex fast::DataChannel::m_mutex
protected

◆ m_processObject

std::shared_ptr<ProcessObject> fast::DataChannel::m_processObject
protected

◆ m_stop

bool fast::DataChannel::m_stop
protected

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