Impact Acquire SDK .NET
ImageMemoryManager Class Reference

An interface class to access DMA memory related properties(Device specific interface layout only). More...

Inheritance diagram for ImageMemoryManager:
[legend]

Public Member Functions

IEnumerable< TgetEnumerable< T > ()
 Returns an enumerator of a certain type that iterates through the collection.
 
IEnumerator< intGetEnumerator ()
 Returns an enumerator that iterates through the collection.
 
 ImageMemoryManager (Device device)
 Constructs a new mv.impact.acquire.ImageMemoryManager object.
 
void restoreDefault ()
 Restores the default for every component of this collection.
 

Public Attributes

readonly PropertyI allocatedDMAMemory_bytes = new PropertyI()
 An integer property (read-only) containing the size of the allocated DMA memory (in bytes).
 
readonly EnumPropertyI< TMemoryManagerModemode = new EnumPropertyI<TMemoryManagerMode>()
 An enumerated integer property containing the mode the memory manager is currently operated in.
 
readonly PropertyI poolBlockCount = new PropertyI()
 An integer property (read-only) containing the number of individual blocks of DMA memory currently available when using the current pool block size and pool mode.
 
readonly PropertyI poolBlockSize_bytes = new PropertyI()
 An integer property defining the size (in bytes) to use for each block of DMA memory.
 
readonly EnumPropertyI< TMemoryManagerPoolModepoolMode = new EnumPropertyI<TMemoryManagerPoolMode>()
 An enumerated integer property containing the mode the memory managers memory pool is currently operated in.
 
readonly PropertyI usedBlocks = new PropertyI()
 An integer property (read-only) containing the number of individual blocks of DMA memory currently used by the device.
 
readonly PropertyI usedDMAMemory_bytes = new PropertyI()
 An integer property (read-only) containing the size of the DMA memory (in bytes) currently used by the device.
 

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.
 
int hObj [get]
 Returns a unique identifier for the component collection referenced by this object.
 

Detailed Description

An interface class to access DMA memory related properties(Device specific interface layout only).

This class can be used to configure the way the device works with DMA memory. This is an advanced feature and shall only be used if necessary or to fine tune an application to achieve optimal performance.

All frame grabbers belonging to the mvTITAN, mvGAMMA, mvSIGMA and mvDELTA series use a special, preallocated block of memory(DMA memory) as target for fast image transfer. The total size of this block has to be set during driver installation. The memory is claimed from the operating system during startup and is shared between all installed devices.

The memory size needed to achieve optimal performance depends on the image size to grab, the queue depth and the mode the memory manager is operated in. Valid values for this property are defined by the enumeration mv.impact.acquire.TMemoryManagerMode and can be selected by modifying the property mv.impact.acquire.ImageMemoryManager.mode.

Note
This class is currently available for frame grabber devices only.
This class will only be available if mv.impact.acquire.Device.interfaceLayout is set to mv.impact.acquire.TDeviceInterfaceLayout.dilDeviceSpecific before the device is opened.

Constructor & Destructor Documentation

◆ ImageMemoryManager()

ImageMemoryManager ( Device device)
inline

Constructs a new mv.impact.acquire.ImageMemoryManager object.

Parameters
[in]deviceA pointer to a mv.impact.acquire.Device object obtained from a mv.impact.acquire.DeviceManager object.

Member Function Documentation

◆ 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>())
{
}
A template class to represent 32 bit integer properties and 32 bit enumerated integer properties.
Definition EnumPropertyI.cs:61
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 frameworks 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 frameworks 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

◆ allocatedDMAMemory_bytes

readonly PropertyI allocatedDMAMemory_bytes = new PropertyI()

An integer property (read-only) containing the size of the allocated DMA memory (in bytes).

◆ mode

An enumerated integer property containing the mode the memory manager is currently operated in.

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

◆ poolBlockCount

readonly PropertyI poolBlockCount = new PropertyI()

An integer property (read-only) containing the number of individual blocks of DMA memory currently available when using the current pool block size and pool mode.

◆ poolBlockSize_bytes

readonly PropertyI poolBlockSize_bytes = new PropertyI()

An integer property defining the size (in bytes) to use for each block of DMA memory.

◆ poolMode

An enumerated integer property containing the mode the memory managers memory pool is currently operated in.

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

◆ usedBlocks

readonly PropertyI usedBlocks = new PropertyI()

An integer property (read-only) containing the number of individual blocks of DMA memory currently used by the device.

◆ usedDMAMemory_bytes

readonly PropertyI usedDMAMemory_bytes = new PropertyI()

An integer property (read-only) containing the size of the DMA memory (in bytes) currently used by the device.

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
A base class to implement access to internal driver components.
Definition Component.cs:133

See the frameworks 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);
foreach (ComponentList cl in info.componentListEnumerable)
{
Console.WriteLine("{0}", cl.name);
}
A class to provide access to component lists.
Definition ComponentList.cs:14

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ 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.