| 
    MeVisLab Toolbox Reference
    
   | 
 
Field to encapsulate an enumerated value. More...
#include <mlFields.h>
  
Classes | |
| struct | EnumEntry | 
| Defines the entry for one enum value.  More... | |
Public Member Functions | |
| EnumField (const std::string &name, const std::string enumerationItemNames[], size_t numEnumerationItems) | |
| Implements the runtime type system interface for this class.   | |
| EnumField (const std::string &name, const char *const *enumerationItemNames, size_t numEnumerationItems) | |
Constructor, creates a field with a name to manage an enum value.   | |
| EnumField (const std::string &name, const std::vector< std::string > &enumerationItemNames) | |
Constructor, creates a field with a name to manage an enum value.   | |
| ~EnumField () override=default | |
| Destroys this field and releases internally allocated memory.   | |
| void | setStringValue (const std::string &value) override | 
Sets value of the field to the enum item with given name value.   | |
| void | setStringValueDefaulted (const std::string &value) | 
If value equals one of the enum item names, set the field to this item; otherwise, set it to the first item of the enum.   | |
| void | setEnumValue (int enumValue) | 
Sets field value to enumValue.   | |
| void | updateEnumValue (int enumValue) | 
Sets field value to enumValue, but only touches the field if the new value is different from the old value.   | |
| std::string | getStringValue () const override | 
| Returns the value of the field as string value.   | |
| int | getEnumValue () const | 
| Returns the current enum value as integer.   | |
| const EnumEntry & | getEnumEntryAtIndex (size_t index) const | 
Returns the enum entry at given index, which allows to enumerate all existing enum entries.   | |
| size_t | getNumEnumerationItems () const | 
| Returns the number of registered enum values defined in constructor.   | |
| void | setValue (int enumValue) | 
| Same as setEnumValue().   | |
| void | updateValue (int enumValue) | 
| Same as updateEnumValue().   | |
| int | getValue () const | 
| Same as getEnumValue().   | |
  Public Member Functions inherited from ml::Field | |
| Field (const std::string &name=std::string()) | |
Constructor: Creates a field with name.   | |
| virtual | ~Field () | 
| Destructor: Destroys a field and removes all connection to fields and sensors.   | |
| FieldContainer * | getFieldContainer () const | 
| Returns the field container of the field (which may be NULL).   | |
| const std::string & | getName () const | 
| Returns the name of field.   | |
| void | setName (const std::string &name) | 
Sets the name of field. Should be called only once after or while construction.   | |
| std::string | getFullName () const | 
| Returns 'fieldContainerType(instanceName).fieldName' if field container is available, otherwise only the field name is returned.   | |
| bool | isOutputOnly () const | 
| Returns whether this field is marked as a pure output field.   | |
| void | setOutputOnly (bool outputOnly=true) | 
| Marks this field as a pure output field that is only changed by its module.   | |
| virtual MLint | isValidValue () | 
| Returns true (=1) if the field's value is valid; otherwise, false (=0) is returned.   | |
| void | copyCStringValue (char *valueBuffer, MLint bufferSize) | 
Copies the value of the field (as character string) into the specified buffer valueBuffer.   | |
| MLint | getCStringValueSize () | 
| Returns the length of the character string of the string value of the field.   | |
| void | attachFieldSensor (FieldSensor *sensor) | 
Attaches a field sensor sensor of this class instance in both directions.   | |
| void | detachFieldSensor (FieldSensor *sensor) | 
Detaches the field sensor sensor of this class instance in both directions.   | |
| void | detachFieldSensors () | 
| Detaches all field sensors of this class instance in both directions.   | |
| void | attachField (OutputConnectorField *targetField) | 
| This calls attachField(targetField, false).   | |
| void | attachField (BaseField *targetField) | 
| void | attachField (SoNodeField *targetField) | 
| void | attachField (NotifyField *targetField) | 
| void | attachField (Field *targetField, bool propagateValueOnConnect) | 
Connects this class instance with the target field targetField.   | |
| void | detachField (Field *targetField) | 
Disconnects connections between the target field targetField and this instance.   | |
| void | detachSourceFields () | 
| Disconnects all source fields of this instance in both directions.   | |
| void | detachDestinationFields () | 
| Disconnects all target fields of this instance in both directions.   | |
| void | detachAllFields () | 
| Disconnects all source and target fields of this instance in both directions.   | |
| size_t | getNumDestinationFields () | 
| Returns the number of destination fields that could receive notifications or value sets.   | |
| Field * | getDestinationField (size_t index) | 
Returns the destination field at index. Returns NULL if index is out of range.   | |
| size_t | getNumSourceFields () | 
| Returns the number of source fields that could send notifications or value sets.   | |
| Field * | getSourceField (size_t index) | 
Returns the source field at index. Returns NULL if index is out of range.   | |
| virtual void | touch (FieldSensor::Strength strength=FieldSensor::CHANGED) | 
| Notifies all connected fields and field sensors.   | |
| void | enableNotifications (bool flag) | 
Enables or disables notification of attached fields and field sensors when the field value is set or notified (by notifyAttachments() or set*Value() -methods), depending on the parameter flag.   | |
| bool | areNotificationsEnabled () | 
| Returns whether the notification mechanism for this field (e.g., when field values are set) is enabled (see enableNotifications(bool) ).   | |
Protected Member Functions | |
| void | _initialize (const std::string &name="", size_t numEnums=0) | 
| Initializes this field.   | |
| void | _setEnumerationNames (const std::string enumNames[]) | 
| Sets the enumeration item names.   | |
| void | _setEnumerationNames (const char *const *enumNames) | 
| Sets the enumeration item names.   | |
| void | _setEnumerationNames (const std::vector< std::string > &enumNames) | 
| Sets the enumeration item names.   | |
| void | _setEnumerationNames (const std::vector< EnumField::EnumEntry > &enumValues, int initialValue) | 
| Sets the enumeration item names.   | |
| EnumField ()=default | |
| Protected constructor to allow derived classes.   | |
  Protected Member Functions inherited from ml::Field | |
| void | attachSourceField (Field *field) | 
Inserts a field as source field in this instance, i.e., from now on *this might receive values and/or notifications from that field.   | |
| void | detachSourceField (Field *field) | 
Removes a source field from this instance. If not found, then this call does nothing.   | |
| void | detachFieldInternal (Field *field) | 
| Only removes the given field from the destination list.   | |
| virtual void | setValueFromField (const Field &field) | 
Sets the value of this field from the given field.   | |
Protected Attributes | |
| int | _value {} | 
| The field value; we use an integer to be compatible with normal enum types.   | |
| bool | _linearEntries {} | 
| Stores whether enum entry values start at 0 and increase by 1.   | |
| std::vector< EnumEntry > | _entries | 
| Stores the possible enum values and names.   | |
  Protected Attributes inherited from ml::Field | |
| std::string | _name | 
| The name of this field.   | |
| std::vector< FieldSensor * > | _sensors | 
| List of field sensors.   | |
| std::vector< Field * > | _destinationFields | 
| List of (target) fields that shall be set to the value of this field or that shall be notified only if this field is changed or notified.   | |
| std::vector< Field * > | _sourceFields | 
| List of (source) fields that will notify this field or that will copy their value to this field.   | |
| FieldContainer * | _fieldContainer | 
| The owning field container.   | |
| Flags | _flags | 
Additional Inherited Members | |
  Static Public Member Functions inherited from ml::Field | |
| static void | enableNotificationsGlobally (bool flag) | 
Enables or disables globally the notification mechanism for all fields and field sensors when field values are set or notified (by notifyAttachments() or set*Value() methods), depending on the parameter flag.   | |
| static bool | areNotificationsEnabledGlobally () | 
| Returns whether the notification mechanism for all fields (e.g., when field values are set) is enabled (see enableNotificationsGlobally(bool) ) Usually it is false (=0) within all calls of Module::calc* methods to avoid that field changes within these methods recursively start the calculation process of the ML.   | |
| static MLint & | enableNotificationsCounterState () | 
| Provides read/write access to the current counter state (see enableNotificationsGlobally(bool) ).   | |
  Static Protected Attributes inherited from ml::Field | |
| static MLint | _enableNotifications | 
| Flag that disables the notification process of field (-sensors) globally.   | |
Field to encapsulate an enumerated value.
Definition at line 172 of file mlFields.h.
| ml::EnumField::EnumField | ( | const std::string & | name, | 
| const std::string | enumerationItemNames[], | ||
| size_t | numEnumerationItems ) | 
Implements the runtime type system interface for this class.
Constructor, creates a field with a name to manage an enum value. The value range for the enum value is [0, numEnumerationItems-1]. The value names are defined by enumerationItemNames. The maximum number of enum entries is ML_INT32_MAX, minimum is 1; exceeding that will lead to fatal errors, even on 64-bit systems. Note that enumerationItemNames must contain at least numEnumerationItems string values. 
| ml::EnumField::EnumField | ( | const std::string & | name, | 
| const char *const * | enumerationItemNames, | ||
| size_t | numEnumerationItems ) | 
Constructor, creates a field with a name to manage an enum value. 
The value range for the enum value is [0, numEnumerationItems-1]. The value names are defined by enumerationItemNames. The maximum number of enum entries is ML_INT32_MAX, minimum is 1; exceeding that will lead to fatal errors, even on 64-bit systems. Note that enumerationItemNames must contain at least numEnumerationItems string values. 
| ml::EnumField::EnumField | ( | const std::string & | name, | 
| const std::vector< std::string > & | enumerationItemNames ) | 
Constructor, creates a field with a name to manage an enum value. 
The field creates the value buffer internally. The value range for the enum value is [0, enumerationItemNames.size-1]. The value names are defined by enumerationItemNames. The maximum number of enum entries is ML_INT32_MAX, minimum is 1; exceeding that will lead to fatal errors, even on 64-bit systems. The default enum value is 0. 
      
  | 
  overridedefault | 
Destroys this field and releases internally allocated memory.
      
  | 
  protecteddefault | 
Protected constructor to allow derived classes.
Initializes this field.
Sets the enumeration item names.
Sets the enumeration item names.
      
  | 
  protected | 
Sets the enumeration item names.
Sets the enumeration item names.
Returns the enum entry at given index, which allows to enumerate all existing enum entries. 
Allowed indices are [0 - getNumEnumerationItems()-1]. No bounds check is performed!
| int ml::EnumField::getEnumValue | ( | ) | const | 
Returns the current enum value as integer.
| size_t ml::EnumField::getNumEnumerationItems | ( | ) | const | 
Returns the number of registered enum values defined in constructor.
      
  | 
  overridevirtual | 
Returns the value of the field as string value.
setStringValue must be able to interpret this returned string correctly. On invalid enumValues, the first string item is returned.
Implements ml::Field.
      
  | 
  inline | 
Same as getEnumValue().
Definition at line 259 of file mlFields.h.
Sets value of the field to the enum item with given name value. 
If the value enum item is not found, the call is ignored. The comparison is performed in a case-sensitive manner. 
Implements ml::Field.
If value equals one of the enum item names, set the field to this item; otherwise, set it to the first item of the enum. 
Sets field value to enumValue, but only touches the field if the new value is different from the old value. 
      
  | 
  protected | 
Stores the possible enum values and names.
Definition at line 282 of file mlFields.h.
      
  | 
  protected | 
Stores whether enum entry values start at 0 and increase by 1.
Definition at line 279 of file mlFields.h.
      
  | 
  protected | 
The field value; we use an integer to be compatible with normal enum types.
Definition at line 276 of file mlFields.h.