ML Reference
mlFields.h File Reference
#include "mlInitSystemML.h"
#include "mlField.h"
#include "mlRuntimeSubClass.h"
#include "mlPlane.h"
#include "mlRotation.h"
#include "mlSubImageBoxd.h"
#include "mlRefCountedBase.h"
#include <type_traits>

Go to the source code of this file.

Classes

class  ml::BoolField
 Field to encapsulate a boolean value. More...
 
class  ml::IntField
 Field to encapsulate an integer value. More...
 
class  ml::EnumField
 Field to encapsulate an enumerated value. More...
 
struct  ml::EnumField::EnumEntry
 Defines the entry for one enum value. More...
 
class  ml::EnumValues< EnumType >
 Helper class that stores a list of typed enum values and their string names. More...
 
struct  ml::EnumValues< EnumType >::Entry
 Defines the entry for one enum value. More...
 
class  ml::TypedEnumField< EnumType >
 TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int. More...
 
class  ml::FloatField
 Field to encapsulate a float value. More...
 
class  ml::ProgressField
 Field to encapsulate an increasing float value from range [0,1]. More...
 
class  ml::DoubleField
 Field to encapsulate a double value. More...
 
class  ml::StringField
 Field to encapsulate a string value. More...
 
class  ml::NotifyField
 Field without value for notifications. More...
 
class  ml::OutputConnectorField
 Field to encapsulate a pointer to an output connector which represents a module output. More...
 
class  ml::InputConnectorField
 Field to encapsulate a pointer to an input connector which represents a module input. More...
 
class  ml::BaseField
 Field to encapsulate a pointer to an ML base object. More...
 
class  ml::TypedBaseField< T >
 Templated version of BaseField which only stores the template type as pointer. More...
 
class  ml::SoNodeField
 Field to encapsulate a pointer to an SoNode instance of OpenInventor. More...
 
class  ml::PointerField
 Field to encapsulate a void pointer to arbitrary data. More...
 
class  ml::Vector2Field
 Field to encapsulate a vector of 2 double values. More...
 
class  ml::Vector3Field
 Field to encapsulate a vector of 3 double values. More...
 
class  ml::Vector4Field
 Field to encapsulate a vector of 4 double values. More...
 
class  ml::Vector5Field
 Field to encapsulate a vector of 5 double values. More...
 
class  ml::Vector6Field
 Field to encapsulate a vector of 6 double values. More...
 
class  ml::Vector10Field
 Field to encapsulate a vector of 10 double values. More...
 
class  ml::ColorField
 Field to encapsulate a vector of 3 float values representing an (rgb) color with all properties of Vector3Field. More...
 
class  ml::Matrix2Field
 Field encapsulating a 2x2 matrix. More...
 
class  ml::Matrix3Field
 Field encapsulating a 3x3 matrix. More...
 
class  ml::MatrixField
 Field to encapsulate a 4x4 matrix, same as Matrix4Field for backward compatibility. More...
 
class  ml::Matrix4Field
 Field to encapsulate a 4x4 matrix. More...
 
class  ml::Matrix5Field
 Field encapsulating a 5x5 matrix. More...
 
class  ml::Matrix6Field
 Field encapsulating a 6x6 matrix. More...
 
class  ml::MLDataTypeField
 Field to encapsulate an MLDataType value. More...
 
class  ml::ImageVectorField
 Field to encapsulate an ML vector ImageVector with 6 integer components. More...
 
class  ml::SubImageBoxField
 Field to encapsulate an ML integer SubimgBox. More...
 
class  ml::SubImageBoxdField
 Field to encapsulate an ML double SubimgBox. More...
 
class  ml::UniversalTypeField
 Field to encapsulate any of the registered ML types. More...
 
class  ml::RotationField
 Field to encapsulate a vector of 4 double values representing a rotation with all properties of Vector4Field. More...
 
class  ml::PlaneField
 Field to encapsulate a vector of 4 double values representing a plane with all properties of Vector4Field. More...
 

Namespaces

namespace  ml
 Main documentation file for ML users and developers.
 
namespace  ml::internal
 

Macros

#define ML_ENUM_VALUE(enumValue)   internal::createEnumEntry(#enumValue, enumValue)
 This macro allows to create a enum name and value, using macro magic to create the string value.
 
#define ML_EXTERNAL_ENUM_VALUE(enumClass, enumValue)   internal::createEnumEntry(#enumValue, enumClass::enumValue)
 This macro allows to create a enum name and value for an enum that is part of another class.
 

Typedefs

typedef NotifyField ml::TriggerField
 TriggerField is an alias for the NotifyField, which is easier to find for Open Inventor users which are used to the "SoSFTrigger" field.
 

Functions

MLEXPORT void ml::MLInitFields ()
 Initialize all standard fields of the ML.
 
template<typename EnumType >
EnumValues< EnumType >::Entry ml::internal::createEnumEntry (const char *value, EnumType enumValue)
 Helper method to infer the EnumType via the function signature.
 

Macro Definition Documentation

◆ ML_ENUM_VALUE

#define ML_ENUM_VALUE ( enumValue)    internal::createEnumEntry(#enumValue, enumValue)

This macro allows to create a enum name and value, using macro magic to create the string value.

This avoids having typos in the enum values. Typically it is piped into an EnumValues<> array.

Definition at line 364 of file mlFields.h.

◆ ML_EXTERNAL_ENUM_VALUE

#define ML_EXTERNAL_ENUM_VALUE ( enumClass,
enumValue )   internal::createEnumEntry(#enumValue, enumClass::enumValue)

This macro allows to create a enum name and value for an enum that is part of another class.

This avoids having typos in the enum values.

Definition at line 368 of file mlFields.h.