Impact Acquire SDK Java
GenTLDriverConfigurator Class Reference

A class that contains items to configure the behaviour of the GenICam GenTL driver stack. More...

Inheritance diagram for GenTLDriverConfigurator:
[legend]

Public Member Functions

GenTLProducerConfiguration createProducerConfiguration (String producerName)
 Creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.
 
GenTLProducerConfiguration createProducerConfiguration (String producerName, String interfaceID)
 Creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.
 
synchronized void delete ()
 
void deleteAllProducerConfigurations ()
 Deletes all mvIMPACT.acquire.GenTLProducerConfiguration objects.
 
void deleteProducerConfiguration (String producerName)
 Deletes a mvIMPACT.acquire.GenTLProducerConfiguration objects.
 
 GenTLDriverConfigurator ()
 Constructs a new mvIMPACT.acquire.GenTLDriverConfigurator object.
 
 GenTLDriverConfigurator (GenTLDriverConfigurator src)
 Constructs a new mvIMPACT.acquire.GenTLDriverConfigurator from an existing one.
 
PropertyI getMasterEnumerationBehaviour ()
 An enumerated integer property defining the master enumeration mode for all GenTL producer detected in the current session.
 
GenTLProducerConfiguration getProducerConfiguration (String producerName)
 Returns the mvIMPACT.acquire.GenTLProducerConfiguration associated with the referenced producer library.
 
GenTLProducerConfigurationVector getProducerConfigurations ()
 Returns a vector containing all mvIMPACT.acquire.GenTLProducerConfiguration objects currently defined.
 
boolean hasProducerConfiguration (String producerName)
 Checks if a certain producer library has been associated with a mvIMPACT.acquire.GenTLProducerConfiguration.
 
int hObj ()
 Returns a unique identifier for the component collection referenced by this object.
 
ComponentCollection restoreDefault ()
 Restores the default for every component of this collection.
 

Protected Member Functions

void finalize ()
 
 GenTLDriverConfigurator (long cPtr, boolean cMemoryOwn)
 

Static Protected Member Functions

static long swigRelease (ComponentCollection obj)
 
static long swigRelease (GenTLDriverConfigurator obj)
 

Protected Attributes

transient boolean swigCMemOwn
 

Detailed Description

A class that contains items to configure the behaviour of the GenICam GenTL driver stack.

This class contains items e.g. to configure the enumeration behaviour of third party GenTL producer libraries.

Since version 2.32.0 Impact Acquire has built-in support for third party GenTL producer libraries. The latest version of the GenTL specification can be found here: https://www.emva.org/standards-technology/genicam/.

Detection of GenTL producer libraries works by evaluating the GENICAM_GENTL32_PATH environment variable within a 32-bit process or the GENICAM_GENTL64_PATH variable in a 64-bit process. This variable contains a list of directories that might potentially contain GenTL producer libraries. These libraries use a the file extension .cti and export a defined interface.

All libraries that fulfill these requirements will be loaded into the Impact Acquire process. By default all these libraries will then also be enumerated for connected/bound devices. The only exception will be if a third party producer is found that reports an interface supporting the same technology as one delivered by Impact Acquire (e.g. for the GigE Vision or USB3 Vision standard). These interfaces by default will not be enumerated.

The purpose of this class now is to allow an application to modify this behaviour. This might be beneficial for several reasons:

  • a certain third party library on the system has negative impact on the overall stability of the process
  • there are so many third party libraries on the system that enumeration takes a very long time but the application does not want to access devices reported by these third party libraries
  • multiple producers support the same device resulting in very long and confusing device lists
  • etc.

To exclude a certain producer from enumeration first an mvIMPACT.acquire.GenTLProducerConfiguration entry for that producer must be created and then the mvIMPACT.acquire.GenTLProducerConfiguration.getEnumerationEnable() property for this producer must be set to mvIMPACT.acquire.TBoolean.bFalse.

// Assuming a certain 'ACME.producer.cti' producer has been found somewhere in the GENICAM_GENTLXY_PATH.
if( !driverConfigurator.hasProducerConfiguration( "ACME.producer.cti" ) )
{
driverConfigurator.createProducerConfiguration( "ACME.producer.cti" ); // the 'enumerationEnable' will be false by default!
}
else
{
driverConfigurator.getProducerConfiguration( "ACME.producer.cti" ).enumerationEnable.write( TBoolean.bFalse );
}
A class that contains items to configure the behaviour of the GenICam GenTL driver stack.
Definition GenTLDriverConfigurator.java:164
GenTLProducerConfiguration createProducerConfiguration(String producerName, String interfaceID)
Creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported b...
Definition GenTLDriverConfigurator.java:236
boolean hasProducerConfiguration(String producerName)
Checks if a certain producer library has been associated with a mvIMPACT.acquire.GenTLProducerConfigu...
Definition GenTLDriverConfigurator.java:283
GenTLProducerConfiguration getProducerConfiguration(String producerName)
Returns the mvIMPACT.acquire.GenTLProducerConfiguration associated with the referenced producer libra...
Definition GenTLDriverConfigurator.java:296
Defines a Boolean value type.
Definition TBoolean.java:15
static final int bFalse
Off, false or logical low.
Definition TBoolean.java:17

To exclude a certain interface from a producer from enumeration an mvIMPACT.acquire.GenTLProducerConfiguration.getEnumerationEnable() property for this producer can be set to mvIMPACT.acquire.TBoolean.bFalse and the interface enumeration behaviour should be set to mvIMPACT.acquire.TInterfaceEnumerationBehaviour.iebForceEnumerate.

// Assuming a certain 'ACME.producer.cti' producer has been found somewhere in the GENICAM_GENTLXY_PATH.
GenTLProducerConfiguration configuration = null;
if( driverConfigurator.hasProducerConfiguration( "ACME.producer.cti" ) )
{
configuration = driverConfigurator.getProducerConfiguration( "ACME.producer.cti" );
}
else
{
configuration = driverConfigurator.createProducerConfiguration( "ACME.producer.cti" );
}
configuration.getEnumerationEnable().write( TBoolean.bTrue ); // switch on ALL interfaces...
configuration.createProducerInterfaceConfigurationEntry( "ACME.interface0.ID" ).write( TInterfaceEnumerationBehaviour.iebForceIgnore ); // ... except this one
A class that contains items to configure the behaviour of the GenICam GenTL driver stack.
Definition GenTLProducerConfiguration.java:29
PropertyI getEnumerationEnable()
An enumerated integer property defining the enumeration behavior this particular GenTL producer.
Definition GenTLProducerConfiguration.java:84
PropertyI createProducerInterfaceConfigurationEntry(String interfaceID)
Creates a new interface configuration entry for this producers configuration.
Definition GenTLProducerConfiguration.java:129
PropertyI write(int value, int index)
Writes one value to the property.
Definition PropertyI.java:350

The same thing can be done the other way round:

GenTLProducerConfiguration configuration = null;
if( driverConfigurator.hasProducerConfiguration( "ACME.producer.cti" ) )
{
configuration = driverConfigurator.getProducerConfiguration( "ACME.producer.cti" );
}
else
{
configuration = driverConfigurator.createProducerConfiguration( "ACME.producer.cti" );
}
configuration.getEnumerationEnable().write( TBoolean.bFalse ); // switch on ALL interfaces...
configuration.createProducerInterfaceConfigurationEntry( "ACME.interface0.ID" ).write( TInterfaceEnumerationBehaviour.iebForceEnumerate ); // ... except this one
See also
Setting Up The Framework For Third Party GenTL Producer Usage
Since
2.34.0

Constructor & Destructor Documentation

◆ GenTLDriverConfigurator() [1/3]

GenTLDriverConfigurator ( long cPtr,
boolean cMemoryOwn )
protected

◆ GenTLDriverConfigurator() [2/3]

◆ GenTLDriverConfigurator() [3/3]

Constructs a new mvIMPACT.acquire.GenTLDriverConfigurator from an existing one.

Parameters
src[in] A constant reference to the mvIMPACT.acquire.GenTLDriverConfigurator object, this object shall be created from

Member Function Documentation

◆ createProducerConfiguration() [1/2]

GenTLProducerConfiguration createProducerConfiguration ( String producerName)

Creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.

Calling this function will creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.

Note
If a configuration entry for the specified interface does already exist an exception will be thrown.
Parameters
producerName[in] The exact name of the producer library without the path to create the entry for.

◆ createProducerConfiguration() [2/2]

GenTLProducerConfiguration createProducerConfiguration ( String producerName,
String interfaceID )

Creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.

Calling this function will creates a new mvIMPACT.acquire.GenTLProducerConfiguration object for the desired interface reported by the specified producer.

Note
If a configuration entry for the specified interface does already exist an exception will be thrown.
Parameters
producerName[in] The exact name of the producer library without the path to create the entry for.
interfaceID[in] The interface ID to create the configuration entry for.

◆ delete()

synchronized void delete ( )

Reimplemented from ComponentCollection.

◆ deleteAllProducerConfigurations()

void deleteAllProducerConfigurations ( )

Deletes all mvIMPACT.acquire.GenTLProducerConfiguration objects.

Calling this function will result in all mvIMPACT.acquire.GenTLProducerConfiguration objects to be deleted. When the next Impact Acquire process will be started after shutting down the current one all producer libraries found on the system will be processed. By default only interfaces reporting types/technologies (e.g. GigE Vision) also supported by Balluff will be ignored (will not enumerate devices) then.

◆ deleteProducerConfiguration()

void deleteProducerConfiguration ( String producerName)

Deletes a mvIMPACT.acquire.GenTLProducerConfiguration objects.

Calling this function will delete the mvIMPACT.acquire.GenTLProducerConfiguration object for the referenced producer.

Note
If no entry for the specified producer can be found an exception will be thrown.
Parameters
producerName[in] The exact name of the producer library without the path to delete the entry from.

◆ finalize()

void finalize ( )
protected

Reimplemented from ComponentCollection.

◆ getMasterEnumerationBehaviour()

PropertyI getMasterEnumerationBehaviour ( )

An enumerated integer property defining the master enumeration mode for all GenTL producer detected in the current session.

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

◆ getProducerConfiguration()

GenTLProducerConfiguration getProducerConfiguration ( String producerName)

Returns the mvIMPACT.acquire.GenTLProducerConfiguration associated with the referenced producer library.

Note
If no entry for the specified producer can be found an exception will be thrown.
Returns
The mvIMPACT.acquire.GenTLProducerConfiguration associated with the referenced producer library.
Parameters
producerName[in] The exact name of the producer library without the path.

◆ getProducerConfigurations()

GenTLProducerConfigurationVector getProducerConfigurations ( )

Returns a vector containing all mvIMPACT.acquire.GenTLProducerConfiguration objects currently defined.

Returns
A vector containing all mvIMPACT.acquire.GenTLProducerConfiguration objects currently defined.

◆ hasProducerConfiguration()

boolean hasProducerConfiguration ( String producerName)

Checks if a certain producer library has been associated with a mvIMPACT.acquire.GenTLProducerConfiguration.

Returns
Parameters
producerName[in] The exact name of the producer library without the path.

◆ hObj()

int hObj ( )
inherited

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()

ComponentCollection restoreDefault ( )
inherited

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.

◆ swigRelease() [1/2]

static long swigRelease ( ComponentCollection obj)
staticprotectedinherited

◆ swigRelease() [2/2]

static long swigRelease ( GenTLDriverConfigurator obj)
staticprotected

Member Data Documentation

◆ swigCMemOwn

transient boolean swigCMemOwn
protectedinherited