Impact Acquire SDK Java
TImpactBufferFlag Class Reference

Flags to define the way an mvIMPACT buffer is created and handled. More...

Static Public Attributes

static final int ibfNone = acquireJNI.ibfNone_get()
 A dummy constant to state that none of the flags shall be specified.
 
static final int ibfRecycleBufHandle = acquireJNI.ibfRecycleBufHandle_get()
 If an existing IPL_BUFHANDLE is passed to a function it will try to copy data in this buffer instead of freeing it.
 
static final int ibfUseRequestMemory = acquireJNI.ibfUseRequestMemory_get()
 If set no new memory will be allocated for the creation of the mvIMPACT buffer.
 

Detailed Description

Flags to define the way an mvIMPACT buffer is created and handled.

Member Data Documentation

◆ ibfNone

final int ibfNone = acquireJNI.ibfNone_get()
static

A dummy constant to state that none of the flags shall be specified.

This flag can be used instead of writing code like this: TImpactBufferFlag(0) or static_cast<TImpactBufferFlag>(0).

◆ ibfRecycleBufHandle

final int ibfRecycleBufHandle = acquireJNI.ibfRecycleBufHandle_get()
static

If an existing IPL_BUFHANDLE is passed to a function it will try to copy data in this buffer instead of freeing it.

This flag can be used to allow the continuous usage of the same mvIMPACT buffer. If this flag is NOT specified whenever a valid mvIMPACT buffer handle is passed to a function accepting this type of flags it might free the existing buffer and create a new one.

If this flag is specified and the new buffer doesn't match the existing one in terms of the number of bands, size, etc. the function will fail and return an error code. Thus this flag can be used to optimize performance if the buffer layout will remain constant during application runtime.

◆ ibfUseRequestMemory

final int ibfUseRequestMemory = acquireJNI.ibfUseRequestMemory_get()
static

If set no new memory will be allocated for the creation of the mvIMPACT buffer.

This way of creating the images is fast, but modifying the image data with an image processing function will always modify the image data associated with the underlying request object.

Note
Once the underlying request object has been unlocked, working with the image is no longer save when this flag was set during creation of the mvIMPACT buffer, as the memory might be freed by the driver. If you want to keep the created image do NOT specify this flag during creation.
Whenever a new image is acquired from a device the device might be using the memory already associated with another image thus you might end up with to IMPACT images that internally reference the same buffer. However a large DMA memory will (at least twice the size of one image) will allow to work with a double buffering scheme.