185 EnumField(
const std::string& name,
const std::string enumerationItemNames[],
size_t numEnumerationItems);
194 EnumField(
const std::string& name,
const char*
const* enumerationItemNames,
size_t numEnumerationItems);
203 EnumField(
const std::string& name,
const std::vector<std::string> &enumerationItemNames);
291template <
typename EnumType>
308 void add(
const char* stringValue, EnumType value) {
309 _entries.emplace_back(stringValue,
static_cast<int>(value));
313 void add(
const std::string& stringValue, EnumType value) {
314 _entries.emplace_back(stringValue,
static_cast<int>(value));
338#define ML_ENUM_VALUE(enumValue) internal::createEnumEntry(#enumValue, enumValue)
342#define ML_EXTERNAL_ENUM_VALUE(enumClass, enumValue) internal::createEnumEntry(#enumValue, enumClass::enumValue)
346 template <
typename EnumType>
356template <
typename EnumType>
360 static_assert(
sizeof(std::underlying_type<EnumType>) <=
sizeof(int),
"The underlying type cannot be bigger than int!");
365 const std::vector<EnumField::EnumEntry>& entries = enumValues.
getEntries();
485 float _difference{0.02f};
773 template <
typename T>
779 template <
typename T>
784 template <
typename T>
804 template <
class Type>
808 template <
class Type>
820 std::vector<const RuntimeType*> _allowedTypes;
823 bool _unallowedType{};
825 bool _isRefCountedBase{};
1984 std::string _origString;
1988 std::string _strValue;
Base * getValue() const
Same as getBaseValue().
void setBaseValue(const RefCountedBasePtr &value)
Sets the value from intrusive pointer.
void setValue(Base *basePointerValue)
Same as setBaseValue(Base*).
BaseField(const std::string &name)
void setValue(const RefCountedBasePtr &value)
Same as setBaseValue(const RefCountedBasePtr&).
std::string getStringValue() const override
void setBaseValue(Base *basePointerValue)
Sets the value of the field to basePointerValue.
Base * getBaseValue() const
Returns current field value.
void setStringValue(const std::string &stringValue) override
Sets pointer value from string stringValue. If string cannot be parsed successfully,...
BaseField()=default
Implements the runtime type system interface for this class.
std::vector< const RuntimeType * > getAllowedTypes() const
Returns a list of allowed Base types for this field.
void setBaseValueAndAddAllowedType(const ::boost::intrusive_ptr< T > &value)
bool hasUnallowedType() const
void addAllowedType(const RuntimeType *allowedType)
void addAllowedType()
Same as above, with template parameter where the Base type can be specified directly.
~BaseField() override
Destructor.
Type getTypedBaseValue() const
Returns the typed value if the contained base object is derived from the given Type.
Type getTypedValue() const
Returns the typed value if the contained base object is derived from the given Type.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
virtual void touchSourceFields()
Touches the source fields.
void setBaseValueAndAddAllowedType(T *value)
void setBoolValue(bool boolValue)
Sets the field value to boolValue.
std::string getStringValue() const override
Returns the value of the field as string value.
bool getValue() const
Same as getBoolValue().
bool isOn() const
Returns the value of the field as a boolean.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void toggleValue()
Toggles the boolean field value.
void setStringValue(const std::string &value) override
Sets the value of the field to value.
BoolField(const std::string &name)
bool getBoolValue() const
Returns the value of the field as a boolean.
void setValue(bool boolValue)
Same as setBoolValue().
void updateValue(bool boolValue)
Same as updateBoolValue().
void updateBoolValue(bool boolValue)
BoolField()=default
Implements the runtime type system interface for this class.
void setColorValue(float r, float g, float b)
Sets the field value to r, g, and b.
ColorField()
Implements the runtime type system interface for this class.
void setPackedColorValue(MLuint32 rgba)
ColorField(const std::string &name)
const Vector3 & getColorValue() const
Returns the value of the field as a Vector3.
void updateColorValue(float r, float g, float b)
MLuint32 getPackedColorValue() const
void getColorValue(float &r, float &g, float &b) const
Returns the value of the field into the floats r, g, and b.
void setValueFromField(const Field &field) override
Reimplementation from Field, which copies the field value more efficiently.
void updateDoubleValue(double doubleValue)
double getDoubleValue() const
Returns the current field value.
DoubleField()=default
Implements the runtime type system interface for this class.
DoubleField(const std::string &name)
std::string getStringValue() const override
void setDoubleValue(double doubleValue)
Sets the field value to doubleValue. By default, the entire double type range can be set.
void setValue(double doubleValue)
Same as setDoubleValue().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void updateValue(double doubleValue)
Same as updateDoubleValue().
static void setValueCallback(void *field, double value)
Callback method that can be used as a MLRequestProgressCB to set the progress to the field.
double getValue() const
Same as getDoubleValue().
void setEnumValue(int enumValue)
Sets field value to enumValue.
void _setEnumerationNames(const std::vector< EnumField::EnumEntry > &enumValues, int initialValue)
Sets the enumeration item names.
void setStringValue(const std::string &value) override
std::vector< EnumEntry > _entries
Stores the possible enum values and names.
void _setEnumerationNames(const std::vector< std::string > &enumNames)
Sets the enumeration item names.
std::string getStringValue() const override
void updateEnumValue(int enumValue)
EnumField(const std::string &name, const char *const *enumerationItemNames, size_t numEnumerationItems)
EnumField(const std::string &name, const std::string enumerationItemNames[], size_t numEnumerationItems)
Implements the runtime type system interface for this class.
bool _linearEntries
Stores whether enum entry values start at 0 and increase by 1.
const EnumEntry & getEnumEntryAtIndex(size_t index) const
~EnumField() override=default
Destroys this field and releases internally allocated memory.
int _value
The field value; we use an integer to be compatible with normal enum types.
size_t getNumEnumerationItems() const
Returns the number of registered enum values defined in constructor.
void setStringValueDefaulted(const std::string &value)
void setValue(int enumValue)
Same as setEnumValue().
int getEnumValue() const
Returns the current enum value as integer.
void _setEnumerationNames(const std::string enumNames[])
Sets the enumeration item names.
void updateValue(int enumValue)
Same as updateEnumValue().
void _initialize(const std::string &name="", size_t numEnums=0)
Initializes this field.
void _setEnumerationNames(const char *const *enumNames)
Sets the enumeration item names.
EnumField()=default
Protected constructor to allow derived classes.
EnumField(const std::string &name, const std::vector< std::string > &enumerationItemNames)
int getValue() const
Same as getEnumValue().
const std::vector< EnumField::EnumEntry > & getEntries() const
Returns access to the collected list of enum entries.
void add(const Entry &value)
Adds an enum value via the given entry, typically created with the ML_ENUM_VALUE() macro.
void add(const std::string &stringValue, EnumType value)
Adds an enum value, manually passing in the name and value.
std::vector< EnumField::EnumEntry > _entries
EnumValues & operator<<(const Entry &value)
Adds an enum value via the given entry, typically created with the ML_ENUM_VALUE() macro.
void add(const char *stringValue, EnumType value)
Adds an enum value, manually passing in the name and value.
Strength
Enumeration type describing the strength of notifications.
@ CHANGED
Subject (i.e., the field) is notified and/or changed.
virtual std::string getStringValue() const =0
Field(const std::string &name=std::string())
Constructor: Creates a field with name.
virtual void setStringValue(const std::string &value)=0
std::string getStringValue() const override
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
float getFloatValue() const
Returns the value of the field.
void setFloatValue(float floatValue)
FloatField(const std::string &name)
float getValue() const
Same as getFloatValue().
void updateValue(float floatValue)
Same as updateFloatValue().
void updateFloatValue(float floatValue)
void setValue(float floatValue)
Same as setFloatValue().
float _value
The field value.
FloatField()=default
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
static void setValueCallback(void *field, double value)
Callback method that can be used as a MLRequestProgressCB to set the progress to the field.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void updateImageVectorValue(const ImageVector &imageVectorValue)
ImageVectorField()=default
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void setImageVectorValue(const ImageVector &imageVectorValue)
Sets the value of the field to imageVectorValue.
ImageVectorField(const std::string &name)
void setValue(const ImageVector &imageVectorValue)
Same as setImageVectorValue().
std::string getStringValue() const override
Returns the value of the field as a string value.
const ImageVector & getImageVectorValue() const
Returns the value of the field.
const ImageVector & getValue() const
Same as getImageVectorValue().
void updateValue(const ImageVector &imageVectorValue)
Same as updateImageVectorValue().
void setIntValue(MLint intValue)
Sets field value to intValue.
IntField(const std::string &name)
MLint getValue() const
Same as getIntValue().
void updateValue(MLint intValue)
Same as updateIntValue().
void setStringValue(const std::string &value) override
Sets value of the field to value.
MLint getIntValue() const
Returns the value of the field as an MLint.
std::string getStringValue() const override
void setValue(MLint intValue)
Same as setIntValue().
void updateIntValue(MLint intValue)
IntField()=default
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
MLDataType getMLDataTypeValue() const
Returns the value of the field.
MLDataTypeField(const std::string &name)
MLDataType getValue() const
Same as getMLDataTypeValue().
MLDataTypeField()=default
Implements the runtime type system interface for this class.
std::string getStringValue() const override
void setMLDataTypeValue(MLDataType dataType)
Sets the field value to data type dataType.
void setValue(MLDataType dataType)
Same as setMLDataTypeValue().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue. Invalid types set the type to MLint8Type.
void updateMatrix2Value(const Matrix2 &matrixValue)
void setMatrixValue(const Matrix2 &matrixValue)
Sets the value of the field to matrixValue.
const Matrix2 & getValue() const
Same as getMatrix2Value().
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void setStringValue(const std::string &stringValue) override
const Matrix2 & getMatrix2Value() const
Matrix2Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setValue(const Matrix2 &matrixValue)
Same as setMatrix2Value().
const Matrix2 & getMatrixValue() const
Returns the value of the field.
void updateValue(const Matrix2 &matrixValue)
Same as updateMatrix2Value().
std::string getStringValue() const override
void setMatrix2Value(const Matrix2 &matrixValue)
const Matrix3 & getMatrix3Value() const
void setStringValue(const std::string &stringValue) override
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
const Matrix3 & getValue() const
Same as getMatrix3Value().
void setValue(const Matrix3 &matrixValue)
Same as setMatrix3Value().
void setMatrixValue(const Matrix3 &matrixValue)
Sets the value of the field to matrixValue.
void updateValue(const Matrix3 &matrixValue)
Same as updateMatrix3Value().
Matrix3Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setMatrix3Value(const Matrix3 &matrixValue)
void updateMatrix3Value(const Matrix3 &matrixValue)
std::string getStringValue() const override
const Matrix3 & getMatrixValue() const
Returns the value of the field.
Matrix4Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setMatrix5Value(const Matrix5 &matrixValue)
void setMatrixValue(const Matrix5 &matrixValue)
Sets the value of the field to matrixValue.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
Matrix5Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setValue(const Matrix5 &matrixValue)
Same as setMatrix5Value().
const Matrix5 & getMatrix5Value() const
std::string getStringValue() const override
void updateValue(const Matrix5 &matrixValue)
Same as updateMatrix5Value().
const Matrix5 & getMatrixValue() const
Returns the value of the field.
void setStringValue(const std::string &stringValue) override
const Matrix5 & getValue() const
Same as getMatrix4Value().
void updateMatrix5Value(const Matrix5 &matrixValue)
void updateValue(const Matrix6 &matrixValue)
Same as updateMatrix6Value().
std::string getStringValue() const override
const Matrix6 & getValue() const
Same as getMatrix6Value().
Matrix6Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setValue(const Matrix6 &matrixValue)
Same as setMatrix6Value().
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void setMatrixValue(const Matrix6 &matrixValue)
Sets the value of the field to matrixValue.
const Matrix6 & getMatrix6Value() const
const Matrix6 & getMatrixValue() const
Returns the value of the field.
void updateMatrix6Value(const Matrix6 &matrixValue)
void setStringValue(const std::string &stringValue) override
void setMatrix6Value(const Matrix6 &matrixValue)
void setStringValue(const std::string &stringValue) override
const Matrix4 & getMatrixValue() const
Returns the value of the field.
void setValue(const Matrix4 &matrixValue)
Same as setMatrix4Value().
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void setMatrix4Value(const Matrix4 &matrixValue)
MatrixField(const std::string &name)
void updateMatrix4Value(const Matrix4 &matrixValue)
MatrixField()=default
Implements the runtime type system interface for this class.
const Matrix4 & getMatrix4Value() const
std::string getStringValue() const override
void setMatrixValue(const Matrix4 &matrixValue)
Sets the value of the field to matrixValue.
const Matrix4 & getValue() const
Same as getMatrix4Value().
void updateValue(const Matrix4 &matrixValue)
Same as updateMatrix4Value().
std::string getStringValue() const override
Returns an empty string, as the field has no value.
void setStringValue(const std::string &) override
void notify()
Calls touch() to notify connected sensors or fields.
NotifyField()
Implements the runtime type system interface for this class.
NotifyField(const std::string &name)
std::string getStringValue() const override
MLint isValidValue() override
Returns 1 if connector field contains a valid connector pointer.
OutputConnectorField()
Implements the runtime type system interface for this class.
OutputConnectorField(const std::string &name, Module *module, MLint outputImageIndex)
void setStringValue(const std::string &) override
void touch(FieldSensor::Strength strength=FieldSensor::CHANGED) override
OutputConnector & getOutputConnectorValue() const
Returns a reference to the OutputConnector.
~OutputConnectorField() override
Destroys the field.
void setPlaneValue(double f0, double f1, double f2, double f3)
Sets field value to f0, f1, f2, and f3.
void getPlaneValue(double &f0, double &f1, double &f2, double &f3) const
Returns the value of the field.
void setPlaneValue(const Plane &p)
Sets field value to p.
PlaneField(const std::string &name="")
Implements the runtime type system interface for this class.
Plane getPlaneValue() const
Returns the value of the field.
void getPlaneValue(Plane &plane) const
Returns the value of the field.
Class defining a plane in 3D.
void setStringValue(const std::string &stringValue) override
void * getPointerValue() const
Returns the value of the field.
std::string getStringValue() const override
void setValue(void *voidPointerValue)
Same as setPointerValue().
PointerField()=default
Implements the runtime type system interface for this class.
void * getValue() const
Same as getPointerValue().
void setPointerValue(void *voidPointerValue)
Sets the value of the field to voidPointerValue.
PointerField(const std::string &name)
void setProgressValue(float floatValue)
Same as setFloatValue().
void setValue(float floatValue)
Same as setFloatValue().
ProgressField(const std::string &name)
ProgressField()
Implements the runtime type system interface for this class.
void setFloatValue(float floatValue)
void setUpdateDifference(float epsilonValue)
float getProgressValue()
Same as getFloatValue().
RotationField(const std::string &name="")
Implements the runtime type system interface for this class.
Rotation getRotationValue() const
Returns the rotation value as a rotation class instance.
void setRotationValue(const Rotation &rot)
Sets the rotation value by a rotation instance.
void setRotationValue(const Vector3 &vec, double angle)
Sets the rotation as rotation axis and angle how much to rotate.
void getRotationValue(Vector3 &vec, double &angle) const
Returns the rotation as vector (axis) and rotation angle.
Class to handle Rotations (internally, the rotation is stored as a unit quaternion).
SoNode * getSoNodeValue() const
Returns the value of the field.
SoNodeField(const std::string &name)
void setSoNodeValue(SoNode *soNodeValue)
Sets the value of the field to soNodeValue.
void setValue(SoNode *soNodeValue)
Same as setSoNodeValue().
std::string getStringValue() const override
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
SoNodeField()=default
Implements the runtime type system interface for this class.
SoNode * getValue() const
Same as getSoNodeValue().
void setStringValue(const std::string &stringValue) override
Sets the field value from string to stringValue. On non-successful string parsing,...
std::string getStringValue() const override
std::string getValue() const
Same as getStringValue().
void updateStringValue(const std::string &stringValue)
StringField(const std::string &name)
void setStringValue(const std::string &stringValue) override
Sets value of the field to stringValue.
StringField()=default
Implements the runtime type system interface for this class.
void updateValue(const std::string &stringValue)
Same as updateStringValue().
void setValue(const std::string &stringValue)
Same as setStringValue().
void setValue(const SubImageBox &subImageBoxValue)
Same as setSubImageBoxValue().
SubImageBoxField(const std::string &name)
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
std::string getStringValue() const override
void updateSubImageBoxValue(const SubImageBox &subImageBoxValue)
const SubImageBox & getSubImageBoxValue() const
Returns the value of the field.
const SubImageBox & getValue() const
Same as getSubImageBoxValue().
void setSubImageBoxValue(const SubImageBox &subImageBoxValue)
Sets the value of the field to subImageBoxValue.
SubImageBoxField()=default
Implements the runtime type system interface for this class.
void updateValue(const SubImageBox &subImageBoxValue)
Same as updateSubImageBoxValue().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const SubImageBoxd & getSubImageBoxdValue() const
Returns the value of the field.
void updateSubImageBoxdValue(const SubImageBoxd &subImageBoxfValue)
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
const SubImageBoxd & getValue() const
Same as getSubImageBoxdValue().
void setValue(const SubImageBoxd &subImageBoxValue)
Same as setSubImageBoxdValue().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
std::string getStringValue() const override
SubImageBoxdField()=default
Implements the runtime type system interface for this class.
SubImageBoxdField(const std::string &name)
void updateValue(const SubImageBoxd &subImageBoxValue)
Same as updateSubImageBoxdValue().
void setSubImageBoxdValue(const SubImageBoxd &subImageBoxfValue)
Sets the value of the field to subImageBoxfValue.
static Tmat4< MLdouble > getIdentity()
void setValue(T *basePointerValue)
Sets the value of the field to basePointerValue.
void setValue(const ::boost::intrusive_ptr< T > &value)
Sets the value from intrusive pointer.
T * getValue() const
Returns the current field value.
TypedBaseField(const std::string &name)
Constructor; creates a field with a name to manage a typed Base pointer. Default value is NULL.
TypedEnumField(const std::string &name, const EnumValues< EnumType > &enumValues, EnumType initialValue)
Creates the TypedEnumField with given name, enumValues, and initialValue.
EnumType getEnumValue() const
Returns the current enum value.
void setEnumValue(EnumType enumValue)
Sets the current enum value and touches the field.
EnumType getValue() const
Same as getEnumValue().
void updateValue(EnumType enumValue)
Same as updateEnumValue().
void updateEnumValue(EnumType enumValue)
Sets the current enum value and only touches the field if the value has changed.
void setValue(EnumType enumValue)
Same as setEnumValue().
virtual void _updateIsValidAndTypeDataFromOrigString()
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
virtual void _updateIsValidAndStrValueFromTypeData()
virtual void setDataType(MLDataType dataType)
const MLTypeData * getValue() const
Same as getShortLivedUniversalTypeValue().
void setValue(const MLTypeData *typeData)
Same as setUniversalTypeValue().
void _updateFieldFromOrigString()
Combines the above methods, returns _origString on invalid data type, and touches the field.
MLint isValidValue() override
Returns true (=1) if field value is valid, otherwise false (=0).
virtual void setUniversalTypeValue(const MLTypeData *dataType)
Sets the value of the field to dataType. The passed data is copied.
virtual MLDataType getDataType() const
Returns the current data type of this field. Default is invalid, i.e., -1.
UniversalTypeField(const std::string &name="", MLDataType dt=-1)
Implements the runtime type system interface for this class.
std::string getStringValue() const override
~UniversalTypeField() override
Destructor, frees buffer for type data.
virtual MLldouble getValueCastToLDouble() const
Returns the current value of the field cast to MLldouble.
virtual const MLTypeData * getShortLivedUniversalTypeValue() const
virtual MLTypeData * getUniversalTypeValue() const
Vector10Field()=default
Implements the runtime type system interface for this class.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void setValue(const Vector10 &vectorValue)
Same as setVector10Value().
void setVectorValue(const Vector10 &vectorValue)
Sets the value of the field to vectorValue.
const Vector10 & getVectorValue() const
Returns the value of the field.
const Vector10 & getVector10Value() const
Returns the value of the field.
void setVector10Value(const Vector10 &vectorValue)
Sets the value of the field to vectorValue.
void updateValue(const Vector10 &vectorValue)
Same as updateVector10Value().
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
const Vector10 & getValue() const
Same as getVector10Value().
void updateVector10Value(const Vector10 &vectorValue)
Vector10Field(const std::string &name)
std::string getStringValue() const override
std::string getStringValue() const override
Returns the value of the field as a string value.
Vector2Field()=default
Implements the runtime type system interface for this class.
void setVectorValue(const Vector2 &vectorValue)
Sets the value of the field to vectorValue.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void updateValue(const Vector2 &vectorValue)
Same as updateVector2Value().
void setValue(const Vector2 &vectorValue)
Same as setVector2Value().
const Vector2 & getValue() const
Same as getVector2Value().
const Vector2 & getVectorValue() const
Returns the value of the field.
void updateVector2Value(const Vector2 &vectorValue)
const Vector2 & getVector2Value() const
Returns the value of the field.
Vector2Field(const std::string &name)
void setVector2Value(const Vector2 &vectorValue)
Sets the value of the field to vectorValue.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
Vector3Field()=default
Implements the runtime type system interface for this class.
const Vector3 & getVectorValue() const
Returns the value of the field.
void updateValue(const Vector3 &vectorValue)
Same as updateVector3Value().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const Vector3 & getVector3Value() const
Returns the value of the field.
void setVector3Value(const Vector3 &vectorValue)
Sets the value of the field to vectorValue.
Vector3Field(const std::string &name)
void updateVector3Value(const Vector3 &vectorValue)
const Vector3 & getValue() const
Same as getVector3Value().
void setVectorValue(const Vector3 &vectorValue)
Sets the value of the field to vectorValue.
void setValue(const Vector3 &vectorValue)
Same as setVector3Value().
std::string getStringValue() const override
Vector4Field()=default
Implements the runtime type system interface for this class.
std::string getStringValue() const override
void updateVector4Value(const Vector4 &vectorValue)
const Vector4 & getValue() const
Same as getVector4Value().
void setValue(const Vector4 &vectorValue)
Same as setVector4Value().
const Vector4 & getVectorValue() const
Returns the value of the field.
Vector4Field(const std::string &name)
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void setVectorValue(const Vector4 &vectorValue)
Sets the value of the field to vectorValue.
void setVector4Value(const Vector4 &vectorValue)
Sets the value of the field to vectorValue.
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void updateValue(const Vector4 &vectorValue)
Same as updateVector4Value().
const Vector4 & getVector4Value() const
Returns the value of the field.
void updateValue(const Vector5 &vectorValue)
Same as updateVector5Value().
Vector5Field()=default
Implements the runtime type system interface for this class.
std::string getStringValue() const override
const Vector5 & getValue() const
Same as getVector5Value().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const Vector5 & getVector5Value() const
Returns the value of the field.
void setVector5Value(const Vector5 &vectorValue)
Sets the value of the field to vectorValue.
const Vector5 & getVectorValue() const
Returns the value of the field.
Vector5Field(const std::string &name)
void setVectorValue(const Vector5 &vectorValue)
Sets the value of the field to vectorValue.
void updateVector5Value(const Vector5 &vectorValue)
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
void setValue(const Vector5 &vectorValue)
Same as setVector5Value().
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const Vector6 & getVectorValue() const
Returns the value of the field.
void setVectorValue(const Vector6 &vectorValue)
Sets the value of the field to vectorValue.
void updateValue(const Vector6 &vectorValue)
Same as updateVector6Value().
void updateVector6Value(const Vector6 &vectorValue)
void setVector6Value(const Vector6 &vectorValue)
Sets the value of the field to vectorValue.
const Vector6 & getVector6Value() const
Returns the value of the field.
void setValue(const Vector6 &vectorValue)
Same as setVector6Value().
std::string getStringValue() const override
Vector6Field()=default
Implements the runtime type system interface for this class.
Vector6Field(const std::string &name)
void setValueFromField(const Field &field) override
Reimplementation from Field that copies the field value more efficiently.
const Vector6 & getValue() const
Same as getVector6Value().
#define ML_ABSTRACT_CLASS_HEADER(className)
@ MLuint8Type
Enumerator for the unsigned 8-bit ML integer type.
ToTypePtr mlbase_cast(ml::Base *from)
Template function to allow type-safe casting of a base object to a derived object.
#define MLEXPORT
Code it as import symbol if compiled elsewhere.
#define ML_CLASS_HEADER(className)
unsigned char MLTypeData
This is the pointer type used to point to the data of MLType data instances.
EnumValues< EnumType >::Entry createEnumEntry(const char *value, EnumType enumValue)
Helper method to infer the EnumType via the function signature.
Tvec5< MLdouble > Vector5
A vector with five components of type double.
Tvec10< MLdouble > Vector10
A vector with ten components of type double.
Tvec4< MLdouble > Vector4
A vector with four components of type double.
Tmat4< MLdouble > Matrix4
The standard 4x4 matrix of type double.
Tvec3< MLdouble > Vector3
A vector with three components of type double.
Tmat2< MLdouble > Matrix2
The standard 2x2 matrix of type double.
Tvec6< MLdouble > Vector6
A vector with six components of type double.
Tvec2< MLdouble > Vector2
A vector with two components of type double.
Tmat3< MLdouble > Matrix3
The standard 3x3 matrix of type double.
TSubImageBox< MLint > SubImageBox
Defines the standard SubImageBox type used in the ML. Its size varies with the size of the MLint type...
TImageVector< MLint > ImageVector
Defines the standard ImageVector type that is used by the ML for indexing and coordinates.
Tmat5< MLdouble > Matrix5
The standard 5x5 matrix of type double.
Tmat6< MLdouble > Matrix6
The standard 6x6 matrix of type double.
MLEXPORT void MLInitFields()
Initialize all standard fields of the ML.
Defines the entry for one enum value.
EnumEntry(const std::string &sv, int v)
std::string stringValue
The string value of the entry.
int value
The enum value of the entry.
Defines the entry for one enum value.
EnumType value
The enum value of the entry.
const char * stringValue
The string value of the entry.
Entry(const char *sv, EnumType v)