Impact Acquire SDK .NET
EnumPropertyI< T > Class Template Reference

A template class to represent 32 bit integer properties and 32 bit enumerated integer properties. More...

Inheritance diagram for EnumPropertyI< T >:
[legend]

Public Member Functions

 EnumPropertyI ()
 Constructs a new unbound mv.impact.acquire.EnumPropertyI<T> object.
 
 EnumPropertyI (int hProp)
 Constructs a new mv.impact.acquire.EnumPropertyI<T> object.
 
String flagsAsString ()
 Returns the flags associated with this component as a string.
 
String flagsAsString (String separator)
 Returns the flags associated with this component as a string.
 
EnumPropertyI< TgetTranslationDict (List< KeyValuePair< String, T > > sequence)
 This function queries the property's translation table.
 
String getTranslationDictString ()
 This function reads a single translation table string entry from a property.
 
String getTranslationDictString (int index)
 This function reads a single translation table string entry from a property.
 
EnumPropertyI< TgetTranslationDictStrings (List< String > sequence)
 This function queries a list of valid strings for this property.
 
T getTranslationDictValue ()
 This function reads a single translation table value entry from a property.
 
T getTranslationDictValue (int index)
 This function reads a single translation table value entry from a property.
 
EnumPropertyI< TgetTranslationDictValues (List< T > sequence)
 This function queries a list of valid values for this property.
 
T read ()
 Reads a value from a property.
 
T read (int index)
 Reads a value from a property.
 
int[] read (int start, int end)
 Reads a set of values from a property.
 
void read (List< T > sequence)
 Reads a set of values from a property.
 
void read (List< T > sequence, int start)
 Reads a set of values from a property.
 
void read (List< T > sequence, int start, int end)
 Reads a set of values from a property.
 
String readS ()
 Reads data from this property as a string.
 
String readS (int index)
 Reads data from this property as a string.
 
String readS (int index, String format)
 Reads data from this property as a string.
 
String readS (TPropertyLimits limit)
 Reads a defined limit from this property as a string.
 
String readSArray ()
 Reads data from this property as a string.
 
String readSArray (String format)
 Reads data from this property as a string.
 
String readSArray (String format, String delimiter)
 Reads data from this property as a string.
 
String readSArray (String format, String delimiter, int startIndex)
 Reads data from this property as a string.
 
String readSArray (String format, String delimiter, int startIndex, int endIndex)
 Reads data from this property as a string.
 
String readSArray (String format, String delimiter, int startIndex, int endIndex, int mode)
 Reads data from this property as a string.
 
Property removeValue ()
 Removes a certain value from the property's data.
 
Property removeValue (int index)
 Removes a certain value from the property's data.
 
String representationAsString ()
 Returns the recommended representation of the referenced component as a string.
 
Property resizeValArray (uint newSize)
 Resizes the property's data array.
 
Component restoreDefault ()
 Restores the default for the referenced component.
 
Component selectedFeature (int index)
 Retrieves a component that is selected by the current one.
 
Component selectingFeature (int index)
 Retrieves a component that is selecting the current one.
 
override String ToString ()
 Reads data from this property as a string.
 
String visibilityAsString ()
 Returns the recommended visibility of the referenced component as a string.
 
EnumPropertyI< Twrite (int[] values)
 Writes a set of values to the property.
 
EnumPropertyI< Twrite (int[] values, int start)
 Writes a set of values to the property.
 
EnumPropertyI< Twrite (List< T > sequence)
 Writes a set of values to the property.
 
EnumPropertyI< Twrite (List< T > sequence, int start)
 Writes a set of values to the property.
 
EnumPropertyI< Twrite (T value)
 Writes one value to the property.
 
EnumPropertyI< Twrite (T value, int index)
 Writes one value to the property.
 
Property writeS (List< String > sequence)
 Assigns new values to this property.
 
Property writeS (List< String > sequence, int index)
 Assigns new values to this property.
 
Property writeS (String value)
 Assigns a new value to this property.
 
Property writeS (String value, int index)
 Assigns a new value to this property.
 

Static Public Member Functions

static Component factory (int hObj)
 Creates a new Component from a valid handle.
 
static implicit operator T (EnumPropertyI< T > prop)
 Allows a direct cast of the property object to its underlying value type.
 
static Component operator++ (Component ci)
 Moves to the next sibling of the current mv.impact.acquire.Component instance.
 
static String representationAsString (TComponentRepresentation representation)
 Returns the recommended representation converted to a string.
 
static String visibilityAsString (TComponentVisibility visibility)
 Returns the recommended visibility converted to a string.
 

Properties

bool allowsValueCombinations [get]
 Checks if this enumerated property allows the combination of enum values.
 
uint changedCounter [get]
 Returns the current changed counter for the component referenced by this object.
 
uint changedCounterAttr [get]
 Returns the current attribute changed counter for the component referenced by this object.
 
int dictSize [get]
 Returns the size of the properties translation dictionary.
 
String displayName [get]
 Returns the display name of the component referenced by this object.
 
String docString [get]
 Returns a string containing general information about the component referenced by this object.
 
Component firstChild [get]
 Moves to the first child of this component(moves down one level).
 
Component firstSibling [get]
 Moves to the first sibling(the first feature in the current list of features).
 
TComponentFlag flags [get]
 Returns the flags associated with this component.
 
bool hasDict [get]
 Returns whether this property defines a translation dictionary or not.
 
bool hasMaxValue [get]
 Checks if a maximum value is defined for this property.
 
bool hasMinValue [get]
 Checks if a minimum value is defined for this property.
 
bool hasStepWidth [get]
 Checks if a step width is defined for this property.
 
int hObj [get]
 Returns a unique identifier for the component referenced by this object.
 
bool isDefault [get]
 Checks if this component is currently referencing the default for this component.
 
bool isList [get]
 Checks if this component is of type mv.impact.acquire.ComponentList.
 
bool isMeth [get]
 Checks if this component is of type mv.impact.acquire.Method.
 
bool isProp [get]
 Checks if this component is of type mv.impact.acquire.Property or a derived type.
 
bool isValid [get]
 Checks if the internal component referenced by this object is still valid.
 
bool isVisible [get]
 Checks if the component is currently shadowed due to a settings made elsewhere or not.
 
bool isWriteable [get]
 Checks if the caller has write/modify access to the component.
 
Component lastSibling [get]
 Moves to the last sibling(the last feature in the current list of features).
 
ReadOnlyCollection< StringlistOfValidStrings [get]
 Returns a list of valid strings for this property.
 
ReadOnlyCollection< TlistOfValidValues [get]
 Returns a list of valid values for this property.
 
uint maxValCount [get]
 Returns maximum number of values that can be managed by this property.
 
T maxValue [get]
 Reads the maximum value from a property.
 
T minValue [get]
 Reads the minimum value from a property.
 
String name [get]
 Returns the name of the component referenced by this object.
 
Component nextSibling [get]
 Moves to the next sibling(the next feature in the current list of features).
 
Component parent [get]
 Moves to the parent of this component(moves up one level).
 
TComponentRepresentation representation [get]
 Returns the recommended representation for this component.
 
uint selectedFeatureCount [get]
 Returns the number of features selected by the current one.
 
ReadOnlyCollection< ComponentselectedFeatures [get]
 Retrieves the list of components that are selected by the current one.
 
uint selectingFeatureCount [get]
 Returns the number of features selecting the current one.
 
ReadOnlyCollection< ComponentselectingFeatures [get]
 Retrieves the list of components that are selecting the current one.
 
T stepWidth [get]
 Reads the step width from a property.
 
String stringFormatString [get]
 Returns the internal format string this property uses to convert data to strings.
 
TComponentType type [get]
 Returns the type of the component referenced by hObj.
 
String typeAsString [get]
 Returns the type of the referenced component as a string.
 
uint valCount [get]
 Returns the current number of values managed by this property.
 
TComponentVisibility visibility [get]
 Returns the recommended visibility for this component.
 

Detailed Description

A template class to represent 32 bit integer properties and 32 bit enumerated integer properties.

The template parameter specifies the enum to use as the value type for this enumerated property. The class itself however is restricted for integer values. To use a normal int (not enumerated) properties use the mv.impact.acquire.PropertyI type.

Type Constraints
T :struct 
T :IConvertible 

Constructor & Destructor Documentation

◆ EnumPropertyI() [1/2]

EnumPropertyI ( int hProp)
inline

Constructs a new mv.impact.acquire.EnumPropertyI<T> object.

Parameters
hPropA valid handle to a 32-bit integer property

◆ EnumPropertyI() [2/2]

EnumPropertyI ( )
inline

Constructs a new unbound mv.impact.acquire.EnumPropertyI<T> object.

Member Function Documentation

◆ factory()

static Component factory ( int hObj)
inlinestaticinherited

Creates a new Component from a valid handle.

Returns
a new mv.impact.acquire.Component instance that can be casted to a matching type. Call mv.impact.acquire.Component.type to find out the correct type to use.
Parameters
[in]hObjA valid handle to a component.

◆ flagsAsString() [1/2]

String flagsAsString ( )
inlineinherited

Returns the flags associated with this component as a string.

Returns
The flags associated with this component as a string.

◆ flagsAsString() [2/2]

String flagsAsString ( String separator)
inlineinherited

Returns the flags associated with this component as a string.

Returns
The flags associated with this component as a string.
Parameters
[in]separatorA user definable string to separate the individual flags. The default value is ' | ' resulting in the string to look e.g. like this: 'cfWriteAccess | cfReadAccess'

◆ getTranslationDict()

EnumPropertyI< T > getTranslationDict ( List< KeyValuePair< String, T > > sequence)
inline

This function queries the property's translation table.

If this property defines a translation table the strings and their corresponding translation values will be written into sequence. If the property does NOT define a translation table sequence will be empty after this function call.

Note
This function is much more efficient than calling mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue multiple times and therefore this function should be called whenever all entries are required.
Returns
A const reference to the calling property.
Parameters
[out]sequenceA reference to a container which will receive the data from the properties translation dictionary.

◆ getTranslationDictString() [1/2]

String getTranslationDictString ( )
inline

This function reads a single translation table string entry from a property.

If this property defines a translation table and index specifies a valid entry the string representation of this entry will be returned. If the property does NOT define a translation table or index specifies an invalid entry an exception will be thrown.

◆ getTranslationDictString() [2/2]

String getTranslationDictString ( int index)
inline

This function reads a single translation table string entry from a property.

If this property defines a translation table and index specifies a valid entry the string representation of this entry will be returned. If the property does NOT define a translation table or index specifies an invalid entry an exception will be thrown.

Parameters
[in]indexThe index of the entry to read from the property.

◆ getTranslationDictStrings()

EnumPropertyI< T > getTranslationDictStrings ( List< String > sequence)
inline

This function queries a list of valid strings for this property.

If this property defines a translation table all valid strings will be written into sequence. If the property does NOT define a translation table sequence will be empty after this function call.

Note
This function is much more efficient than calling mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString multiple times and therefore this function should be called whenever all entries are required.
Since
2.5.0
Returns
A const reference to the calling property.
Parameters
[out]sequenceA reference to a container to store the data read from the property into.

◆ getTranslationDictValue() [1/2]

T getTranslationDictValue ( )
inline

This function reads a single translation table value entry from a property.

If this property defines a translation table and index specifies a valid entry the value of this entry will be returned. If the property does NOT define a translation table or index specifies an invalid entry an exception will be thrown.

See also
mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValues to query all valid values efficiently in a single call.

◆ getTranslationDictValue() [2/2]

T getTranslationDictValue ( int index)
inline

This function reads a single translation table value entry from a property.

If this property defines a translation table and index specifies a valid entry the value of this entry will be returned. If the property does NOT define a translation table or index specifies an invalid entry an exception will be thrown.

See also
mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValues to query all valid values efficiently in a single call.
Parameters
[in]indexThe index of the entry to read from the property.

◆ getTranslationDictValues()

EnumPropertyI< T > getTranslationDictValues ( List< T > sequence)
inline

This function queries a list of valid values for this property.

If this property defines a translation table all valid values will be written into sequence. If the property does NOT define a translation table sequence will be empty after this function call.

Note
This function is much more efficient than calling mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue multiple times and therefore this function should be called whenever all entries are required.
Returns
A const reference to the calling property.
Parameters
[out]sequenceA reference to a container to store the data read from the property into.

◆ operator T()

static implicit operator T ( EnumPropertyI< T > prop)
inlinestatic

Allows a direct cast of the property object to its underlying value type.

This is the same as calling mv.impact.acquire.EnumPropertyI<T>.read with index 0.

Returns
The properties value at index 0.

◆ operator++()

static Component operator++ ( Component ci)
inlinestaticinherited

Moves to the next sibling of the current mv.impact.acquire.Component instance.

This does the same as calling mv.impact.acquire.Component.nextSibling.

Returns
A new mv.impact.acquire.Component instance pointing to the next sibling of the current one.
Parameters
[in]ciA valid component.

◆ read() [1/6]

T read ( )
inline

Reads a value from a property.

This function queries a single value stored under index index in the property.

Returns
The value stored at index within the property.

◆ read() [2/6]

T read ( int index)
inline

Reads a value from a property.

This function queries a single value stored under index index in the property.

Returns
The value stored at index within the property.
Parameters
[in]indexThe index of the value to read from the property.

◆ read() [3/6]

int[] read ( int start,
int end )
inline

Reads a set of values from a property.

This function queries a set of values from a property and stores these values into sequence.

Returns
A set of values read from the propery.
Parameters
[in]startThe index from where to start reading values from the property.
[in]endThe index where to stop reading values from the property.

◆ read() [4/6]

void read ( List< T > sequence)
inline

Reads a set of values from a property.

This function queries a set of values from a property and stores these values into sequence.

Parameters
[out]sequenceA reference to a container to store the data read from the property into.

◆ read() [5/6]

void read ( List< T > sequence,
int start )
inline

Reads a set of values from a property.

This function queries a set of values from a property and stores these values into sequence.

Parameters
[out]sequenceA reference to a container to store the data read from the property into.
[in]startThe index from where to start reading values from the property.

◆ read() [6/6]

void read ( List< T > sequence,
int start,
int end )
inline

Reads a set of values from a property.

This function queries a set of values from a property and stores these values into sequence.

Parameters
[out]sequenceA reference to a container to store the data read from the property into.
[in]startThe index from where to start reading values from the property.
[in]endThe index where to stop reading values from the property.

◆ readS() [1/4]

String readS ( )
inlineinherited

Reads data from this property as a string.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Examples
ContinuousSaveImage.cs, DigitalIOs.cs, and GenICamCallbackOnEvent.cs.

◆ readS() [2/4]

String readS ( int index)
inlineinherited

Reads data from this property as a string.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]indexThe index of the desired value(only necessary for properties containing more than one value)

◆ readS() [3/4]

String readS ( int index,
String format )
inlineinherited

Reads data from this property as a string.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]indexThe index of the desired value(only necessary for properties containing more than one value)
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string

◆ readS() [4/4]

String readS ( TPropertyLimits limit)
inlineinherited

Reads a defined limit from this property as a string.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Since
2.4.0
Returns
A string containing the data questioned.
Parameters
[in]limitThe limit that shall be queried

◆ readSArray() [1/6]

String readSArray ( )
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
A template class to represent 32 bit integer properties and 32 bit enumerated integer properties.
Definition EnumPropertyI.cs:61
EnumPropertyI< T > write(T value)
Writes one value to the property.
Definition EnumPropertyI.cs:449
Provided for convenience only. This type represents a standard 32-bit integer property type.
Definition EnumPropertyI.cs:11
String readSArray()
Reads data from this property as a string.
Definition Property.cs:394
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.

◆ readSArray() [2/6]

String readSArray ( String format)
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string

◆ readSArray() [3/6]

String readSArray ( String format,
String delimiter )
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string
[in]delimiterThis string is used to separate the individual values from one another. If left empty, a single blank will separate the data.

◆ readSArray() [4/6]

String readSArray ( String format,
String delimiter,
int startIndex )
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string
[in]delimiterThis string is used to separate the individual values from one another. If left empty, a single blank will separate the data.
[in]startIndexThe index of the first of the desired values

◆ readSArray() [5/6]

String readSArray ( String format,
String delimiter,
int startIndex,
int endIndex )
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string
[in]delimiterThis string is used to separate the individual values from one another. If left empty, a single blank will separate the data.
[in]startIndexThe index of the first of the desired values
[in]endIndexThe index of the last of the desired values. If INT_MAX is passed, every from startIndex to the last value stored by the property will be returned.

◆ readSArray() [6/6]

String readSArray ( String format,
String delimiter,
int startIndex,
int endIndex,
int mode )
inlineinherited

Reads data from this property as a string.

This function can be used to query a set of values if this property stores more than a single value which might be useful for GUI applications.

Example

p.write( 1 );
p.write( 2, 1 );
p.write( 666, 2 );
String s = p.readSArray( "%d", "&&:", 1 );
// now s should contain '2&&:666'
s = p.readSArray( "%4d", " ", 0, 1 );
// now s should contain ' 1, 2'
Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
Returns
A string containing the data questioned.
Parameters
[in]formatThe format string telling the function how to format the result. If left empty the property uses its standard way of converting its data into a string
[in]delimiterThis string is used to separate the individual values from one another. If left empty, a single blank will separate the data.
[in]startIndexThe index of the first of the desired values
[in]endIndexThe index of the last of the desired values. If INT_MAX is passed, every from startIndex to the last value stored by the property will be returned.
[in]modeSpecifies the mode this function operates in. Currently only the LSB affects the behaviour of this function. When the LSB is set, the translation dictionary (if defined) will be ignored for this call.

◆ removeValue() [1/2]

Property removeValue ( )
inlineinherited

Removes a certain value from the property's data.

Returns
A const reference to the calling property.

◆ removeValue() [2/2]

Property removeValue ( int index)
inlineinherited

Removes a certain value from the property's data.

Returns
A const reference to the calling property.
Parameters
[in]indexThe index of the value to be removed

◆ representationAsString() [1/2]

String representationAsString ( )
inlineinherited

Returns the recommended representation of the referenced component as a string.

Since
2.14.0
Returns
The recommended representation of the referenced component as a string.

◆ representationAsString() [2/2]

static String representationAsString ( TComponentRepresentation representation)
inlinestaticinherited

Returns the recommended representation converted to a string.

Since
2.14.0
Returns
The recommended representation converted to a string.
Parameters
[in]representationThe representation to query the string representation for

◆ resizeValArray()

Property resizeValArray ( uint newSize)
inlineinherited

Resizes the property's data array.

This function resizes the internal data array of this property. The size of this array represents the number of values, which can be stored within the property. This function will only succeed, if the mv.impact.acquire.TComponentFlag.cfFixedSize is NOT set for this property and the user has "write rights" for this property. Otherwise an exception will be thrown. Whenever the user successfully writes an array of values to a property and this array contains more elements than the current internal data array can accommodate at the desired offset the internal data array will be increased automatically.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
In order to be allowed to modify the number of values a property can store, the mv.impact.acquire.TComponentFlag.cfFixedSize flag must NOT be set.
See also
mv.impact.acquire.Component.isWriteable
Returns
A const reference to the calling property.
Parameters
[in]newSizeThe new number of values this property shall be allowed to store.

◆ restoreDefault()

Component restoreDefault ( )
inlineinherited

Restores the default for the referenced component.

Calling this function will restore the default value for the component referenced by this object.

If this function is called for an object of type mv.impact.acquire.ComponentList every component in that list is restored to the default value.

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

◆ selectedFeature()

Component selectedFeature ( int index)
inlineinherited

Retrieves a component that is selected by the current one.

This function retrieves a component that is selected by the current one. This information is mainly useful for GUI applications that want to arrange features in a way that dependencies between features can easily been spotted.

When a component 'selects' other components, this indicates that selected components may change whenever the selecting component changes. An example for a selector might be a property defining the index within a LUT while the value of a particular LUT entry could be a selected feature. Assuming 2 properties LUTIndex and LUTValue then changing LUTIndex will invalidate and possibly change LUTValue.

To find out how many mv.impact.acquire.Component objects are selected by the current one call mv.impact.acquire.Component.selectedFeatureCount. This value minus 1 will also be the max. value for index.

See also
mv.impact.acquire.Component.selectedFeatureCount,
mv.impact.acquire.Component.selectedFeatures
Since
1.11.20
Returns
A mv.impact.acquire.Component that is selected by the current one.
Parameters
[in]indexThe index for the component to query.

◆ selectingFeature()

Component selectingFeature ( int index)
inlineinherited

Retrieves a component that is selecting the current one.

This function retrieves a component that is selecting the current one. This information is mainly useful for GUI applications that want to arrange features in a way that dependencies between features can easily been spotted.

When a component 'selects' other components, this indicates that selected components may change whenever the selecting component changes. An example for a selector might be a property defining the index within a LUT while the value of a particular LUT entry could be a selected feature. Assuming 2 properties LUTIndex and LUTValue then changing LUTIndex will invalidate and possibly change LUTValue.

To find out how many mv.impact.acquire.Component objects are selecting the current one call mv.impact.acquire.Component.selectingFeatureCount. This value minus 1 will also be the max. value for index.

See also
mv.impact.acquire.Component.selectingFeatureCount,
mv.impact.acquire.Component.selectingFeatures
Since
1.11.20
Returns
A mv.impact.acquire.Component that is selecting the current one.
Parameters
[in]indexThe index for the component to query.

◆ ToString()

override String ToString ( )
inlineinherited

Reads data from this property as a string.

This is the same as calling mv.impact.acquire.Property.readS for properties storing a single value or mv.impact.acquire.Property.readSArray for properties storing multiple values.

◆ visibilityAsString() [1/2]

String visibilityAsString ( )
inlineinherited

Returns the recommended visibility of the referenced component as a string.

Returns
The recommended visibility of the referenced component as a string.

◆ visibilityAsString() [2/2]

static String visibilityAsString ( TComponentVisibility visibility)
inlinestaticinherited

Returns the recommended visibility converted to a string.

Returns
The recommended visibility converted to a string.
Parameters
[in]visibilityThe visibility to query the string representation for

◆ write() [1/6]

EnumPropertyI< T > write ( int[] values)
inline

Writes a set of values to the property.

This function writes a set of values starting at index to the property.

Returns
A const 'self' reference.
Parameters
[in]valuesAn array containing the values to write to the property.

◆ write() [2/6]

EnumPropertyI< T > write ( int[] values,
int start )
inline

Writes a set of values to the property.

This function writes a set of values starting at index to the property.

Returns
A const 'self' reference.
Parameters
[in]valuesAn array containing the values to write to the property.
[in]startThe index where to write the first value to the property.

◆ write() [3/6]

EnumPropertyI< T > write ( List< T > sequence)
inline

Writes a set of values to the property.

This function writes a set of values starting at index to the property.

Returns
A const 'self' reference.
Parameters
[in]sequenceAn array containing the values to write to the property.

◆ write() [4/6]

EnumPropertyI< T > write ( List< T > sequence,
int start )
inline

Writes a set of values to the property.

This function writes a set of values starting at index to the property.

Returns
A const 'self' reference.
Parameters
[in]sequenceAn array containing the values to write to the property.
[in]startThe index where to write the first value to the property.

◆ write() [5/6]

EnumPropertyI< T > write ( T value)
inline

Writes one value to the property.

This function writes a single value under index index to the property.

Returns
A const 'self' reference
Parameters
[in]valueThe value to write to the property.

◆ write() [6/6]

EnumPropertyI< T > write ( T value,
int index )
inline

Writes one value to the property.

This function writes a single value under index index to the property.

Returns
A const 'self' reference
Parameters
[in]valueThe value to write to the property.
[in]indexThe index defining at which position to write the value.

◆ writeS() [1/4]

Property writeS ( List< String > sequence)
inlineinherited

Assigns new values to this property.

The user must have "write rights" for this property in order to be able to modify its values. Also if index is greater than the current internal data array size of this property the user must be allowed to change to size of the properties internal data array (the mv.impact.acquire.TComponentFlag.cfFixedSize flag must NOT be set). This function behaves exactly like mv.impact.acquire.Property.writeS except that is can be used to assign more than one value at the same time. The parameter index here serves as an offset. If for example a property holds 3 values 'one', 'two' and 'three' before this call and the function is then called with an array containing the string 'orange' and 'blue' and index = 2 then after a successful call to this function the property will hold the data 'one', 'two', 'orange' and 'blue'.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
See also
mv.impact.acquire.Component.isWriteable,
mv.impact.acquire.Component.flags,
mv.impact.acquire.Property.writeS
Returns
A const reference to the calling property.
Parameters
[in]sequenceA constant reference to an array containing the strings to be assigned to the property

◆ writeS() [2/4]

Property writeS ( List< String > sequence,
int index )
inlineinherited

Assigns new values to this property.

The user must have "write rights" for this property in order to be able to modify its values. Also if index is greater than the current internal data array size of this property the user must be allowed to change to size of the properties internal data array (the mv.impact.acquire.TComponentFlag.cfFixedSize flag must NOT be set). This function behaves exactly like mv.impact.acquire.Property.writeS except that is can be used to assign more than one value at the same time. The parameter index here serves as an offset. If for example a property holds 3 values 'one', 'two' and 'three' before this call and the function is then called with an array containing the string 'orange' and 'blue' and index = 2 then after a successful call to this function the property will hold the data 'one', 'two', 'orange' and 'blue'.

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
See also
mv.impact.acquire.Component.isWriteable,
mv.impact.acquire.Component.flags,
mv.impact.acquire.Property.writeS
Returns
A const reference to the calling property.
Parameters
[in]sequenceA constant reference to an array containing the strings to be assigned to the property
[in]indexThe offset from where to start to assign the values

◆ writeS() [3/4]

Property writeS ( String value)
inlineinherited

Assigns a new value to this property.

The user caller have "write rights" for this property in order to be able to modify its value. Also if index is greater than the current internal data array size of this property the user must be allowed to change to size of the properties internal data array (the mv.impact.acquire.TComponentFlag.cfFixedSize flag must NOT be set).

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
See also
mv.impact.acquire.Component.isWriteable,
mv.impact.acquire.Component.flags,
mv.impact.acquire.Property.writeS
Returns
A const reference to the calling property.
Parameters
[in]valueThe new value for this property at the given index.
Examples
Properties.cs.

◆ writeS() [4/4]

Property writeS ( String value,
int index )
inlineinherited

Assigns a new value to this property.

The user caller have "write rights" for this property in order to be able to modify its value. Also if index is greater than the current internal data array size of this property the user must be allowed to change to size of the properties internal data array (the mv.impact.acquire.TComponentFlag.cfFixedSize flag must NOT be set).

Note
If the caller does not have the needed rights this function might throw an exception of the type mv.impact.acquire.ImpactAcquireException.
See also
mv.impact.acquire.Component.isWriteable,
mv.impact.acquire.Component.flags,
mv.impact.acquire.Property.writeS
Returns
A const reference to the calling property.
Parameters
[in]valueThe new value for this property at the given index.
[in]indexThe index of the value to modify.

Property Documentation

◆ allowsValueCombinations

bool allowsValueCombinations
getinherited

Checks if this enumerated property allows the combination of enum values.

If this function returns true, the enum constants can be 'ored' together. This works for the enum constants as well as for the string representations returned in the properties translation dictionary.

if a property e.g. defines a dictionary (('1', "one"), ('2', "two")) the following write operations will be valid:

prop.write( 1 | 2 )
prop.write( "one | two")

If this function returns true code like this will be valid:

Returns
  • true if this property allows the combination of enum values.
  • false otherwise.

◆ changedCounter

uint changedCounter
getinherited

Returns the current changed counter for the component referenced by this object.

This changed counter is incremented internally each time the component is modified. To check if this component has been modified since the last time, this check has been performed, keep track of the last return value of this function and compare it with the new value. This can be helpful e.g. to keep a GUI up to date. The value returned by this function will always be larger than or equal to the value returned by mv.impact.acquire.ComponentAccess.changedCounterAttr (except in case of a wrap around) when called at the same time for the same object as it's always incremented when the component has been modified in any way while the latter one will only be incremented if the attributes (e.g. the flags) but NOT if e.g. the value(s) of a property has been modified.

Example

//-----------------------------------------------------------------------------
public struct ComponentRef
//-----------------------------------------------------------------------------
{
};
//-----------------------------------------------------------------------------
public void fn( ComponentRef cr )
//-----------------------------------------------------------------------------
{
if( cr.m_pc )
{
uint currentChangedCount = cr.m_pc.changedCounter;
if( currentChangedCount != cr.m_lastChangedCount ) )
{
// something has happened since the last check.
doWhatNeedsToBeDone();
// and remember the current changed counter
cr.m_lastChangedCount = currentChangedCount;
}
}
}
uint changedCounter
Returns the current changed counter for the component referenced by this object.
Definition ComponentAccess.cs:101
A base class to implement access to internal driver components.
Definition Component.cs:133
This namespace contains classes and functions belonging to the image acquisition module of this SDK.
Definition Enumerations.cs:2
Definition Enumerations.cs:2
Definition Enumerations.cs:2
Returns
The current changed counter of this object.

◆ changedCounterAttr

uint changedCounterAttr
getinherited

Returns the current attribute changed counter for the component referenced by this object.

This changed counter is incremented internally each time the components attributes have been modified. To check if this components attributes have been modified since the last time, this check has been performed, keep track of the last return value of this function and compare it with the new value. This can be helpful e.g. to keep a GUI up to date.

Note
Attributes changes are e.g. a modification to a property's translation dictionary, but NOT a property's value. Because of this the value returned by this function will always be less or equal than the value returned by the function mv.impact.acquire.ComponentAccess.changedCounter (except in case of a wrap around) when called at the same time for the same object.
See also
mv.impact.acquire.ComponentAccess.changedCounter
Returns
The current attributes changed counter of this object.

◆ dictSize

int dictSize
getinherited

Returns the size of the properties translation dictionary.

If the property does define a translation dictionary this function returns the number of elements contained in this dictionary.

Returns
  • The size of the properties translation dictionary.
  • 0 If this property does not define a translation dictionary.

◆ displayName

String displayName
getinherited

Returns the display name of the component referenced by this object.

Returns
The display name of the component referenced by this object. This might be an empty string if no display name has been specified.

◆ docString

String docString
getinherited

Returns a string containing general information about the component referenced by this object.

Returns
A string containing general information about the component referenced by this object.

◆ firstChild

Component firstChild
getinherited

Moves to the first child of this component(moves down one level).

Calling this function will only succeed, if the current mv.impact.acquire.Component references a list.

Returns
A new mv.impact.acquire.Component object
Examples
Properties.cs.

◆ firstSibling

Component firstSibling
getinherited

Moves to the first sibling(the first feature in the current list of features).

Returns
A new mv.impact.acquire.Component object

◆ flags

TComponentFlag flags
getinherited

Returns the flags associated with this component.

Returns
The flags associated with this component.

◆ hasDict

bool hasDict
getinherited

Returns whether this property defines a translation dictionary or not.

Returns
  • true if this property defines a translation table
  • false otherwise
Examples
Properties.cs.

◆ hasMaxValue

bool hasMaxValue
getinherited

Checks if a maximum value is defined for this property.

Since
1.12.63
Returns
  • true if this property defines a maximum value
  • false otherwise

◆ hasMinValue

bool hasMinValue
getinherited

Checks if a minimum value is defined for this property.

Since
1.12.63
Returns
  • true if this property defines a minimum value
  • false otherwise

◆ hasStepWidth

bool hasStepWidth
getinherited

Checks if a step width is defined for this property.

Since
1.12.63
Returns
  • true if this property defines a step width
  • false otherwise

◆ hObj

int hObj
getinherited

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

Returns
A unique identifier for the component referenced by this object.
Examples
GenICamCallbackOnEvent.cs, and Properties.cs.

◆ isDefault

bool isDefault
getinherited

Checks if this component is currently referencing the default for this component.

This function will return true only for derived components that have not been modified.

Returns
  • true if the component is currently set to its default value
  • false otherwise.

◆ isList

bool isList
getinherited

Checks if this component is of type mv.impact.acquire.ComponentList.

Returns
  • true if the component references a list
  • false otherwise
Examples
Properties.cs.

◆ isMeth

bool isMeth
getinherited

Checks if this component is of type mv.impact.acquire.Method.

Returns
  • true if the component references a method
  • false otherwise

◆ isProp

bool isProp
getinherited

Checks if this component is of type mv.impact.acquire.Property or a derived type.

Returns
  • true if the component references a property
  • false otherwise
Examples
GenICamCallbackOnEvent.cs, and Properties.cs.

◆ isValid

bool isValid
getinherited

Checks if the internal component referenced by this object is still valid.

This function can be used to verify whether a referenced component is still valid or not. When e.g. referencing a driver property after mv.impact.acquire.Device.close has been called this function would return false. Calling any other function that tries to access the referenced component in that case would raise an exception.

Returns
  • true if this object currently references a valid component
  • false otherwise.
Examples
GenICamCommonSettingsUsage.cs, and Properties.cs.

◆ isVisible

bool isVisible
getinherited

Checks if the component is currently shadowed due to a settings made elsewhere or not.

Settings applied to certain components might affect the behaviour of others. For example an activated automatic gain control might shadow the value written to the gain property by the user as the gain is calculated internally. In order to check if modifying the actual component will affect the behaviour of the system this function may be used. When it returns true, the mv.impact.acquire.Component will have an impact on the system, if false is returned, the feature might be modified, but this will currently NOT influence the acquisition process or the overall behaviour of the device or driver.

This is what is called visibility. The user still might modify or read the current mv.impact.acquire.Component when it's not visible however the actual data will be used only if the Component is visible (mv.impact.acquire.TComponentFlag.cfInvisible must NOT be set).

The visibility of a mv.impact.acquire.Component object will change only if other mv.impact.acquire.Component objects are modified and NEVER when a program runs but does not change any mv.impact.acquire.Component.

◆ isWriteable

bool isWriteable
getinherited

Checks if the caller has write/modify access to the component.

Returns
  • true if the caller is allowed to call write/modify operation for this component.
  • false otherwise.
Examples
Properties.cs.

◆ lastSibling

Component lastSibling
getinherited

Moves to the last sibling(the last feature in the current list of features).

Since
1.10.64
Returns
A new mv.impact.acquire.Component object

◆ listOfValidStrings

ReadOnlyCollection<String> listOfValidStrings
get

Returns a list of valid strings for this property.

If this property does not define a translation dictionary an exception will be thrown.

Since
2.5.0

◆ listOfValidValues

ReadOnlyCollection<T> listOfValidValues
get

Returns a list of valid values for this property.

If this property does not define a translation dictionary an exception will be thrown.

◆ maxValCount

uint maxValCount
getinherited

Returns maximum number of values that can be managed by this property.

For the majority of properties this function will return '1', but as properties might manage more than a single value, this value might be interesting from time to time.

Returns
the maximum number of values that can be managed by this property.

◆ maxValue

T maxValue
get

Reads the maximum value from a property.

Note
To find out if the property defines a maximum value mv.impact.acquire.Property.hasMaxValue should be called first.
If the property does not define a maximum value calling this function will raise an exception.
Since
1.12.63

◆ minValue

T minValue
get

Reads the minimum value from a property.

Note
To find out if the property defines a minimum value mv.impact.acquire.Property.hasMinValue should be called first.
If the property does not define a minimum value calling this function will raise an exception.
Since
1.12.63

◆ name

String name
getinherited

Returns the name of the component referenced by this object.

Returns
The name of the component referenced by this object.
Examples
Callback.cs, GenICamCallbackOnEvent.cs, and Properties.cs.

◆ nextSibling

Component nextSibling
getinherited

Moves to the next sibling(the next feature in the current list of features).

Returns
A new mv.impact.acquire.Component object

◆ parent

Component parent
getinherited

Moves to the parent of this component(moves up one level).

Returns
A new mv.impact.acquire.Component object

◆ representation

TComponentRepresentation representation
getinherited

Returns the recommended representation for this component.

The representation can be used e.g. e.g. to develop a GUI that creates convenient controls for certain features.

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

Since
2.14.0
Returns
The recommended representation for this component.

◆ selectedFeatureCount

uint selectedFeatureCount
getinherited

Returns the number of features selected by the current one.

See also
mv.impact.acquire.Component.selectedFeatures,
mv.impact.acquire.Component.selectedFeature
Returns
The number of features selected by the current one.

◆ selectedFeatures

ReadOnlyCollection<Component> selectedFeatures
getinherited

Retrieves the list of components that are selected by the current one.

This function retrieves the list of components that are selected by the current one. This information is mainly useful for GUI applications that want to arrange features in a way that dependencies between features can easily been spotted.

When a component 'selects' other components, this indicates that selected components may change whenever the selecting component changes. An example for a selector might be a property defining the index within a LUT while the value of a particular LUT entry could be a selected feature. Assuming 2 properties LUTIndex and LUTValue then changing LUTIndex will invalidate and possibly change LUTValue.

See also
mv.impact.acquire.Component.selectedFeatureCount,
mv.impact.acquire.Component.selectedFeature
Since
1.11.20
Returns
A list of components that are selected by the current one.

◆ selectingFeatureCount

uint selectingFeatureCount
getinherited

Returns the number of features selecting the current one.

See also
mv.impact.acquire.Component.selectingFeatures,
mv.impact.acquire.Component.selectingFeature
Since
1.11.20
Returns
The number of features selecting the current one.

◆ selectingFeatures

ReadOnlyCollection<Component> selectingFeatures
getinherited

Retrieves the list of components that are selecting the current one.

This function retrieves the list of components that are selecting the current one. This information is mainly useful for GUI applications that want to arrange features in a way that dependencies between features can easily been spotted.

When a component 'selects' other components, this indicates that selected components may change whenever the selecting component changes. An example for a selector might be a property defining the index within a LUT while the value of a particular LUT entry could be a selected feature. Assuming 2 properties LUTIndex and LUTValue then changing LUTIndex will invalidate and possibly change LUTValue.

See also
mv.impact.acquire.Component.selectingFeatureCount,
mv.impact.acquire.Component.selectingFeature
Since
1.11.20
Returns
A list of components that are selecting the current one.

◆ stepWidth

T stepWidth
get

Reads the step width from a property.

Note
To find out if the property defines a step width mv.impact.acquire.Property.hasStepWidth should be called first.
If the property does not define a step width calling this function will raise an exception.
Since
1.12.63

◆ stringFormatString

String stringFormatString
getinherited

Returns the internal format string this property uses to convert data to strings.

Returns
A string containing the format string internally used by the property whenever the user reads a value as a string without specifying a format string and the property is not a string type one.

◆ type

TComponentType type
getinherited

Returns the type of the component referenced by hObj.

Returns
The type of the component referenced by hObj.

◆ typeAsString

String typeAsString
getinherited

Returns the type of the referenced component as a string.

Returns
The type of the referenced component as a string.

◆ valCount

uint valCount
getinherited

Returns the current number of values managed by this property.

For the majority of properties this function will return '1', but as properties might manage more than a single value, this value might be interesting from time to time.

Returns
the current number of values managed by this property.
Examples
Properties.cs.

◆ visibility

TComponentVisibility visibility
getinherited

Returns the recommended visibility for this component.

The visibility can be used e.g. to develop a GUI that displays a crucial subset of features only.

Returns
The recommended visibility for this component.