ML Reference
ml::FieldContainer Class Reference

#include <mlFieldContainer.h>

Inheritance diagram for ml::FieldContainer:
ml::Base ml::Module ml::Engine

Public Member Functions

 FieldContainer ()
 Constructor.
 ~FieldContainer () override
 Destructor: Deletes all added fields.
std::string whoAmI (bool withInstanceName=true) const
FieldaddField (const char *name, const char *type, const char *value)
FieldaddField (Field *field)
 Adds a field, the ownership of the field is passed to the FieldContainer.
BoolFieldaddBool (const char *name)
 Creates a BoolField with name and adds it to the container. Default value is false.
BoolFieldaddBool (const char *name, bool value)
 Creates a BoolField with name and adds it to the container.
IntFieldaddInt (const char *name)
 Creates an IntField with name and adds it to the container. Default value is 0.
IntFieldaddInt (const char *name, MLint value)
 Creates an IntField with name and adds it to the container.
EnumFieldaddEnum (const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems)
EnumFieldaddEnum (const char *name, const std::vector< std::string > &enumerationItemNames)
template<typename EnumType>
TypedEnumField< EnumType > * addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue)
FloatFieldaddFloat (const char *name)
 Creates a FloatField with name and adds it to the container. Default value is 0.f.
FloatFieldaddFloat (const char *name, float value)
 Creates a FloatField with name and adds it to the container.
ProgressFieldaddProgress (const char *name)
 Creates a float ProgressField with name and adds it to the container. Default value is 0.f.
ProgressFieldaddProgress (const char *name, float value)
 Creates a float ProgressField with name and adds it to the container.
DoubleFieldaddDouble (const char *name)
 Creates a DoubleField with name and adds it to the container. Default value is 0.
DoubleFieldaddDouble (const char *name, double value)
 Creates a DoubleField with name and adds it to the container.
StringFieldaddString (const char *name)
 Creates a StringField with name and adds it to the container. Default value is empty string.
StringFieldaddString (const char *name, const std::string &value)
 Creates a StringField with name and adds it to the container.
NotifyFieldaddNotify (const char *name)
 Creates a NotifyField field with name and adds it to the container.
TriggerFieldaddTrigger (const char *name)
BaseFieldaddBase (const char *name)
 Creates a Base field with name and adds it to the container. Default value is NULL.
BaseFieldaddBase (const char *name, Base *value)
 Creates a Base field with name and adds it to the container.
BaseFieldaddBase (const char *name, const RefCountedBasePtr &value)
 Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer.
template<typename T>
BaseFieldaddBaseWithAllowedType (const char *name, T *value=nullptr)
 As above, but also sets the allowed type of the field.
template<typename T>
BaseFieldaddBaseWithAllowedType (const char *name, const ::boost::intrusive_ptr< T > &value)
 As above, but also sets the allowed type of the field.
template<typename T>
TypedBaseField< T > * addTypedBase (const char *name)
 Creates a TypedBaseField with name and adds it to the container. Default value is NULL.
template<typename T>
TypedBaseField< T > * addTypedBase (const char *name, T *value)
 Creates a TypedBaseField with name and adds it to the container.
template<typename T>
TypedBaseField< T > * addTypedBase (const char *name, const ::boost::intrusive_ptr< T > &value)
 Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer.
SoNodeFieldaddSoNode (const char *name)
 Creates a SoNodeField with name and adds it to the container. Default value is NULL.
SoNodeFieldaddSoNode (const char *name, SoNode *value)
 Creates a SoNodeField with name and adds it to the container.
PointerFieldaddPointer (const char *name)
 Creates a PointerField with name and adds it to the container.
Vector2FieldaddVector2 (const char *name)
 Creates a Vector2Field with name and adds it to the container.
Vector2FieldaddVector2 (const char *name, const Vector2 &value)
 Creates a Vector2Field with name and adds it to the container.
Vector2FieldaddVector2 (const char *name, double x, double y)
 Creates a Vector2Field with name and adds it to the container.
Vector3FieldaddVector3 (const char *name)
 Creates a Vector3Field with name and adds it to the container.
Vector3FieldaddVector3 (const char *name, const Vector3 &value)
 Creates a Vector3Field with name and adds it to the container.
Vector3FieldaddVector3 (const char *name, double x, double y, double z)
 Creates a Vector3Field with name and adds it to the container.
Vector4FieldaddVector4 (const char *name)
 Creates a Vector4Field with name and adds it to the container.
Vector4FieldaddVector4 (const char *name, const Vector4 &value)
 Creates a Vector4Field with name and adds it to the container.
Vector4FieldaddVector4 (const char *name, double x, double y, double z, double w)
 Creates a Vector4Field with name and adds it to the container.
Vector5FieldaddVector5 (const char *name)
 Creates a Vector5Field with name and adds it to the container.
Vector5FieldaddVector5 (const char *name, const Vector5 &value)
 Creates a Vector5Field with name and adds it to the container.
Vector6FieldaddVector6 (const char *name)
 Creates a Vector6Field with name and adds it to the container.
Vector6FieldaddVector6 (const char *name, const Vector6 &value)
 Creates a Vector6Field with name and adds it to the container.
Vector10FieldaddVector10 (const char *name)
 Creates a Vector10Field with name and adds it to the container.
Vector10FieldaddVector10 (const char *name, const Vector10 &value)
 Creates a Vector10Field with name and adds it to the container.
ImageVectorFieldaddImageVector (const char *name)
 Creates a ImageVectorField with name and adds it to the container.
ImageVectorFieldaddImageVector (const char *name, const ImageVector &value)
 Creates a ImageVectorField with name and adds it to the container.
ImageVectorFieldaddImageVector (const char *name, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u)
 Creates a ImageVectorField with name and adds it to the container.
SubImageBoxFieldaddSubImageBox (const char *name)
 Creates a SubImageBoxField with name and adds it to the container.
SubImageBoxFieldaddSubImageBox (const char *name, const SubImageBox &value)
 Creates a SubImageBoxField with name and adds it to the container.
SubImageBoxdFieldaddSubImageBoxd (const char *name)
 Creates a SubImageBoxd field with name and adds it to the container.
SubImageBoxdFieldaddSubImageBoxd (const char *name, const SubImageBoxd &value)
 Creates a SubImageBoxd field with name and adds it to the container.
ColorFieldaddColor (const char *name)
 Creates a ColorField with name and adds it to the container.
ColorFieldaddColor (const char *name, float r, float g, float b)
 Creates a ColorField with name and adds it to the container.
ColorFieldaddColor (const char *name, const Vector3 &value)
 Creates a ColorField with name and adds it to the container.
PlaneFieldaddPlane (const char *name)
 Creates a PlaneField with name and adds it to the container.
PlaneFieldaddPlane (const char *name, double f0, double f1, double f2, double f3)
 Creates a PlaneField with name and adds it to the container.
PlaneFieldaddPlane (const char *name, const Plane &value)
 Creates a PlaneField with name and adds it to the container.
RotationFieldaddRotation (const char *name)
 Creates a RotationField with name and adds it to the container.
RotationFieldaddRotation (const char *name, const Rotation &value)
 Creates a RotationField with name and adds it to the container.
Matrix2FieldaddMatrix2 (const char *name)
 Creates a Matrix2Field with name and adds it to the container.
Matrix2FieldaddMatrix2 (const char *name, const Matrix2 &value)
 Creates a Matrix2Field with name and adds it to the container.
Matrix3FieldaddMatrix3 (const char *name)
 Creates a Matrix3Field with name and adds it to the container.
Matrix3FieldaddMatrix3 (const char *name, const Matrix3 &value)
 Creates a Matrix3Field with name and adds it to the container.
Matrix4FieldaddMatrix4 (const char *name)
 Creates a Matrix4Field with name and adds it to the container.
Matrix4FieldaddMatrix4 (const char *name, const Matrix4 &value)
 Creates a Matrix4Field with name and adds it to the container.
Matrix5FieldaddMatrix5 (const char *name)
 Creates a Matrix5Field with name and adds it to the container.
Matrix5FieldaddMatrix5 (const char *name, const Matrix5 &value)
 Creates a Matrix5Field with name and adds it to the container.
Matrix6FieldaddMatrix6 (const char *name)
 Creates a Matrix6Field with name and adds it to the container.
Matrix6FieldaddMatrix6 (const char *name, const Matrix6 &value)
 Creates a Matrix6Field with name and adds it to the container.
MatrixFieldaddMatrix (const char *name)
 Creates a MatrixField with name and adds it to the container.
MatrixFieldaddMatrix (const char *name, const Matrix4 &value)
 Creates a MatrixField with name and adds it to the container.
MLDataTypeFieldaddMLDataType (const char *name)
 Creates a MTDataTypeField with name and adds it to the container.
MLDataTypeFieldaddMLDataType (const char *name, MLDataType value)
 Creates a MTDataTypeField with name and adds it to the container.
UniversalTypeFieldaddUniversalType (const char *name)
 Creates an UniversalTypeField field with name and adds it to the container.
IntListFieldaddIntList (const char *name)
 Creates an IntListField field with name and empty list value and adds it to the container.
IntListFieldaddIntList (const char *name, const std::vector< MLint > &value)
 Creates an IntListField field with name and given list value and adds it to the container.
DoubleListFieldaddDoubleList (const char *name)
 Creates an DoubleListField field with name and empty list value and adds it to the container.
DoubleListFieldaddDoubleList (const char *name, const std::vector< double > &value)
 Creates an DoubleListField field with name and given list value and adds it to the container.
Vector2ListFieldaddVector2List (const char *name)
 Creates an Vector2ListField field with name and empty list value and adds it to the container.
Vector2ListFieldaddVector2List (const char *name, const std::vector< Vector2 > &value)
 Creates an Vector2ListField field with name and given list value and adds it to the container.
Vector3ListFieldaddVector3List (const char *name)
 Creates an Vector3ListField field with name and empty list value and adds it to the container.
Vector3ListFieldaddVector3List (const char *name, const std::vector< Vector3 > &value)
 Creates an Vector3ListField field with name and given list value and adds it to the container.
Vector4ListFieldaddVector4List (const char *name)
 Creates an Vector4ListField field with name and empty list value and adds it to the container.
Vector4ListFieldaddVector4List (const char *name, const std::vector< Vector4 > &value)
 Creates an Vector4ListField field with name and given list value and adds it to the container.
size_t getNumFields () const
 Returns the number of added fields.
bool hasField (const std::string &name) const
 Returns true if the field with name name exists; otherwise, false is returned.
FieldgetField (const std::string &name) const
FieldgetField (MLint index) const
 Returns pointer of field at index if it exists. If not, -1 is returned.
MLint getFieldIndex (Field *field) const
 Returns index of field if it exists. If not, -1 is returned.
void setFieldStringValue (const std::string &name, const std::string &value)
std::string getFieldStringValue (const std::string &name) const
virtual void activateAttachments ()
virtual void deactivateAttachments ()
Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
virtual ~Base ()
 Destructor.
virtual BasedeepCopy () const
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
virtual bool isRefCountedBase () const
 Returns whether the instance is derived from RefCountedBase.
virtual std::string detailString () const
virtual bool implementsPersistence (PersistenceInterface) const
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
virtual void setPersistentState (const std::string &state)
virtual void addStateToTree (TreeNode *) const
 Attaches the object state as children of the given parent node.
virtual void readStateFromTree (TreeNode *)
 Reads the object state from the children of the given parent node.
virtual void writeTo (AbstractPersistenceOutputStream *) const
virtual void readFrom (AbstractPersistenceInputStream *, int)

Protected Member Functions

virtual void handleNotificationInternal (Field *, FieldSensor::Strength)
 Called when field has changed.

Friends

class Field

Additional Inherited Members

Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...

Detailed Description

Defines the class FieldContainer to encapsulate a vector of fields (see class Field). It is usually used as a parameter interface for the Module class. In its constructor, a Module typically adds all the interface parameters to its field container.

Definition at line 54 of file mlFieldContainer.h.

Constructor & Destructor Documentation

◆ FieldContainer()

ml::FieldContainer::FieldContainer ( )

Constructor.

◆ ~FieldContainer()

ml::FieldContainer::~FieldContainer ( )
override

Destructor: Deletes all added fields.

Member Function Documentation

◆ activateAttachments()

virtual void ml::FieldContainer::activateAttachments ( )
inlinevirtual

Reactivates notification handling, i.e., all fields of this module will send notifications again to attached sensors and fields if their value is set or changed. Overload this method to be notified when, e.g., a module load or clone process has finished. During module load and clone processes, the field values are restored but handleNotification calls are blocked so that the module cannot update itself to those field changes (see deactivateAttachments()). When activateAttachment is called, the module can have a look at its new field settings and update its internal state to the new field states. Note that the overloaded method has to be called; otherwise, notification handling is not activated correctly.

Definition at line 387 of file mlFieldContainer.h.

◆ addBase() [1/3]

BaseField * ml::FieldContainer::addBase ( const char * name)

Creates a Base field with name and adds it to the container. Default value is NULL.

Referenced by addBaseWithAllowedType().

◆ addBase() [2/3]

BaseField * ml::FieldContainer::addBase ( const char * name,
Base * value )

Creates a Base field with name and adds it to the container.

References ml::Base::Base().

◆ addBase() [3/3]

BaseField * ml::FieldContainer::addBase ( const char * name,
const RefCountedBasePtr & value )

Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer.

◆ addBaseWithAllowedType() [1/2]

template<typename T>
BaseField * ml::FieldContainer::addBaseWithAllowedType ( const char * name,
const ::boost::intrusive_ptr< T > & value )
inline

As above, but also sets the allowed type of the field.

Definition at line 176 of file mlFieldContainer.h.

References addBaseWithAllowedType().

◆ addBaseWithAllowedType() [2/2]

template<typename T>
BaseField * ml::FieldContainer::addBaseWithAllowedType ( const char * name,
T * value = nullptr )
inline

As above, but also sets the allowed type of the field.

Definition at line 168 of file mlFieldContainer.h.

References addBase(), and ml::BaseField::setBaseValueAndAddAllowedType().

Referenced by addBaseWithAllowedType().

◆ addBool() [1/2]

BoolField * ml::FieldContainer::addBool ( const char * name)

Creates a BoolField with name and adds it to the container. Default value is false.

◆ addBool() [2/2]

BoolField * ml::FieldContainer::addBool ( const char * name,
bool value )

Creates a BoolField with name and adds it to the container.

◆ addColor() [1/3]

ColorField * ml::FieldContainer::addColor ( const char * name)

Creates a ColorField with name and adds it to the container.

◆ addColor() [2/3]

ColorField * ml::FieldContainer::addColor ( const char * name,
const Vector3 & value )

Creates a ColorField with name and adds it to the container.

◆ addColor() [3/3]

ColorField * ml::FieldContainer::addColor ( const char * name,
float r,
float g,
float b )

Creates a ColorField with name and adds it to the container.

◆ addDouble() [1/2]

DoubleField * ml::FieldContainer::addDouble ( const char * name)

Creates a DoubleField with name and adds it to the container. Default value is 0.

◆ addDouble() [2/2]

DoubleField * ml::FieldContainer::addDouble ( const char * name,
double value )

Creates a DoubleField with name and adds it to the container.

◆ addDoubleList() [1/2]

DoubleListField * ml::FieldContainer::addDoubleList ( const char * name)

Creates an DoubleListField field with name and empty list value and adds it to the container.

◆ addDoubleList() [2/2]

DoubleListField * ml::FieldContainer::addDoubleList ( const char * name,
const std::vector< double > & value )

Creates an DoubleListField field with name and given list value and adds it to the container.

◆ addEnum() [1/3]

EnumField * ml::FieldContainer::addEnum ( const char * name,
const char *const * enumerationItemNames,
MLint numEnumerationItems )

Creates an EnumField field with name and adds it to the container. The names of the enum entries are defined by the string array enumerationItemNames. It must have at least numEnumerationItems entries. The value range for the enum value is [0, numEnumerationItems-1].

◆ addEnum() [2/3]

template<typename EnumType>
TypedEnumField< EnumType > * ml::FieldContainer::addEnum ( const char * name,
const EnumValues< EnumType > & values,
EnumType initialValue )
inline

Creates a TypedEnumField field with name and adds it to the container. The type of the EnumField is inferred via the passed enumValues. The initial value is set to initialValue.

enum ExampleEnum
{
TEST1 = -1,
TEST2 = 4,
TEST3 = 5
};
...
EnumValues<ExampleEnum> values;
values << ML_ENUM_VALUE(TEST1)
<< ML_ENUM_VALUE(TEST2)
<< ML_ENUM_VALUE(TEST3);
TypedEnumField<ExampleEnum>* field = addEnum("example", values, TEST2);
EnumField * addEnum(const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems)
#define ML_ENUM_VALUE(enumValue)
Definition mlFields.h:338

Definition at line 128 of file mlFieldContainer.h.

References addField().

◆ addEnum() [3/3]

EnumField * ml::FieldContainer::addEnum ( const char * name,
const std::vector< std::string > & enumerationItemNames )

Creates an EnumField field with name and adds it to the container. The names of the enum entries are defined by the string vector enumerationItemNames. The value range for the enum value is [0, enumerationItemNames.size()-1].

◆ addField() [1/2]

Field * ml::FieldContainer::addField ( const char * name,
const char * type,
const char * value )

Adds a new field with name name, type type, and value value (encoded as string) to the container. The field manages its memory itself, i.e., it copies the value from the string constant. The ownership of the returned field remains with the FieldContainer.

References Field.

Referenced by addEnum(), and addTypedBase().

◆ addField() [2/2]

Field * ml::FieldContainer::addField ( Field * field)

Adds a field, the ownership of the field is passed to the FieldContainer.

References Field.

◆ addFloat() [1/2]

FloatField * ml::FieldContainer::addFloat ( const char * name)

Creates a FloatField with name and adds it to the container. Default value is 0.f.

◆ addFloat() [2/2]

FloatField * ml::FieldContainer::addFloat ( const char * name,
float value )

Creates a FloatField with name and adds it to the container.

◆ addImageVector() [1/3]

ImageVectorField * ml::FieldContainer::addImageVector ( const char * name)

Creates a ImageVectorField with name and adds it to the container.

◆ addImageVector() [2/3]

ImageVectorField * ml::FieldContainer::addImageVector ( const char * name,
const ImageVector & value )

Creates a ImageVectorField with name and adds it to the container.

◆ addImageVector() [3/3]

ImageVectorField * ml::FieldContainer::addImageVector ( const char * name,
MLint x,
MLint y,
MLint z,
MLint c,
MLint t,
MLint u )

Creates a ImageVectorField with name and adds it to the container.

◆ addInt() [1/2]

IntField * ml::FieldContainer::addInt ( const char * name)

Creates an IntField with name and adds it to the container. Default value is 0.

◆ addInt() [2/2]

IntField * ml::FieldContainer::addInt ( const char * name,
MLint value )

Creates an IntField with name and adds it to the container.

◆ addIntList() [1/2]

IntListField * ml::FieldContainer::addIntList ( const char * name)

Creates an IntListField field with name and empty list value and adds it to the container.

◆ addIntList() [2/2]

IntListField * ml::FieldContainer::addIntList ( const char * name,
const std::vector< MLint > & value )

Creates an IntListField field with name and given list value and adds it to the container.

◆ addMatrix() [1/2]

MatrixField * ml::FieldContainer::addMatrix ( const char * name)

Creates a MatrixField with name and adds it to the container.

◆ addMatrix() [2/2]

MatrixField * ml::FieldContainer::addMatrix ( const char * name,
const Matrix4 & value )

Creates a MatrixField with name and adds it to the container.

◆ addMatrix2() [1/2]

Matrix2Field * ml::FieldContainer::addMatrix2 ( const char * name)

Creates a Matrix2Field with name and adds it to the container.

◆ addMatrix2() [2/2]

Matrix2Field * ml::FieldContainer::addMatrix2 ( const char * name,
const Matrix2 & value )

Creates a Matrix2Field with name and adds it to the container.

◆ addMatrix3() [1/2]

Matrix3Field * ml::FieldContainer::addMatrix3 ( const char * name)

Creates a Matrix3Field with name and adds it to the container.

◆ addMatrix3() [2/2]

Matrix3Field * ml::FieldContainer::addMatrix3 ( const char * name,
const Matrix3 & value )

Creates a Matrix3Field with name and adds it to the container.

◆ addMatrix4() [1/2]

Matrix4Field * ml::FieldContainer::addMatrix4 ( const char * name)

Creates a Matrix4Field with name and adds it to the container.

◆ addMatrix4() [2/2]

Matrix4Field * ml::FieldContainer::addMatrix4 ( const char * name,
const Matrix4 & value )

Creates a Matrix4Field with name and adds it to the container.

◆ addMatrix5() [1/2]

Matrix5Field * ml::FieldContainer::addMatrix5 ( const char * name)

Creates a Matrix5Field with name and adds it to the container.

◆ addMatrix5() [2/2]

Matrix5Field * ml::FieldContainer::addMatrix5 ( const char * name,
const Matrix5 & value )

Creates a Matrix5Field with name and adds it to the container.

◆ addMatrix6() [1/2]

Matrix6Field * ml::FieldContainer::addMatrix6 ( const char * name)

Creates a Matrix6Field with name and adds it to the container.

◆ addMatrix6() [2/2]

Matrix6Field * ml::FieldContainer::addMatrix6 ( const char * name,
const Matrix6 & value )

Creates a Matrix6Field with name and adds it to the container.

◆ addMLDataType() [1/2]

MLDataTypeField * ml::FieldContainer::addMLDataType ( const char * name)

Creates a MTDataTypeField with name and adds it to the container.

◆ addMLDataType() [2/2]

MLDataTypeField * ml::FieldContainer::addMLDataType ( const char * name,
MLDataType value )

Creates a MTDataTypeField with name and adds it to the container.

◆ addNotify()

NotifyField * ml::FieldContainer::addNotify ( const char * name)

Creates a NotifyField field with name and adds it to the container.

◆ addPlane() [1/3]

PlaneField * ml::FieldContainer::addPlane ( const char * name)

Creates a PlaneField with name and adds it to the container.

◆ addPlane() [2/3]

PlaneField * ml::FieldContainer::addPlane ( const char * name,
const Plane & value )

Creates a PlaneField with name and adds it to the container.

◆ addPlane() [3/3]

PlaneField * ml::FieldContainer::addPlane ( const char * name,
double f0,
double f1,
double f2,
double f3 )

Creates a PlaneField with name and adds it to the container.

◆ addPointer()

PointerField * ml::FieldContainer::addPointer ( const char * name)

Creates a PointerField with name and adds it to the container.

◆ addProgress() [1/2]

ProgressField * ml::FieldContainer::addProgress ( const char * name)

Creates a float ProgressField with name and adds it to the container. Default value is 0.f.

◆ addProgress() [2/2]

ProgressField * ml::FieldContainer::addProgress ( const char * name,
float value )

Creates a float ProgressField with name and adds it to the container.

◆ addRotation() [1/2]

RotationField * ml::FieldContainer::addRotation ( const char * name)

Creates a RotationField with name and adds it to the container.

◆ addRotation() [2/2]

RotationField * ml::FieldContainer::addRotation ( const char * name,
const Rotation & value )

Creates a RotationField with name and adds it to the container.

◆ addSoNode() [1/2]

SoNodeField * ml::FieldContainer::addSoNode ( const char * name)

Creates a SoNodeField with name and adds it to the container. Default value is NULL.

◆ addSoNode() [2/2]

SoNodeField * ml::FieldContainer::addSoNode ( const char * name,
SoNode * value )

Creates a SoNodeField with name and adds it to the container.

◆ addString() [1/2]

StringField * ml::FieldContainer::addString ( const char * name)

Creates a StringField with name and adds it to the container. Default value is empty string.

◆ addString() [2/2]

StringField * ml::FieldContainer::addString ( const char * name,
const std::string & value )

Creates a StringField with name and adds it to the container.

◆ addSubImageBox() [1/2]

SubImageBoxField * ml::FieldContainer::addSubImageBox ( const char * name)

Creates a SubImageBoxField with name and adds it to the container.

◆ addSubImageBox() [2/2]

SubImageBoxField * ml::FieldContainer::addSubImageBox ( const char * name,
const SubImageBox & value )

Creates a SubImageBoxField with name and adds it to the container.

◆ addSubImageBoxd() [1/2]

SubImageBoxdField * ml::FieldContainer::addSubImageBoxd ( const char * name)

Creates a SubImageBoxd field with name and adds it to the container.

◆ addSubImageBoxd() [2/2]

SubImageBoxdField * ml::FieldContainer::addSubImageBoxd ( const char * name,
const SubImageBoxd & value )

Creates a SubImageBoxd field with name and adds it to the container.

◆ addTrigger()

TriggerField * ml::FieldContainer::addTrigger ( const char * name)

Creates a TriggerField field with name and adds it to the container. TriggerField is an alias for the NotifyField.

◆ addTypedBase() [1/3]

template<typename T>
TypedBaseField< T > * ml::FieldContainer::addTypedBase ( const char * name)
inline

Creates a TypedBaseField with name and adds it to the container. Default value is NULL.

Definition at line 183 of file mlFieldContainer.h.

References addField().

Referenced by addTypedBase(), and addTypedBase().

◆ addTypedBase() [2/3]

template<typename T>
TypedBaseField< T > * ml::FieldContainer::addTypedBase ( const char * name,
const ::boost::intrusive_ptr< T > & value )
inline

Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer.

Definition at line 201 of file mlFieldContainer.h.

References addTypedBase(), and ml::TypedBaseField< T >::setValue().

◆ addTypedBase() [3/3]

template<typename T>
TypedBaseField< T > * ml::FieldContainer::addTypedBase ( const char * name,
T * value )
inline

Creates a TypedBaseField with name and adds it to the container.

Definition at line 193 of file mlFieldContainer.h.

References addTypedBase(), and ml::TypedBaseField< T >::setValue().

◆ addUniversalType()

UniversalTypeField * ml::FieldContainer::addUniversalType ( const char * name)

Creates an UniversalTypeField field with name and adds it to the container.

◆ addVector10() [1/2]

Vector10Field * ml::FieldContainer::addVector10 ( const char * name)

Creates a Vector10Field with name and adds it to the container.

◆ addVector10() [2/2]

Vector10Field * ml::FieldContainer::addVector10 ( const char * name,
const Vector10 & value )

Creates a Vector10Field with name and adds it to the container.

◆ addVector2() [1/3]

Vector2Field * ml::FieldContainer::addVector2 ( const char * name)

Creates a Vector2Field with name and adds it to the container.

◆ addVector2() [2/3]

Vector2Field * ml::FieldContainer::addVector2 ( const char * name,
const Vector2 & value )

Creates a Vector2Field with name and adds it to the container.

◆ addVector2() [3/3]

Vector2Field * ml::FieldContainer::addVector2 ( const char * name,
double x,
double y )

Creates a Vector2Field with name and adds it to the container.

◆ addVector2List() [1/2]

Vector2ListField * ml::FieldContainer::addVector2List ( const char * name)

Creates an Vector2ListField field with name and empty list value and adds it to the container.

◆ addVector2List() [2/2]

Vector2ListField * ml::FieldContainer::addVector2List ( const char * name,
const std::vector< Vector2 > & value )

Creates an Vector2ListField field with name and given list value and adds it to the container.

◆ addVector3() [1/3]

Vector3Field * ml::FieldContainer::addVector3 ( const char * name)

Creates a Vector3Field with name and adds it to the container.

◆ addVector3() [2/3]

Vector3Field * ml::FieldContainer::addVector3 ( const char * name,
const Vector3 & value )

Creates a Vector3Field with name and adds it to the container.

◆ addVector3() [3/3]

Vector3Field * ml::FieldContainer::addVector3 ( const char * name,
double x,
double y,
double z )

Creates a Vector3Field with name and adds it to the container.

◆ addVector3List() [1/2]

Vector3ListField * ml::FieldContainer::addVector3List ( const char * name)

Creates an Vector3ListField field with name and empty list value and adds it to the container.

◆ addVector3List() [2/2]

Vector3ListField * ml::FieldContainer::addVector3List ( const char * name,
const std::vector< Vector3 > & value )

Creates an Vector3ListField field with name and given list value and adds it to the container.

◆ addVector4() [1/3]

Vector4Field * ml::FieldContainer::addVector4 ( const char * name)

Creates a Vector4Field with name and adds it to the container.

◆ addVector4() [2/3]

Vector4Field * ml::FieldContainer::addVector4 ( const char * name,
const Vector4 & value )

Creates a Vector4Field with name and adds it to the container.

◆ addVector4() [3/3]

Vector4Field * ml::FieldContainer::addVector4 ( const char * name,
double x,
double y,
double z,
double w )

Creates a Vector4Field with name and adds it to the container.

◆ addVector4List() [1/2]

Vector4ListField * ml::FieldContainer::addVector4List ( const char * name)

Creates an Vector4ListField field with name and empty list value and adds it to the container.

◆ addVector4List() [2/2]

Vector4ListField * ml::FieldContainer::addVector4List ( const char * name,
const std::vector< Vector4 > & value )

Creates an Vector4ListField field with name and given list value and adds it to the container.

◆ addVector5() [1/2]

Vector5Field * ml::FieldContainer::addVector5 ( const char * name)

Creates a Vector5Field with name and adds it to the container.

◆ addVector5() [2/2]

Vector5Field * ml::FieldContainer::addVector5 ( const char * name,
const Vector5 & value )

Creates a Vector5Field with name and adds it to the container.

◆ addVector6() [1/2]

Vector6Field * ml::FieldContainer::addVector6 ( const char * name)

Creates a Vector6Field with name and adds it to the container.

◆ addVector6() [2/2]

Vector6Field * ml::FieldContainer::addVector6 ( const char * name,
const Vector6 & value )

Creates a Vector6Field with name and adds it to the container.

◆ deactivateAttachments()

virtual void ml::FieldContainer::deactivateAttachments ( )
inlinevirtual

Disables notification handling, i.e., all fields of this module will not send notifications to attached sensors and fields anymore if their values are set or changed. This typically indicates that a field restore process (due to a module load or clone) has been started and many field values will be set. During that process, no field notifications are sent, i.e., handleNotification is not called. The process then is completed handled by the call of activateAttachments, which can be used to update the internal module state to the new field state. Note that the overloaded method has to be called; otherwise, notification handling is not deactivated correctly. See activateAttachments().

Definition at line 398 of file mlFieldContainer.h.

◆ getField() [1/2]

Field * ml::FieldContainer::getField ( const std::string & name) const

Returns the pointer to the field with name name. A warning is printed if not found and NULL is returned.

References Field.

◆ getField() [2/2]

Field * ml::FieldContainer::getField ( MLint index) const

Returns pointer of field at index if it exists. If not, -1 is returned.

References Field.

◆ getFieldIndex()

MLint ml::FieldContainer::getFieldIndex ( Field * field) const

Returns index of field if it exists. If not, -1 is returned.

References Field.

◆ getFieldStringValue()

std::string ml::FieldContainer::getFieldStringValue ( const std::string & name) const

Returns the string value of the field with name if it is found. Otherwise, a pointer to the empty temporary string "" is returned and a warning is printed.

◆ getNumFields()

size_t ml::FieldContainer::getNumFields ( ) const

Returns the number of added fields.

◆ handleNotificationInternal()

virtual void ml::FieldContainer::handleNotificationInternal ( Field * ,
FieldSensor::Strength  )
inlineprotectedvirtual

Called when field has changed.

Reimplemented in ml::Module.

Definition at line 417 of file mlFieldContainer.h.

References Field.

◆ hasField()

bool ml::FieldContainer::hasField ( const std::string & name) const

Returns true if the field with name name exists; otherwise, false is returned.

◆ setFieldStringValue()

void ml::FieldContainer::setFieldStringValue ( const std::string & name,
const std::string & value )

Sets the value of the field with name if it exists. Otherwise, a warning is printed.

◆ whoAmI()

std::string ml::FieldContainer::whoAmI ( bool withInstanceName = true) const

Returns the type and the instance name of format 'ClassTypeName(instanceName)' if the instance name is not empty and withInstanceName is true. If withInstanceName is false or no instance name exists, the name is returned in the format 'ModuleTypeName'.

◆ Field


The documentation for this class was generated from the following file: