| 
    ML Reference
    
   | 
 
Field to encapsulate a pointer to an output connector which represents a module output. More...
#include <mlFields.h>
  
Public Member Functions | |
| OutputConnectorField () | |
| Implements the runtime type system interface for this class.   | |
| OutputConnectorField (const std::string &name, Module *module, MLint outputImageIndex) | |
Constructor; creates a field with a name to manage an OutputConnector on the Module module at index outputImageIndex.   | |
| ~OutputConnectorField () override | |
| Destroys the field.   | |
| void | setStringValue (const std::string &) override | 
| Only calls touch() to propagate notifications.   | |
| void | touch (FieldSensor::Strength strength=FieldSensor::CHANGED) override | 
| A notified output image must also clear its PagedImage if it is considered as changed.   | |
| std::string | getStringValue () const override | 
| Reference to OutputConnector as C-string to return.   | |
| OutputConnector & | getOutputConnectorValue () const | 
| Returns a reference to the OutputConnector.   | |
| MLint | isValidValue () override | 
| Returns 1 if connector field contains a valid connector pointer.   | |
  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.   | |
| 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.   | |
| 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) ).   | |
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) ).   | |
  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 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 | 
  Static Protected Attributes inherited from ml::Field | |
| static MLint | _enableNotifications | 
| Flag that disables the notification process of field (-sensors) globally.   | |
Field to encapsulate a pointer to an output connector which represents a module output.
Definition at line 633 of file mlFields.h.
| ml::OutputConnectorField::OutputConnectorField | ( | ) | 
Implements the runtime type system interface for this class.
Default constructor, do not use it.
| ml::OutputConnectorField::OutputConnectorField | ( | const std::string & | name, | 
| Module * | module, | ||
| MLint | outputImageIndex ) | 
Constructor; creates a field with a name to manage an OutputConnector on the Module module at index outputImageIndex. 
      
  | 
  override | 
Destroys the field.
| OutputConnector & ml::OutputConnectorField::getOutputConnectorValue | ( | ) | const | 
Returns a reference to the OutputConnector.
      
  | 
  overridevirtual | 
Reference to OutputConnector as C-string to return.
OutputConnectors do not have a value, therefore a reference is returned. Returns the value of the field as a string value. setStringValue must be able to interpret this returned string correctly.
Implements ml::Field.
      
  | 
  overridevirtual | 
Returns 1 if connector field contains a valid connector pointer.
Reimplemented from ml::Field.
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
A notified output image must also clear its PagedImage if it is considered as changed.
So it needs to be overloaded here. Default is that it is considered as FieldSensor::CHANGED.
Reimplemented from ml::Field.