ML Reference
ml::FieldContainer Class Reference

Defines the class FieldContainer to encapsulate a vector of fields for (see class Field). More...

#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
 Returns type and instance name of format "ClassTypeName(instanceName)" if the instance name is not empty and withInstanceName is true.
 
FieldaddField (const char *name, const char *type, const char *value)
 Adds a new field with name name, type type and value value (coded as string) to the container.
 
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)
 Creates an EnumField field with name and adds it to the container.
 
EnumFieldaddEnum (const char *name, const std::vector< std::string > &enumerationItemNames)
 Creates an EnumField field with name and adds it to the container.
 
template<typename EnumType >
TypedEnumField< EnumType > * addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue)
 Creates a TypedEnumField field with name and adds it to the container.
 
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)
 Creates a TriggerField field with name and adds it to the container.
 
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
 Returns the pointer to the field with name name.
 
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)
 Sets the value of the field with name if it exists.
 
std::string getFieldStringValue (const std::string &name) const
 Returns the string value of the field with name if it is found.
 
virtual void activateAttachments ()
 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.
 
virtual void deactivateAttachments ()
 Disables notification handling, i.e., all fields of this module will not send notifications to attached sensors and fields any more if their values are set or changed.
 
- Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
 
virtual ~Base ()
 Destructor.
 
virtual BasedeepCopy () const
 Set addStateToTree version number that can be accessed via getAddStateVersion()
 
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
 Check if this object's type is equal to or derived from one of the types given in the argument.
 
virtual bool isRefCountedBase () const
 Returns if the instance is derived from RefCountedBase.
 
virtual std::string detailString () const
 Return a string describing this object.
 
virtual bool implementsPersistence (PersistenceInterface) const
 Override this method to declare which persistence interfaces are implemented by your derived class.
 
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
 
virtual void setPersistentState (const std::string &state)
 Restores the object's internal state from a string that had been previously generated using persistentState().
 
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
 Write the objects state to the data stream object.
 
virtual void readFrom (AbstractPersistenceInputStream *, int)
 Read the objects state from the data stream object.
 

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 for (see class Field).

It is usually used as a parameter interface for the Module class. In its constructor a Module usually 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.

◆ addBase() [2/3]

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

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

◆ 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.

◆ 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 ml::BaseField::setBaseValueAndAddAllowedType().

◆ 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)
Creates an EnumField field with name and adds it to the container.
TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int...
Definition mlFields.h:384
#define ML_ENUM_VALUE(enumValue)
This macro allows to create a enum name and value, using macro magic to create the string value.
Definition mlFields.h:364

Definition at line 128 of file mlFieldContainer.h.

◆ 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 (coded 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 stays with the FieldContainer.

◆ addField() [2/2]

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

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

◆ 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.

◆ 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 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 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 any more if their values are set or changed.

This normally 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 by the call of activateAttachments which can be used to update the internal module state to the new field state then. 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.

◆ getField() [2/2]

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

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

◆ getFieldIndex()

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

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

◆ 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.

◆ 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 type and 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".

Friends And Related Symbol Documentation

◆ Field

friend class Field
friend

Definition at line 414 of file mlFieldContainer.h.


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