MeVisLab Toolbox Reference
|
Field to represent a dynamic vector of DATATYPE values. More...
#include <mlMultiFields.h>
Public Member Functions | |
MultiField (const std::string &name="") | |
Empty Constructor: Create a field with name name. | |
void | setStringValue (const std::string &value) override |
Set value to value. | |
void | setMultiField (const std::vector< DATATYPE > &value) |
Set values of the field to value which is a std::vector. | |
void | setMultiField (const DATATYPE values[], size_t numValues) |
Set values of the field to values which is an array of values. | |
void | getMultiField (DATATYPE values[], size_t numValues) |
Get values from the field into values which is an array of values. | |
std::string | getStringValue () const override |
Return the value as string value. | |
const std::vector< DATATYPE > & | getMultiField () const |
Returns the vector of the field. | |
std::vector< DATATYPE > & | getNonConstMultiField () |
Returns the vector of the field as modifiable reference. | |
size_t | getSize () const |
Returns number of entries in vector. | |
Public Member Functions inherited from ml::Field | |
Field (const std::string &name=std::string()) | |
Constructor: Creates a field with name . | |
virtual | ~Field () |
Destructor: Destroy field and remove all connection to fields an sensors. | |
FieldContainer * | getFieldContainer () const |
Get the field container of the field (which may be NULL). | |
const std::string & | getName () const |
Returns 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 field name is returned). | |
bool | isOutputOnly () const |
Returns if this field is marked as pure output field. | |
void | setOutputOnly (bool outputOnly=true) |
Mark field as a pure output field that is never read 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 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 which could receive notifications or value sets. | |
Field * | getDestinationField (size_t index) |
Returns destination field at index . Returns NULL if index is out of range. | |
size_t | getNumSourceFields () |
Returns the number of source fields which 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) ). | |
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 remove 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 which shall be set to the value of this field or which shall be notified only if this field is changed or notified. | |
std::vector< Field * > | _sourceFields |
List of (source) fields, which will notify this field or which 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 which disables the notification process of field (sensors) globally. | |
Field to represent a dynamic vector of DATATYPE values.
Definition at line 62 of file mlMultiFields.h.
|
inline |
Empty Constructor: Create a field with name name.
Internally, a std::vector is used with initial size of zero.
Definition at line 70 of file mlMultiFields.h.
|
inline |
Returns the vector of the field.
Definition at line 158 of file mlMultiFields.h.
|
inline |
Get values from the field into values which is an array of values.
numValues must indicate the number of values to be written into values. values must have enough capacity to contain at least numValues. Note: If the MultiField has less than numValues entries then only the number of MultiField entries is written into values and the rest of the values is left unchanged.
Definition at line 129 of file mlMultiFields.h.
References ML_BAD_POINTER_OR_0, mlrange_cast(), and ml::printTemplateFatalError().
|
inline |
Returns the vector of the field as modifiable reference.
Definition at line 166 of file mlMultiFields.h.
|
inline |
Returns number of entries in vector.
Definition at line 174 of file mlMultiFields.h.
|
inlineoverridevirtual |
Return the value as string value.
Implements ml::Field.
Reimplemented in ml::StringLineMultiField.
Definition at line 148 of file mlMultiFields.h.
References mlrange_cast().
Set values of the field to values which is an array of values.
numValues must indicate exactly the number of values to be set and values must contain all these values.
Definition at line 101 of file mlMultiFields.h.
References ML_BAD_POINTER_OR_0, mlrange_cast(), and ml::printTemplateFatalError().
|
inline |
Set values of the field to value which is a std::vector.
Definition at line 90 of file mlMultiFields.h.
|
inlineoverridevirtual |
Set value to value.
The value string is parsed and it is assumed that each value is separated by 'space'. If a 'wrong' character is detected the parsing stops and only the values before this character are used.
Implements ml::Field.
Reimplemented in ml::StringLineMultiField.
Definition at line 80 of file mlMultiFields.h.
References mlrange_cast().