|
ML Reference
|
#include <mlFields.h>
Public Member Functions | |
| BaseField ()=default | |
| Implements the runtime type system interface for this class. | |
| BaseField (const std::string &name) | |
| ~BaseField () override | |
| Destructor. | |
| void | setStringValue (const std::string &stringValue) override |
Sets pointer value from string stringValue. If string cannot be parsed successfully, a NULL pointer is set. | |
| void | setBaseValue (Base *basePointerValue) |
Sets the value of the field to basePointerValue. | |
| void | setBaseValue (const RefCountedBasePtr &value) |
| Sets the value from intrusive pointer. | |
| std::string | getStringValue () const override |
| Base * | getBaseValue () const |
| Returns current field value. | |
| virtual void | touchSourceFields () |
| Touches the source fields. | |
| void | addAllowedType (const RuntimeType *allowedType) |
| template<typename T> | |
| void | addAllowedType () |
| Same as above, with template parameter where the Base type can be specified directly. | |
| template<typename T> | |
| void | setBaseValueAndAddAllowedType (T *value) |
| template<typename T> | |
| void | setBaseValueAndAddAllowedType (const ::boost::intrusive_ptr< T > &value) |
| std::vector< const RuntimeType * > | getAllowedTypes () const |
| Returns a list of allowed Base types for this field. | |
| bool | hasUnallowedType () const |
| void | setValue (Base *basePointerValue) |
| Same as setBaseValue(Base*). | |
| void | setValue (const RefCountedBasePtr &value) |
| Same as setBaseValue(const RefCountedBasePtr&). | |
| Base * | getValue () const |
| Same as getBaseValue(). | |
| template<class Type> | |
| Type | getTypedValue () const |
| Returns the typed value if the contained base object is derived from the given Type. | |
| template<class Type> | |
| Type | getTypedBaseValue () const |
| Returns the typed value if the contained base object is derived from the given Type. | |
| 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 |
| 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 () |
| void | copyCStringValue (char *valueBuffer, MLint bufferSize) |
| 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) |
| void | attachField (BaseField *targetField) |
| void | attachField (SoNodeField *targetField) |
| void | attachField (NotifyField *targetField) |
| void | attachField (Field *targetField, bool propagateValueOnConnect) |
| 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) |
| void | enableNotifications (bool flag) |
| bool | areNotificationsEnabled () |
Protected Member Functions | |
| void | setValueFromField (const Field &field) override |
| Reimplementation from Field that copies the field value more efficiently. | |
| Protected Member Functions inherited from ml::Field | |
| void | attachSourceField (Field *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. | |
Additional Inherited Members | |
| static void | enableNotificationsGlobally (bool flag) |
| static bool | areNotificationsEnabledGlobally () |
| static MLint & | enableNotificationsCounterState () |
| 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 |
| std::vector< Field * > | _sourceFields |
| 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 ML base object.
Definition at line 728 of file mlFields.h.
|
default |
Implements the runtime type system interface for this class.
Default constructor, do not use it.
Referenced by ml::TypedBaseField< T >::TypedBaseField().
|
explicit |
Constructor; creates a field with a name to manage a base pointer. Default value is NULL.
|
override |
Destructor.
|
inline |
Same as above, with template parameter where the Base type can be specified directly.
Definition at line 774 of file mlFields.h.
References addAllowedType().
Referenced by addAllowedType().
| void ml::BaseField::addAllowedType | ( | const RuntimeType * | allowedType | ) |
Adds type to the list of allowed types. This will set the Base value to NULL if it is not NULL already and should only be called when creating the BaseField. Calls to setBaseValue (or setStringValue) will only succeed if the given Base object is of one of the allowed types or NULL, or if the list is empty; otherwise, NULL will be set instead.
Referenced by setBaseValueAndAddAllowedType(), and ml::TypedBaseField< T >::TypedBaseField().
|
inline |
Returns a list of allowed Base types for this field.
Definition at line 788 of file mlFields.h.
| Base * ml::BaseField::getBaseValue | ( | ) | const |
Returns current field value.
Referenced by getValue().
|
overridevirtual |
Returns the value of the field as a string value. setStringValue must be able to reinterpret this returned string correctly.
Implements ml::Field.
|
inline |
Returns the typed value if the contained base object is derived from the given Type.
Definition at line 809 of file mlFields.h.
References getValue(), and mlbase_cast().
|
inline |
Returns the typed value if the contained base object is derived from the given Type.
Definition at line 805 of file mlFields.h.
References getValue(), and mlbase_cast().
Referenced by ml::TypedBaseField< T >::getValue().
|
inline |
Same as getBaseValue().
Definition at line 801 of file mlFields.h.
References getBaseValue().
Referenced by getTypedBaseValue(), and getTypedValue().
|
inline |
Returns true if the last call of setBaseValue had a not allowed type as argument, getBaseValue will return NULL then.
Definition at line 792 of file mlFields.h.
| void ml::BaseField::setBaseValue | ( | Base * | basePointerValue | ) |
Sets the value of the field to basePointerValue.
Referenced by setBaseValueAndAddAllowedType(), setValue(), setValue(), and ml::TypedBaseField< T >::setValue().
| void ml::BaseField::setBaseValue | ( | const RefCountedBasePtr & | value | ) |
Sets the value from intrusive pointer.
|
inline |
Convenience routine for setting the base value and its type at the same time using an intrusive pointer. See above methods for details.
Definition at line 785 of file mlFields.h.
References setBaseValueAndAddAllowedType().
Referenced by setBaseValueAndAddAllowedType().
|
inline |
Convenience routine for setting the base value and its type at the same time. The type is evaluated at compile-time, so even NULL works if it is cast to the right pointer type! Alternatively, you might specify the type as template argument for NULL arguments!
Definition at line 780 of file mlFields.h.
References addAllowedType(), and setBaseValue().
Referenced by ml::FieldContainer::addBaseWithAllowedType().
|
overridevirtual |
Sets pointer value from string stringValue. If string cannot be parsed successfully, a NULL pointer is set.
Implements ml::Field.
|
inline |
|
inline |
Same as setBaseValue(const RefCountedBasePtr&).
Definition at line 798 of file mlFields.h.
References setBaseValue().
|
overrideprotectedvirtual |
Reimplementation from Field that copies the field value more efficiently.
Reimplemented from ml::Field.
References ml::Field::Field().
|
virtual |
Touches the source fields.