Impact Acquire SDK C++
BufferPart Class Reference

Contains information about a specific part of a captured buffer. More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for BufferPart:
[legend]

Public Member Functions

const ImageBufferDescgetImageBufferDesc (void) const
 Returns a const reference to the image buffer descriptor of this buffer part.
 
HOBJ hObj (void) const
 Returns a unique identifier for the component collection referenced by this object.
 
const ComponentCollectionrestoreDefault (void) const
 Restores the default for every component of this collection.
 

Public Attributes

PropertyPtr address
 A pointer property (read-only) containing the start address of this buffer part.
 
PropertyI64BayerMosaicParity bayerMosaicParity
 An enumerated 64-bit integer property (read-only) containing the Bayer parity of this buffer part.
 
PropertyI64 bytesPerPixel
 A 64-bit integer property (read-only) containing the number of bytes per pixel in this buffer part.
 
PropertyI64 channelBitDepth
 A 64-bit integer property (read-only) containing the number of effective bits stored in each channel belonging to the current buffer part.
 
PropertyI64 channelCount
 A 64-bit integer property (read-only) containing the number of channels this buffer part consists of.
 
PropertyS channelDesc
 A string property (read-only) containing the string descriptors of each channel belonging to the current buffer part.
 
PropertyI64 channelOffset
 A 64-bit integer property (read-only) containing the offset (in bytes) to each channel belonging to the current buffer part relative to the address contained in mvIMPACT::acquire::BufferPart::address.
 
PropertyI64 dataSize
 A 64-bit integer property (read-only) containing the size (in bytes) of this buffer part.
 
PropertyI64BufferPartDataType dataType
 An enumerated 64-bit integer property (read-only) containing the data type of this buffer part.
 
PropertyI64 groupID
 Identifier allowing to group data parts having the same purpose (usually corresponding with the ComponentSelector feature from SFNC).
 
PropertyI64 height
 A 64-bit integer property (read-only) containing the height of the buffer part in pixels.
 
PropertyI64 linePitch
 A 64-bit integer property (read-only) containing the offset (in bytes) to the next line of each channel belonging to the current buffer part.
 
PropertyI64 offsetX
 A 64-bit integer property (read-only) containing the X-offset of the buffer part in pixels.
 
PropertyI64 offsetY
 A 64-bit integer property (read-only) containing the Y-offset of the buffer part in pixels.
 
PropertyI64 paddingX
 A 64-bit integer property (read-only) containing the number of padding bytes in X direction of the buffer part.
 
PropertyIImageBufferPixelFormat pixelFormat
 An enumerated integer property defining the pixel format of this buffer part.
 
PropertyI64 pixelPitch
 A 64-bit integer property (read-only) containing the offset (in bytes) to the next pixel of the specified channel of this buffer part.
 
PropertyI64 regionID
 Identifier allowing to group data parts belonging to the same region (usually corresponding with the RegionSelector/ChunkRegionID features from SFNC).
 
PropertyI64 sourceID
 Identifier allowing to group data parts belonging to the same source (usually corresponding with the SourceSelector/ChunkSourceID features from SFNC).
 
PropertyI64 width
 A 64-bit integer property (read-only) containing the width of the buffer part in pixels.
 

Protected Attributes

HOBJ m_hRoot
 

Friends

class Request
 

Detailed Description

Contains information about a specific part of a captured buffer.

This class provides access to all sorts of information about a specific part of a captured buffer. Only Instances of mvIMPACT::acquire::Request are allowed to create objects of mvIMPACT::acquire::BufferPart. Consequently the only way to get access to a mvIMPACT::acquire::BufferPart object is via a call to mvIMPACT::acquire::Request::getBufferPart.

See also
Multi-Part Format
Since
2.20.0
Examples
ContinuousCaptureMultiPart.cpp, ContinuousCaptureMultiPart.legacy.cpp, and ContinuousCapture_BVS-3D-RV0.cpp.

Member Function Documentation

◆ getImageBufferDesc()

const ImageBufferDesc & getImageBufferDesc ( void ) const
inline

Returns a const reference to the image buffer descriptor of this buffer part.

This function returns a const reference to the mvIMPACT::acquire::ImageBufferDesc associated with this mvIMPACT::acquire::BufferPart.

Attention
Please do NEVER work with old references to this structure. So do NOT store this reference in some variable to use it for the evaluation of the next mvIMPACT::acquire::BufferPart object as well, as this will not work. Whenever mvIMPACT::acquire::BufferPart::getImageBufferDesc is called the function will make sure that the data in the returned structure is up to date while when working with an old reference to the mvIMPACT::acquire::ImageBufferDesc structure the containing data might refer to a previous result or even worse invalid memory locations. This reference will remain valid until an application calls mvIMPACT::acquire::Request::unlock for the corresponding request.
Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ hObj()

HOBJ hObj ( void ) const
inlineinherited

Returns a unique identifier for the component collection referenced by this object.

This handle will always reference an object of type mvIMPACT::acquire::ComponentList.

Returns
A unique identifier for the component referenced by this object.

◆ restoreDefault()

const ComponentCollection & restoreDefault ( void ) const
inlineinherited

Restores the default for every component of this collection.

Calling this function will restore the default value for every component belonging to this collection.

Note
The caller must have the right to modify the component. Otherwise an exception will be thrown.
Returns
A const reference to the component.

Friends And Related Symbol Documentation

◆ Request

friend class Request
friend

Member Data Documentation

◆ address

PropertyPtr address

A pointer property (read-only) containing the start address of this buffer part.

See remarks under mvIMPACT::acquire::Request::imageData. Most of the information provided there will be valid for this property as well.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ bayerMosaicParity

PropertyI64BayerMosaicParity bayerMosaicParity

An enumerated 64-bit integer property (read-only) containing the Bayer parity of this buffer part.

If the current buffer part does not contain Bayer data, this value will be mvIMPACT::acquire::bmpUndefined.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBayerMosaicParity.

◆ bytesPerPixel

PropertyI64 bytesPerPixel

A 64-bit integer property (read-only) containing the number of bytes per pixel in this buffer part.

◆ channelBitDepth

PropertyI64 channelBitDepth

A 64-bit integer property (read-only) containing the number of effective bits stored in each channel belonging to the current buffer part.

Note
This property will store channelCount values. These can be queried one by one using the index parameter of the function mvIMPACT::acquire::PropertyI64::read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ channelCount

PropertyI64 channelCount

A 64-bit integer property (read-only) containing the number of channels this buffer part consists of.

For an RGB image this value e.g. would be 3. This value also defines how many parameters are stored by the properties mvIMPACT::acquire::BufferPart::pixelPitch,
mvIMPACT::acquire::BufferPart::linePitch,
mvIMPACT::acquire::BufferPart::channelBitDepth,
mvIMPACT::acquire::BufferPart::channelDesc and
mvIMPACT::acquire::BufferPart::channelOffset.

If e.g. the channel count is 3 a call like bufferPart.channelOffset.read( 2 ) would return the channel offset of channel 3 (as calls to the read functions of properties are '0' based).

◆ channelDesc

PropertyS channelDesc

A string property (read-only) containing the string descriptors of each channel belonging to the current buffer part.

See remarks under mvIMPACT::acquire::Request::imageChannelDesc. Most of the information provided there will be valid for this property as well.

◆ channelOffset

PropertyI64 channelOffset

A 64-bit integer property (read-only) containing the offset (in bytes) to each channel belonging to the current buffer part relative to the address contained in mvIMPACT::acquire::BufferPart::address.

Note
This property will store channelCount values. These can be queried one by one using the index parameter of the function mvIMPACT::acquire::PropertyI64::read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ dataSize

PropertyI64 dataSize

A 64-bit integer property (read-only) containing the size (in bytes) of this buffer part.

See remarks under mvIMPACT::acquire::Request::imageData. Most of the information provided there will be valid for this property as well.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ dataType

An enumerated 64-bit integer property (read-only) containing the data type of this buffer part.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBufferPartDataType.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ groupID

PropertyI64 groupID

Identifier allowing to group data parts having the same purpose (usually corresponding with the ComponentSelector feature from SFNC).

Since
2.50.0

◆ height

PropertyI64 height

A 64-bit integer property (read-only) containing the height of the buffer part in pixels.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ linePitch

PropertyI64 linePitch

A 64-bit integer property (read-only) containing the offset (in bytes) to the next line of each channel belonging to the current buffer part.

Note
This property will store channelCount values. These can be queried one by one using the index parameter of the function mvIMPACT::acquire::PropertyI64::read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ m_hRoot

HOBJ m_hRoot
protectedinherited

◆ offsetX

PropertyI64 offsetX

A 64-bit integer property (read-only) containing the X-offset of the buffer part in pixels.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ offsetY

PropertyI64 offsetY

A 64-bit integer property (read-only) containing the Y-offset of the buffer part in pixels.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.

◆ paddingX

PropertyI64 paddingX

A 64-bit integer property (read-only) containing the number of padding bytes in X direction of the buffer part.

◆ pixelFormat

An enumerated integer property defining the pixel format of this buffer part.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TImageBufferPixelFormat.

◆ pixelPitch

PropertyI64 pixelPitch

A 64-bit integer property (read-only) containing the offset (in bytes) to the next pixel of the specified channel of this buffer part.

Note
This property will store channelCount values. These can be queried one by one using the index parameter of the function mvIMPACT::acquire::PropertyI64::read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ regionID

PropertyI64 regionID

Identifier allowing to group data parts belonging to the same region (usually corresponding with the RegionSelector/ChunkRegionID features from SFNC).

Parts marked with the same region_id can be pixel mapped together. Parts carrying data from different ROI's of the same source would typically be marked with the same source_id but with different region_ids.

Since
2.50.0

◆ sourceID

PropertyI64 sourceID

Identifier allowing to group data parts belonging to the same source (usually corresponding with the SourceSelector/ChunkSourceID features from SFNC).

Parts marked with the same source_id can be pixel mapped together. Parts carrying data from different ROI's of the same source would typically be marked with the same source_id. It is not mandatory that source_id's within a given buffer make a contiguous sequence of numbers starting with zero.

Note
For example with a dual-source 3D camera, the buffer can contain data parts carrying the 3D data and Confidence data corresponding to both of the two different sources. In this case the source ID helps to match the 3D and Confidence parts belonging together.

◆ width

PropertyI64 width

A 64-bit integer property (read-only) containing the width of the buffer part in pixels.

Examples
ContinuousCaptureMultiPart.cpp, and ContinuousCaptureMultiPart.legacy.cpp.