Interface for continuously acquiring images.
More...
|
cvbbool_t | CanRingBuffer (IMG Image) |
| This function verifies whether the image supports the RingBuffer interface.
|
|
cvbres_t | RBBufferSeq (IMG Image, cvbval_t lSequenceIndex, cvbval_t &lBufferIndex) |
| Returns the buffer index for a given sequence number.
|
|
cvbres_t | RBGetBufferImage (IMG Image, cvbval_t lBufferIndex, IMG &I) |
| Returns a new image object which dereferences a specifc image buffer.
|
|
cvbres_t | RBGetRingBufferInfo (IMG Image, cvbval_t lBufferIndex, RINGBUFFER_INFO_CMD lRequestedInformation, double &dInfo) |
| Returns additional information for a specific buffer.
|
|
cvbres_t | RBIsLocked (IMG Image, cvbval_t lBufferIndex, cvbbool_t &BIsLocked) |
| Checks if a specific imagebuffer is locked or not.
|
|
cvbres_t | RBLockMode (IMG Image, RINGBUFFER_LOCKMODE_CMD lAction, RINGBUFFER_LOCKMODE &lMode) |
| Sets the Lockmode.
|
|
cvbres_t | RBNumBuffer (IMG Image, RINGBUFFER_NUMBUFFER_CMD lAction, cvbval_t &lNum, IMG &imgNew) |
| Sets, gets or validates the number of imagebuffers in the image.
|
|
cvbres_t | RBUnlock (IMG Image, cvbval_t lBufferIndex) |
| Manually unlocks a specific buffer.
|
|
Interface for continuously acquiring images.
◆ RINGBUFFER_INFO_CMD
- Attention
- The list below descripes the specific constant declarations and typedefs. There are declared in the header file iCVCDriver.* .
Enumerator |
---|
RINGBUFFER_INFO_TIMESTAMP | Inquire the timestamp of a buffer image.
- Attention
- This feature is optional and may not be implemented by any driver.
|
RINGBUFFER_INFO_TAG | Inquire a tag for a buffer image.
- Attention
- This feature is optional and may not be implemented by any driver.
|
RINGBUFFER_INFO_LOCKED | Inquire the lockstatus for a buffer image.
|
◆ RINGBUFFER_LOCKMODE
- Attention
- The lock mode can't be changed while a grab is active. You may have to stop the acquisition before changing the lockmode.
The list below descripes the specific constant declarations and typedefs. There are declared in the header file iCVCDriver.* .
Enumerator |
---|
RINGBUFFER_LOCKMODE_AUTO | Sets the lock mode to auto.
That means that a buffer is automatically unlocked with the next call to G2Wait. This is the traditional CVB behavior if you are using any of the acquisition interfaces or controls.
|
RINGBUFFER_LOCKMODE_ON | Don't unlock buffers automatically.
The buffer has to be unlocked manually with RBUnlock to enable a new data transfer into that buffer.
Using this mode it's possible to write a very high speed sequence into memory by simply start a grab with lock mode set to ON, wait for a certain time till all buffers are locked and then call G2Freeze.
- Attention
- If all buffers are locked the system looses images.
|
RINGBUFFER_LOCKMODE_INVALID | Lock mode returned from RBLockMode with the RINGBUFFER_LOCKMODE_CMD_VALIDATE command (see RINGBUFFER_LOCKMODE_CMD)
if the specified lock mode was not available.
|
◆ RINGBUFFER_LOCKMODE_CMD
- Attention
- The list below describes the specific constant declarations and typedefs. There are declared in the header file iCVCDriver.*.
Enumerator |
---|
RINGBUFFER_LOCKMODE_CMD_GET | Get active lock mode.
|
RINGBUFFER_LOCKMODE_CMD_SET | Set active lock mode.
|
RINGBUFFER_LOCKMODE_CMD_VALIDATE | Validate active lock mode.
|
◆ RINGBUFFER_NUMBUFFER_CMD
- Attention
- The number of buffers can't be changed while the grab is active. Stop the acquisition before changing the number of buffers.
The list below describes the specific constant declarations and typedefs. There are declared in the header file iCVCDriver.*.
Enumerator |
---|
RINGBUFFER_NUMBUFFER_CMD_GET | Get the Number of buffers in your ring buffer.
|
RINGBUFFER_NUMBUFFER_CMD_SET | Set the number of buffers in your ringbuffer.
|
RINGBUFFER_NUMBUFFER_CMD_VALIDATE | Validate that a given number of buffers is valid.
|
◆ CanRingBuffer()
cvbbool_t CanRingBuffer |
( |
IMG | Image | ) |
|
This function verifies whether the image supports the RingBuffer interface.
- Parameters
-
[in] | Image | Handle of image object. |
- Returns
TRUE
if the image supports the RingBuffer interface, FALSE
otherwise.
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Delphi - Delphi RingBuffer Example
Visual Basic - VB RingBuffer Example 1, VB RingBuffer Example 2
Visual C++ - VC Driver MDI Example (DLL only)
◆ RBBufferSeq()
cvbres_t RBBufferSeq |
( |
IMG | Image, |
|
|
cvbval_t | lSequenceIndex, |
|
|
cvbval_t & | lBufferIndex ) |
Returns the buffer index for a given sequence number.
E.g. the SequenceNumber '0'
returns the index of the last buffer acquired by G2Wait. SequenceNumber NumBuffers-1 returns the index of the 'oldest' image in the ringbuffer acquired by G2Wait.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lSequenceIndex | Index in the sequence. |
[out] | lBufferIndex | Index of the buffer. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBGetBufferImage()
cvbres_t RBGetBufferImage |
( |
IMG | Image, |
|
|
cvbval_t | lBufferIndex, |
|
|
IMG & | I ) |
Returns a new image object which dereferences a specifc image buffer.
For example:
If you use 5 imagebuffers in the ringbuffer and you call RBGetBufferImage with a BufferIndex of 3 you will get a new image which containes the data of the forth image buffer.
To retrieve the index of the last (timewise) acquired imagebuffer call RBBufferSeq function with a sequence number of 0.
- Attention
- Release the image when it is no longer needed to decrement the image reference counter.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lBufferIndex | Number of buffer for returned image. |
[out] | I | New image. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBGetRingBufferInfo()
cvbres_t RBGetRingBufferInfo |
( |
IMG | Image, |
|
|
cvbval_t | lBufferIndex, |
|
|
RINGBUFFER_INFO_CMD | lRequestedInformation, |
|
|
double & | dInfo ) |
Returns additional information for a specific buffer.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lBufferIndex | Index of the buffer to get the status for. |
[in] | lRequestedInformation | Command to execute (see RINGBUFFER_INFO_CMD). |
[out] | dInfo | Return value containing the information. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBIsLocked()
cvbres_t RBIsLocked |
( |
IMG | Image, |
|
|
cvbval_t | lBufferIndex, |
|
|
cvbbool_t & | BIsLocked ) |
Checks if a specific imagebuffer is locked or not.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lBufferIndex | Number of buffer ot check. |
[out] | BIsLocked | TRUE indicates that the buffer is locked, FALSE otherwise. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBLockMode()
Sets the Lockmode.
- Attention
- It is not allowed to change the number of buffers while a grab is active.
- Parameters
-
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Related Topics:
- RBUnlock
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBNumBuffer()
Sets, gets or validates the number of imagebuffers in the image.
- Attention
- It is not allowed to change the number of buffers while a grab is active.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lAction | Command to execute (see RINGBUFFER_NUMBUFFER_CMD). |
[in,out] | lNum | Number of images (get or set depends on the command). |
[in,out] | imgNew | If the number of buffers in the images changes, this parameter returns the new image. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)
◆ RBUnlock()
cvbres_t RBUnlock |
( |
IMG | Image, |
|
|
cvbval_t | lBufferIndex ) |
Manually unlocks a specific buffer.
Use this function to unlock a buffer when using RINGBUFFER_LOCKMODE_ON lockmode. Do not use this function for any other lockmode (see RINGBUFFER_NUMBUFFER_CMD for more information).
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lBufferIndex | Number of the buffer to unlock. |
- Returns
- >=0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Related Topics:
- RBLockMode
- Examples:
- Visual C++ - VC Driver MDI Example (DLL only)