Public Member Functions | Private Member Functions | Private Attributes | List of all members
rcg::Stream Class Reference

The stream class encapsulates a Genicam stream. More...

#include <stream.h>

Inheritance diagram for rcg::Stream:
Inheritance graph
[legend]

Public Member Functions

void close ()
 Closes the stream. More...
 
size_t getBufAlignment ()
 Returns some information about the stream. More...
 
size_t getBufAnnounceMin ()
 Returns some information about the stream. More...
 
bool getDefinesPayloadsize ()
 Returns some information about the stream. More...
 
void * getHandle () const
 Get internal stream handle. More...
 
const std::string & getID () const
 Get the internal ID of this stream. More...
 
bool getIsGrabbing ()
 Returns some information about the stream. More...
 
std::shared_ptr< GenApi::CNodeMapRefgetNodeMap ()
 Returns the node map of this object. More...
 
size_t getNumAnnounced ()
 Returns some information about the stream. More...
 
size_t getNumAwaitDelivery ()
 Returns some information about the stream. More...
 
size_t getNumChunksMax ()
 Returns some information about the stream. More...
 
uint64_t getNumDelivered ()
 Returns some information about the stream. More...
 
size_t getNumQueued ()
 Returns some information about the stream. More...
 
uint64_t getNumStarted ()
 Returns some information about the stream. More...
 
uint64_t getNumUnderrun ()
 Returns some information about the stream. More...
 
std::shared_ptr< DevicegetParent () const
 Returns the pointer to the parent device object. More...
 
size_t getPayloadSize ()
 Returns some information about the stream. More...
 
std::string getTLType ()
 Returns some information about the stream. More...
 
const Buffergrab (int64_t timeout=-1)
 Wait for the next image or data and return it in a buffer object. More...
 
void open ()
 Opens the stream for working with it. More...
 
void startStreaming (int na=-1)
 Allocates buffers and registers internal events if necessary and starts streaming. More...
 
void stopStreaming ()
 Stops streaming. More...
 
 Stream (const std::shared_ptr< Device > &parent, const std::shared_ptr< const GenTLWrapper > &gentl, const char *id)
 Constructs a stream class. More...
 
 ~Stream ()
 

Private Member Functions

Streamoperator= (const Stream &)
 
 Stream (class Stream &)
 

Private Attributes

size_t bn
 
Buffer buffer
 
std::shared_ptr< CPortcport
 
void * event
 
std::shared_ptr< const GenTLWrappergentl
 
std::string id
 
std::recursive_mutex mtx
 
int n_open
 
std::shared_ptr< GenApi::CNodeMapRefnodemap
 
std::shared_ptr< Deviceparent
 
void * stream
 

Detailed Description

The stream class encapsulates a Genicam stream.

NOTE: A GenTLException is thrown in case of a severe error.

Definition at line 55 of file stream.h.

Constructor & Destructor Documentation

rcg::Stream::Stream ( const std::shared_ptr< Device > &  parent,
const std::shared_ptr< const GenTLWrapper > &  gentl,
const char *  id 
)

Constructs a stream class.

Streams must only be created by the device class.

Definition at line 53 of file stream.cc.

rcg::Stream::~Stream ( )

Definition at line 67 of file stream.cc.

rcg::Stream::Stream ( class Stream )
private

Member Function Documentation

void rcg::Stream::close ( )

Closes the stream.

Each call of open() must be followed by a call to close() at some point in time.

Definition at line 115 of file stream.cc.

size_t rcg::Stream::getBufAlignment ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Buffer alignment in bytes.

Definition at line 453 of file stream.cc.

size_t rcg::Stream::getBufAnnounceMin ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Min number of buffers to announce before acq can start, if known.

Definition at line 447 of file stream.cc.

bool rcg::Stream::getDefinesPayloadsize ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Flag that indicated that this data stream defines a payload size independent from the remote device.

Definition at line 411 of file stream.cc.

void * rcg::Stream::getHandle ( ) const

Get internal stream handle.

Returns
Internal handle.

Definition at line 471 of file stream.cc.

const std::string & rcg::Stream::getID ( ) const

Get the internal ID of this stream.

Returns
ID.

Definition at line 87 of file stream.cc.

bool rcg::Stream::getIsGrabbing ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Flag indicating whether the acquisition engine is started or not.

Definition at line 405 of file stream.cc.

std::shared_ptr< GenApi::CNodeMapRef > rcg::Stream::getNodeMap ( )

Returns the node map of this object.

NOTE: open() must be called before calling this method. The returned pointer remains valid until close() of this object is called.

Returns
Node map of this object.

Definition at line 459 of file stream.cc.

size_t rcg::Stream::getNumAnnounced ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of announced buffers.

Definition at line 375 of file stream.cc.

size_t rcg::Stream::getNumAwaitDelivery ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of buffers in the output queue.

Definition at line 387 of file stream.cc.

size_t rcg::Stream::getNumChunksMax ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Max number of chunks in a buffer, if known.

Definition at line 441 of file stream.cc.

uint64_t rcg::Stream::getNumDelivered ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of delivered buffers since last acquisition start.

Definition at line 363 of file stream.cc.

size_t rcg::Stream::getNumQueued ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of buffers in the input pool.

Definition at line 381 of file stream.cc.

uint64_t rcg::Stream::getNumStarted ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of buffers started in the acquisition engine.

Definition at line 393 of file stream.cc.

uint64_t rcg::Stream::getNumUnderrun ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Number of lost buffers due to queue underrun.

Definition at line 369 of file stream.cc.

std::shared_ptr< Device > rcg::Stream::getParent ( ) const

Returns the pointer to the parent device object.

Returns
Pointer to parent device object.

Definition at line 82 of file stream.cc.

size_t rcg::Stream::getPayloadSize ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Size of the expected data in bytes.

Definition at line 399 of file stream.cc.

std::string rcg::Stream::getTLType ( )

Returns some information about the stream.

NOTE: open() must have called before calling this method.

Returns
Transport layer technology that is supported.

Definition at line 417 of file stream.cc.

const Buffer * rcg::Stream::grab ( int64_t  timeout = -1)

Wait for the next image or data and return it in a buffer object.

The buffer is valid until the next call to grab.

Parameters
timeoutTimeout in ms. A value < 0 sets waiting time to infinite.
Returns
Pointer to received buffer or 0 in case of an error or interrupt.

Definition at line 269 of file stream.cc.

void rcg::Stream::open ( )

Opens the stream for working with it.

The stream may be opened multiple times. However, for each open(), the close() method must be called as well.

Definition at line 92 of file stream.cc.

Stream& rcg::Stream::operator= ( const Stream )
private
void rcg::Stream::startStreaming ( int  na = -1)

Allocates buffers and registers internal events if necessary and starts streaming.

Parameters
naNumber of buffers to acquire. Set <= 0 for infinity.

Definition at line 135 of file stream.cc.

void rcg::Stream::stopStreaming ( )

Stops streaming.

Definition at line 239 of file stream.cc.

Member Data Documentation

size_t rcg::Stream::bn
private

Definition at line 291 of file stream.h.

Buffer rcg::Stream::buffer
private

Definition at line 280 of file stream.h.

std::shared_ptr<CPort> rcg::Stream::cport
private

Definition at line 293 of file stream.h.

void* rcg::Stream::event
private

Definition at line 290 of file stream.h.

std::shared_ptr<const GenTLWrapper> rcg::Stream::gentl
private

Definition at line 283 of file stream.h.

std::string rcg::Stream::id
private

Definition at line 284 of file stream.h.

std::recursive_mutex rcg::Stream::mtx
private

Definition at line 286 of file stream.h.

int rcg::Stream::n_open
private

Definition at line 288 of file stream.h.

std::shared_ptr<GenApi::CNodeMapRef> rcg::Stream::nodemap
private

Definition at line 294 of file stream.h.

std::shared_ptr<Device> rcg::Stream::parent
private

Definition at line 282 of file stream.h.

void* rcg::Stream::stream
private

Definition at line 289 of file stream.h.


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


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 19:10:56