Impact Acquire SDK .NET
BufferPart Class Referencesealed

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

Inheritance diagram for BufferPart:
[legend]

Public Member Functions

IEnumerable< T > getEnumerable< T > ()
 Returns an enumerator of a certain type that iterates through the collection.
 
IEnumerator< int > GetEnumerator ()
 Returns an enumerator that iterates through the collection.
 
void restoreDefault ()
 Restores the default for every component of this collection.
 

Public Attributes

readonly PropertyPtr address = new PropertyPtr()
 A pointer property (read-only) containing the start address of this buffer part.
 
readonly EnumPropertyI64< TBayerMosaicParitybayerMosaicParity = new EnumPropertyI64<TBayerMosaicParity>()
 An enumerated 64-bit integer property (read-only) containing the Bayer parity of this buffer part.
 
readonly PropertyI64 bytesPerPixel = new PropertyI64()
 A 64-bit integer property (read-only) containing the number of bytes per pixel in this buffer part.
 
readonly PropertyI64 channelBitDepth = new PropertyI64()
 A 64-bit integer property (read-only) containing the number of effective bits stored in each channel belonging to the current buffer part.
 
readonly PropertyI64 channelCount = new PropertyI64()
 A 64-bit integer property (read-only) containing the number of channels this buffer part consists of.
 
readonly PropertyS channelDesc = new PropertyS()
 A string property (read-only) containing the string descriptors of each channel belonging to the current buffer part.
 
readonly PropertyI64 channelOffset = new PropertyI64()
 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 mv.impact.acquire.BufferPart.address.
 
readonly PropertyI64 dataSize = new PropertyI64()
 A 64-bit integer property (read-only) containing the size (in bytes) of this buffer part.
 
readonly EnumPropertyI64< TBufferPartDataTypedataType = new EnumPropertyI64<TBufferPartDataType>()
 An enumerated 64-bit integer property (read-only) containing the data type of this buffer part.
 
readonly PropertyI64 groupID = new PropertyI64()
 Identifier allowing to group data parts having the same purpose (usually corresponding with the ComponentSelector feature from SFNC).
 
readonly PropertyI64 height = new PropertyI64()
 A 64-bit integer property (read-only) containing the height of the buffer part in pixels.
 
readonly PropertyI64 linePitch = new PropertyI64()
 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.
 
readonly PropertyI64 offsetX = new PropertyI64()
 A 64-bit integer property (read-only) containing the X-offset of the buffer part in pixels.
 
readonly PropertyI64 offsetY = new PropertyI64()
 A 64-bit integer property (read-only) containing the Y-offset of the buffer part in pixels.
 
readonly PropertyI64 paddingX = new PropertyI64()
 A 64-bit integer property (read-only) containing the number of padding bytes in X direction of the buffer part.
 
readonly EnumPropertyI< TImageBufferPixelFormatpixelFormat = new EnumPropertyI<TImageBufferPixelFormat>()
 An enumerated integer property defining the pixel format of this buffer part.
 
readonly PropertyI64 pixelPitch = new PropertyI64()
 A 64-bit integer property (read-only) containing the offset (in bytes) to the next pixel of the specified channel of this buffer part.
 
readonly PropertyI64 regionID = new PropertyI64()
 Identifier allowing to group data parts belonging to the same region (usually corresponding with the RegionSelector/ChunkRegionID features from SFNC).
 
readonly PropertyI64 sourceID = new PropertyI64()
 Identifier allowing to group data parts belonging to the same source (usually corresponding with the SourceSelector/ChunkSourceID features from SFNC).
 
readonly PropertyI64 width = new PropertyI64()
 A 64-bit integer property (read-only) containing the width of the buffer part in pixels.
 

Package Functions

void bindPublicProperties (int hList)
 
 BufferPart (int hList)
 

Properties

IEnumerable< ComponentcomponentEnumerable [get]
 Returns an enumerator that iterates through the collection.
 
IEnumerable< ComponentListcomponentListEnumerable [get]
 Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection.
 
Component firstSibling [get]
 
int hObj [get]
 Returns a unique identifier for the component collection referenced by this object.
 

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 mv.impact.acquire.Request are allowed to create objects of mv.impact.acquire.BufferPart. Consequently the only way to get access to a mv.impact.acquire.BufferPart object is via a call to mv.impact.acquire.Request.getBufferPart.

See also
Multi-Part Format
Since
2.20.0

Constructor & Destructor Documentation

◆ BufferPart()

BufferPart ( int hList)
inlinepackage

Member Function Documentation

◆ bindPublicProperties()

void bindPublicProperties ( int hList)
inlinepackage

◆ getEnumerable< T >()

IEnumerable< T > getEnumerable< T > ( )
inlineinherited

Returns an enumerator of a certain type that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Property c in info.getEnumerable<Property>())
{
validateProperty(c);
}
A class to query various general information about the device, its driver and other information.
Definition Info.cs:10
A base class for properties.
Definition Property.cs:109

See the framework's documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ GetEnumerator()

IEnumerator< int > GetEnumerator ( )
inlineinherited

Returns an enumerator that iterates through the collection.

See the framework's documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ restoreDefault()

void restoreDefault ( )
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.

Member Data Documentation

◆ address

readonly PropertyPtr address = new PropertyPtr()

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

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

◆ 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 mv.impact.acquire.TBayerMosaicParity.bmpUndefined.

Valid values for this property are defined by the enumeration mv.impact.acquire.TBayerMosaicParity.

◆ bytesPerPixel

readonly PropertyI64 bytesPerPixel = new PropertyI64()

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

◆ channelBitDepth

readonly PropertyI64 channelBitDepth = new PropertyI64()

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 mv.impact.acquire.PropertyI64.read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ channelCount

readonly PropertyI64 channelCount = new PropertyI64()

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 mv.impact.acquire.BufferPart.pixelPitch,
mv.impact.acquire.BufferPart.linePitch,
mv.impact.acquire.BufferPart.channelBitDepth,
mv.impact.acquire.BufferPart.channelDesc and
mv.impact.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

readonly PropertyS channelDesc = new PropertyS()

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

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

◆ channelOffset

readonly PropertyI64 channelOffset = new PropertyI64()

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 mv.impact.acquire.BufferPart.address.

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

◆ dataSize

readonly PropertyI64 dataSize = new PropertyI64()

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

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

◆ 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 mv.impact.acquire.TBufferPartDataType.

◆ groupID

readonly PropertyI64 groupID = new PropertyI64()

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

Since
2.50.0

◆ height

readonly PropertyI64 height = new PropertyI64()

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

◆ linePitch

readonly PropertyI64 linePitch = new PropertyI64()

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 mv.impact.acquire.PropertyI64.read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ offsetX

readonly PropertyI64 offsetX = new PropertyI64()

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

◆ offsetY

readonly PropertyI64 offsetY = new PropertyI64()

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

◆ paddingX

readonly PropertyI64 paddingX = new PropertyI64()

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 mv.impact.acquire.TImageBufferPixelFormat.

◆ pixelPitch

readonly PropertyI64 pixelPitch = new PropertyI64()

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 mv.impact.acquire.PropertyI64.read() or in a single call by using the overloaded read function accepting a reference to a vector.

◆ regionID

readonly PropertyI64 regionID = new PropertyI64()

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

readonly PropertyI64 sourceID = new PropertyI64()

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

readonly PropertyI64 width = new PropertyI64()

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

Property Documentation

◆ componentEnumerable

IEnumerable<Component> componentEnumerable
getinherited

Returns an enumerator that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Component c in info.componentEnumerable)
{
Console.WriteLine("{0}", c.name);
}
String name
Returns the name of the component referenced by this object.
Definition ComponentAccess.cs:167
IEnumerable< Component > componentEnumerable
Returns an enumerator that iterates through the collection.
Definition ComponentCollection.cs:202
A base class to implement access to internal driver components.
Definition Component.cs:133

See the framework's documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ componentListEnumerable

IEnumerable<ComponentList> componentListEnumerable
getinherited

Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
{
Console.WriteLine("{0}", cl.name);
}
IEnumerable< ComponentList > componentListEnumerable
Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the c...
Definition ComponentCollection.cs:229
A class to provide access to component lists.
Definition ComponentList.cs:14

See the framework's documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ firstSibling

Component firstSibling
getpackage

◆ hObj

int hObj
getinherited

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

This handle will always reference an object of type mv.impact.acquire.ComponentList.

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