Impact Acquire SDK Java
Overview

This is the documentation for developers who want to work with the Java interface of Impact Acquire.

Every program written using this interface will start in one or the other form with creating an instance of the class mvIMPACT.acquire.DeviceManager. Each application needs at least one instance of this class while devices are being accessed. To find out how to gain access to a certain device look at the detailed description of this class.

Note
Please carefully read the detailed description of the mvIMPACT.acquire.DeviceManager at least once as there are some important things to keep in mind when designing your application! Not doing so might result in severe headache so be warned!

Once a reference to the desired device represented by an instance of the class mvIMPACT.acquire.Device has been obtained every other device related properties or functions can be accessed.

Stuff from the mvIMPACT.acquire.GenICam package is only available when using the mvIMPACT.acquire.dilGenICam interface layout (by setting mvIMPACT.acquire.Device.interfaceLayout to mvIMPACT.acquire.dilGenICam before opening the device. Classes from the mvIMPACT.acquire package might only be available in interface layout mvIMPACT.acquire.dilDeviceSpecific. These classes will state their limited availability in the documentation. Without setting the interface layout, mvIMPACT.acquire.dilDeviceSpecific will be used by default for all non GenICam™ devices and all mvBlueCOUGAR-X/XD devices. All other GenICam™ compliant devices will only support the mvIMPACT.acquire.dilGenICam layout. The C++ or C# example GenICamInterfaceLayout shows how to set the interface layout. All example applications as well as complex GUI applications like ImpactControlCenter will either silently or explicitly switch to the mvIMPACT.acquire.dilGenICam interface layout if possible and the user didn't say otherwise so if an application copies code from example code make sure your application is aware of the interface layout and sets it accordingly!
Note
When the last instance to objects of the class mvIMPACT.acquire.DeviceManager is destroyed, every device pointer or handle to interface properties will become invalid automatically, as the destructor of the device manager decrements an internal usage counter, that automatically closes all devices and frees allocated resources, once this usage counter reaches 0. So make sure there is always at least one instance of the device manager present in your application.

Some source code samples how to locate a certain mvIMPACT.acquire.Device also can be found in the detailed description of the class mvIMPACT.acquire.DeviceManager.