ML Reference
|
Templated version of BaseField that only stores the template type as pointer. More...
#include <mlFields.h>
Public Member Functions | |
TypedBaseField (const std::string &name) | |
Constructor; creates a field with a name to manage a typed Base pointer. Default value is NULL. More... | |
void | setValue (T *basePointerValue) |
Sets the value of the field to basePointerValue . More... | |
void | setValue (const ::boost::intrusive_ptr< T > &value) |
Sets the value from intrusive pointer. More... | |
T * | getValue () const |
Returns the current field value. More... | |
![]() | |
BaseField ()=default | |
Implements the runtime type system interface for this class. More... | |
BaseField (const std::string &name) | |
Constructor; creates a field with a name to manage a base pointer. More... | |
~BaseField () override | |
Destructor. More... | |
void | setStringValue (const std::string &stringValue) override |
Sets pointer value from string stringValue . If string cannot be parsed successfully, a NULL pointer is set. More... | |
void | setBaseValue (Base *basePointerValue) |
Sets the value of the field to basePointerValue . More... | |
void | setBaseValue (const RefCountedBasePtr &value) |
Sets the value from intrusive pointer. More... | |
std::string | getStringValue () const override |
Returns the value of the field as a string value. More... | |
Base * | getBaseValue () const |
Returns current field value. More... | |
virtual void | touchSourceFields () |
Touches the source fields. More... | |
void | addAllowedType (const RuntimeType *allowedType) |
Adds type to the list of allowed types. More... | |
template<typename T > | |
void | addAllowedType () |
Same as above, with template parameter where the Base type can be specified directly. More... | |
template<typename T > | |
void | setBaseValueAndAddAllowedType (T *value) |
Convenience routine for setting the base value and its type at the same time. More... | |
template<typename T > | |
void | setBaseValueAndAddAllowedType (const ::boost::intrusive_ptr< T > &value) |
Convenience routine for setting the base value and its type at the same time using an intrusive pointer. More... | |
std::vector< const RuntimeType * > | getAllowedTypes () const |
Returns a list of allowed Base types for this field. More... | |
bool | hasUnallowedType () const |
Returns true if the last call of setBaseValue had a not allowed type as argument, getBaseValue will return NULL then. More... | |
void | setValue (Base *basePointerValue) |
Same as setBaseValue(Base*). More... | |
void | setValue (const RefCountedBasePtr &value) |
Same as setBaseValue(const RefCountedBasePtr&). More... | |
Base * | getValue () const |
Same as getBaseValue(). More... | |
template<class Type > | |
Type | getTypedValue () const |
Returns the typed value if the contained base object is derived from the given Type. More... | |
template<class Type > | |
Type | getTypedBaseValue () const |
Returns the typed value if the contained base object is derived from the given Type. More... | |
![]() | |
Field (const std::string &name=std::string()) | |
Constructor: Creates a field with name . More... | |
virtual | ~Field () |
Destructor: Destroys a field and removes all connection to fields and sensors. More... | |
FieldContainer * | getFieldContainer () const |
Returns the field container of the field (which may be NULL). More... | |
const std::string & | getName () const |
Returns the name of field. More... | |
void | setName (const std::string &name) |
Sets the name of field. Should be called only once after or while construction. More... | |
std::string | getFullName () const |
Returns 'fieldContainerType(instanceName).fieldName' if field container is available, otherwise only the field name is returned. More... | |
bool | isOutputOnly () const |
Returns whether this field is marked as a pure output field. More... | |
void | setOutputOnly (bool outputOnly=true) |
Marks this field as a pure output field that is only changed by its module. More... | |
virtual MLint | isValidValue () |
Returns true (=1) if the field's value is valid; otherwise, false (=0) is returned. More... | |
void | copyCStringValue (char *valueBuffer, MLint bufferSize) |
Copies the value of the field (as character string) into the specified buffer valueBuffer . More... | |
MLint | getCStringValueSize () |
Returns the length of the character string of the string value of the field. More... | |
void | attachFieldSensor (FieldSensor *sensor) |
Attaches a field sensor sensor of this class instance in both directions. More... | |
void | detachFieldSensor (FieldSensor *sensor) |
Detaches the field sensor sensor of this class instance in both directions. More... | |
void | detachFieldSensors () |
Detaches all field sensors of this class instance in both directions. More... | |
void | attachField (OutputConnectorField *targetField) |
This calls attachField(targetField, false). More... | |
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 . More... | |
void | detachField (Field *targetField) |
Disconnects connections between the target field targetField and this instance. More... | |
void | detachSourceFields () |
Disconnects all source fields of this instance in both directions. More... | |
void | detachDestinationFields () |
Disconnects all target fields of this instance in both directions. More... | |
void | detachAllFields () |
Disconnects all source and target fields of this instance in both directions. More... | |
size_t | getNumDestinationFields () |
Returns the number of destination fields that could receive notifications or value sets. More... | |
Field * | getDestinationField (size_t index) |
Returns the destination field at index . Returns NULL if index is out of range. More... | |
size_t | getNumSourceFields () |
Returns the number of source fields that could send notifications or value sets. More... | |
Field * | getSourceField (size_t index) |
Returns the source field at index . Returns NULL if index is out of range. More... | |
virtual void | touch (FieldSensor::Strength strength=FieldSensor::CHANGED) |
Notifies all connected fields and field sensors. More... | |
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 . More... | |
bool | areNotificationsEnabled () |
Returns whether the notification mechanism for this field (e.g., when field values are set) is enabled (see enableNotifications(bool) ). More... | |
Additional Inherited Members | |
![]() | |
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 . More... | |
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. More... | |
static MLint & | enableNotificationsCounterState () |
Provides read/write access to the current counter state (see enableNotificationsGlobally(bool) ). More... | |
![]() | |
void | setValueFromField (const Field &field) override |
Reimplementation from Field that copies the field value more efficiently. More... | |
![]() | |
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. More... | |
void | detachSourceField (Field *field) |
Removes a source field from this instance. If not found, then this call does nothing. More... | |
void | detachFieldInternal (Field *field) |
Only removes the given field from the destination list. More... | |
![]() | |
std::string | _name |
The name of this field. More... | |
std::vector< FieldSensor * > | _sensors |
List of field sensors. More... | |
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. More... | |
std::vector< Field * > | _sourceFields |
List of (source) fields that will notify this field or that will copy their value to this field. More... | |
FieldContainer * | _fieldContainer |
The owning field container. More... | |
Flags | _flags |
![]() | |
static MLint | _enableNotifications |
Flag that disables the notification process of field (-sensors) globally. More... | |
Templated version of BaseField that only stores the template type as pointer.
Definition at line 834 of file mlFields.h.
|
inlineexplicit |
Constructor; creates a field with a name
to manage a typed Base pointer. Default value is NULL.
Definition at line 838 of file mlFields.h.
|
inline |
Returns the current field value.
Definition at line 847 of file mlFields.h.
|
inline |
Sets the value from intrusive pointer.
Definition at line 844 of file mlFields.h.
References ml::TypedBaseField< T >::setValue().
Referenced by ml::TypedBaseField< T >::setValue().
|
inline |
Sets the value of the field to basePointerValue
.
Definition at line 841 of file mlFields.h.
Referenced by ml::FieldContainer::addTypedBase().