MeVisLab Toolbox Reference
mlFields.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #ifndef ML_FIELDS_H
14 #define ML_FIELDS_H
15 
20 
21 // ML-includes
22 #include "mlInitSystemML.h"
23 #include "mlField.h"
24 #include "mlRuntimeSubClass.h"
25 
26 #include "mlPlane.h"
27 #include "mlRotation.h"
28 #include "mlSubImageBoxd.h"
29 #include "mlRefCountedBase.h"
30 
31 #include <type_traits>
32 
34 // Inventor Nodes
35 class SoNode;
36 
38 
39 
40 ML_START_NAMESPACE
41 
42 #if ML_DEPRECATED_SINCE(3,5,0)
43 #define ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER ML_DEPRECATED
44 #endif
45 
47 class Module;
48 class OutputConnector;
49 class InputConnector;
51 
52 //-------------------------------------------------------------------------
54 //-------------------------------------------------------------------------
56 
57 //-------------------------------------------------------------------------
60 //-------------------------------------------------------------------------
61 class MLEXPORT BoolField : public Field
62 {
65 
66 
67 public:
68 
71 
74  BoolField(const std::string& name);
75 
77  void setStringValue(const std::string& value) override;
78 
80  void setBoolValue(bool boolValue);
81 
84  void updateBoolValue(bool boolValue);
85 
87  void toggleValue();
88 
90  std::string getStringValue() const override;
91 
93  bool getBoolValue() const;
94 
96  bool isOn() const;
97 
99  void setValue(bool boolValue) { setBoolValue(boolValue); }
100 
102  void updateValue(bool boolValue) { updateBoolValue(boolValue); }
103 
105  bool getValue() const { return getBoolValue(); }
106 
107 protected:
108 
110  void setValueFromField(const Field& field) override;
111 
112 private:
113 
115  bool* _valuePtr;
116 
118  bool _internalValue;
119 
121  void _initialize(const std::string& name="", bool* valuePtr=nullptr);
122 
123 #if ML_DEPRECATED_SINCE(3,5,0)
124 
127 
128 public:
129 
132  inline ML_DEPRECATED void switch_Value() { toggleValue(); }
134 
135 #endif
136 
137 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
138 
141 
142 public:
143 
146  BoolField(const std::string &name, bool *valuePtr);
147 
149 
150 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
151 
152 
153 };
154 
155 
156 //-------------------------------------------------------------------------
159 //-------------------------------------------------------------------------
160 class MLEXPORT IntField : public Field
161 {
164 
165 public:
166 
169 
172  IntField(const std::string& name);
173 
175  void setStringValue(const std::string& value) override;
176 
178  void setIntValue(MLint intValue);
179 
182  void updateIntValue(MLint intValue);
183 
187  std::string getStringValue() const override;
188 
191 
193  void setValue(MLint intValue) { setIntValue(intValue); }
194 
196  void updateValue(MLint intValue) { updateIntValue(intValue); }
197 
199  MLint getValue() const { return getIntValue(); }
200 
201 protected:
202 
204  void setValueFromField(const Field& field) override;
205 
206 private:
207 
209  MLintPtr _valuePtr;
210 
212  MLint _internalValue;
213 
215  void _initialize(const std::string& name="", MLintPtr valuePtr=nullptr);
216 
219  MLint _minValue;
222  MLint _maxValue;
223 
224 #if ML_DEPRECATED_SINCE(3,5,0)
225 
228 
229 public:
230 
233  ML_DEPRECATED void setIntMaxValue(MLint maxValue);
236  ML_DEPRECATED MLint getIntMaxValue() const;
239  ML_DEPRECATED void setIntMinValue(MLint minValue);
242  ML_DEPRECATED MLint getIntMinValue() const;
244 
245 #endif
246 
247 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
248 
251 
252 public:
253 
256  IntField(const std::string &name, MLintPtr valuePtr);
257 
259 
260 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
261 
262 };
263 
264 #if ML_DEPRECATED_SINCE(3,5,0)
265 //-------------------------------------------------------------------------
269 //-------------------------------------------------------------------------
270 class MLEXPORT ML_DEPRECATED ToggleField : public Field
271 {
273  ML_CLASS_HEADER(ToggleField)
274 
275 public:
276 
278  ToggleField();
279 
284  ToggleField(const std::string& name);
285 
287  void setStringValue(const std::string& value) override;
288 
290  void setIntValue(int intValue);
291 
293  void setToggleValue(bool b);
294 
297  void toggleValue();
298 
301  std::string getStringValue() const override;
302 
304  int getIntValue() const;
305 
307  bool isOn() const;
308 
309 protected:
310 
312  void setValueFromField(const Field& field) override;
313 
314 private:
315 
317  int* _valuePtr;
318 
320  int _internalValue;
321 
323  void _initialize(const std::string& name="", int* valuePtr=nullptr);
324 
325 #if ML_DEPRECATED_SINCE(3,5,0)
326 
329 
330 public:
331 
334  ML_DEPRECATED void switch_Value();
336 
337 #endif
338 
339 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
340 
343 
344 public:
345 
348  ToggleField(const std::string &name, int* valuePtr);
349 
351 
352 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
353 
354 };
355 
356 #endif
357 
358 //-------------------------------------------------------------------------
361 //-------------------------------------------------------------------------
362 class MLEXPORT EnumField : public Field
363 {
366 
367 public:
375  EnumField(const std::string& name, const std::string enumerationItemNames[], size_t numEnumerationItems);
376 
384  EnumField(const std::string& name, const char* const* enumerationItemNames, size_t numEnumerationItems);
385 
393  EnumField(const std::string& name, const std::vector<std::string> &enumerationItemNames);
394 
396  ~EnumField() override;
397 
401  void setStringValue(const std::string& value) override;
402 
405  void setStringValueDefaulted(const std::string& value);
406 
408  void setEnumValue(int enumValue);
409 
412  void updateEnumValue(int enumValue);
413 
417  std::string getStringValue() const override;
418 
420  int getEnumValue() const;
421 
423  struct EnumEntry {
424  EnumEntry():value(-1) {}
425  EnumEntry(const std::string& sv, int v) : stringValue(sv), value(v) { }
426 
428  std::string stringValue;
430  int value;
431  };
432 
437  const EnumEntry& getEnumEntryAtIndex(size_t index) const;
438 
440  size_t getNumEnumerationItems() const;
441 
443  void setValue(int enumValue) { setEnumValue(enumValue); }
444 
446  void updateValue(int enumValue) { updateEnumValue(enumValue); }
447 
449  int getValue() const { return getEnumValue(); }
450 
451 protected:
452 
454  void _initialize(const std::string& name="", size_t numEnums=0, int* valuePtr=nullptr);
455 
457  void _setEnumerationNames(const std::string enumNames[]);
459  void _setEnumerationNames(const char* const* enumNames);
461  void _setEnumerationNames(const std::vector<std::string> &enumNames);
463  void _setEnumerationNames(const std::vector<EnumField::EnumEntry>& enumValues, int initialValue);
464 
467  int* _valuePtr;
468 
471 
474 
476  std::vector<EnumEntry> _entries;
477 
478 protected:
480  EnumField() {};
481 
482 #if ML_DEPRECATED_SINCE(3,5,0)
483 
486 
487 public:
488 
491  inline ML_DEPRECATED size_t getEnumNum() const { return getNumEnumerationItems(); }
492 
494 
495 #endif
496 
497 
498 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
499 
502 
503 public:
504 
507  EnumField(const std::string &name, const std::string enumNames[], size_t enumNum, int *valuePtr);
508 
511  EnumField(const std::string &name, const char* const* enumNames, size_t enumNum, int *valuePtr);
512 
519  const char* getStringValue(size_t index) const;
520 
522 
523 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
524 
525 };
526 
529 template <typename EnumType>
531 {
532 public:
534  struct Entry {
535  Entry():stringValue(nullptr), value(-1) {}
536  Entry(const char* sv, EnumType v) : stringValue(sv), value(v) { }
537 
539  const char* stringValue;
541  EnumType value;
542  };
543 
544 public:
546  void add(const char* stringValue, EnumType value) {
547  _entries.push_back(EnumField::EnumEntry(stringValue, static_cast<int>(value)));
548  }
549 
551  void add(const std::string& stringValue, EnumType value) {
552  _entries.push_back(EnumField::EnumEntry(stringValue, static_cast<int>(value)));
553  }
554 
556  void add(const Entry& value) {
557  _entries.push_back(EnumField::EnumEntry(value.stringValue, static_cast<int>(value.value)));
558  }
559 
561  EnumValues& operator<<(const Entry& value) {
562  add(value);
563  return *this;
564  }
565 
567  const std::vector<EnumField::EnumEntry>& getEntries() const { return _entries; }
568 
569 protected:
570  std::vector<EnumField::EnumEntry> _entries;
571 };
572 
576 #define ML_ENUM_VALUE(enumValue) internal::createEnumEntry(#enumValue, enumValue)
577 
580 #define ML_EXTERNAL_ENUM_VALUE(enumClass, enumValue) internal::createEnumEntry(#enumValue, enumClass::enumValue)
581 
582 namespace internal {
584  template <typename EnumType>
585  inline typename EnumValues<EnumType>::Entry createEnumEntry(const char* value, EnumType enumValue) {
586  return typename EnumValues<EnumType>::Entry(value, enumValue);
587  }
588 }
589 
590 //-------------------------------------------------------------------------
593 //-------------------------------------------------------------------------
594 template <typename EnumType>
595 class TypedEnumField : public EnumField
596 {
597 public:
598  static_assert(sizeof(std::underlying_type<EnumType>) <= sizeof(int), "The underlying type cannot be bigger than int!");
599 
601  TypedEnumField(const std::string& name, const EnumValues<EnumType>& enumValues, EnumType initialValue) : EnumField()
602  {
603  const std::vector<EnumField::EnumEntry>& entries = enumValues.getEntries();
604  _initialize(name, entries.size());
605  _setEnumerationNames(entries, static_cast<int>(initialValue));
606  }
607 
609  EnumType getEnumValue() const { return static_cast<EnumType>(EnumField::getEnumValue()); }
611  void setEnumValue(EnumType enumValue) { EnumField::setEnumValue(static_cast<int>(enumValue)); }
613  void updateEnumValue(EnumType enumValue) { EnumField::updateEnumValue(static_cast<int>(enumValue)); }
615  EnumType getValue() const { return getEnumValue(); }
617  void setValue(EnumType enumValue) { setEnumValue(enumValue); }
619  void updateValue(EnumType enumValue) { updateEnumValue(enumValue); }
620 };
621 
622 //-------------------------------------------------------------------------
625 //-------------------------------------------------------------------------
626 class MLEXPORT FloatField : public Field
627 {
630 
631 public:
632 
635 
638  FloatField(const std::string& name);
639 
641  void setStringValue(const std::string& stringValue) override;
642 
645  void setFloatValue(float floatValue);
646 
651  void updateFloatValue(float floatValue);
652 
655  std::string getStringValue() const override;
656 
658  float getFloatValue() const;
659 
661  void setValue(float floatValue) { setFloatValue(floatValue); }
662 
664  void updateValue(float floatValue) { updateFloatValue(floatValue); }
665 
667  float getValue() const { return getFloatValue(); }
668 
670  static void setValueCallback(void* field, double value);
671 
672 protected:
674  void setValueFromField(const Field& field) override;
675 
677  void _initialize(const std::string& name="", float* valuePtr=nullptr);
678 
679 
681  float* _valuePtr;
682 
685 
688  float _minValue;
691  float _maxValue;
692 
693 #if ML_DEPRECATED_SINCE(3,5,0)
694 
697 
698 public:
699 
702  ML_DEPRECATED void setFloatMaxValue(float maxValue);
705  ML_DEPRECATED float getFloatMaxValue() const;
708  ML_DEPRECATED void setFloatMinValue(float minValue);
711  ML_DEPRECATED float getFloatMinValue() const;
712 
714 
715 #endif
716 
717 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
718 
721 
722 public:
723 
726  FloatField(const std::string& name, float *valuePtr);
727 
729 
730 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
731 
732 
733 };
734 
735 
736 //-------------------------------------------------------------------------
742 //-------------------------------------------------------------------------
744 {
747 
748 public:
749 
752 
757  ProgressField(const std::string& name);
758 
761  void setFloatValue(float floatValue);
762 
764  void setProgressValue(float floatValue);
765 
767  inline float getProgressValue() { return getFloatValue(); }
768 
771  void setUpdateDifference(float epsilonValue);
772 
774  void setValue(float floatValue) { setFloatValue(floatValue); }
775 
776 private:
778  float _difference;
779 
781  void _initialize();
782 
783 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
784 
787 
788 public:
789 
792  ProgressField(const std::string& name, float *valuePtr);
793 
795 
796 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
797 
798 };
799 
800 
801 //-------------------------------------------------------------------------
804 //-------------------------------------------------------------------------
805 class MLEXPORT DoubleField : public Field
806 {
809 
810 
811 public:
812 
815 
818  DoubleField(const std::string& name);
819 
821  void setStringValue(const std::string& stringValue) override;
822 
824  void setDoubleValue(double doubleValue);
825 
830  void updateDoubleValue(double doubleValue);
831 
834  std::string getStringValue() const override;
835 
837  double getDoubleValue() const;
838 
840  void setValue(double doubleValue) { setDoubleValue(doubleValue); }
841 
843  void updateValue(double doubleValue) { updateDoubleValue(doubleValue); }
844 
846  double getValue() const { return getDoubleValue(); }
847 
849  static void setValueCallback(void* field, double value);
850 
851 protected:
853  void setValueFromField(const Field& field) override;
854 
855 private:
857  double* _valuePtr;
858 
860  double _internalValue;
861 
863  void _initialize(const std::string& name="", double* valuePtr=nullptr);
864 
867  double _minValue;
870  double _maxValue;
871 
872 #if ML_DEPRECATED_SINCE(3,5,0)
873 
876 
877 public:
878 
881  ML_DEPRECATED void setDoubleMaxValue(double maxValue);
884  ML_DEPRECATED double getDoubleMaxValue() const;
887  ML_DEPRECATED void setDoubleMinValue(double minValue);
890  ML_DEPRECATED double getDoubleMinValue() const;
891 
893 
894 #endif
895 
896 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
897 
900 
901 public:
902 
905  DoubleField(const std::string& name, double *valuePtr);
906 
908 
909 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
910 
911 };
912 
913 #if ML_DEPRECATED_SINCE(3,5,0)
914 
915 //-------------------------------------------------------------------------
919 //-------------------------------------------------------------------------
920 class MLEXPORT ML_DEPRECATED LongDoubleField : public Field
921 {
923  ML_CLASS_HEADER(LongDoubleField)
924 
925 public:
926 
927  // Default constructor, do not use it.
928  LongDoubleField();
929 
932  LongDoubleField(const std::string& name);
933 
935  void setStringValue(const std::string& stringValue) override;
936 
939  void setLongDoubleValue(MLldouble longDoubleValue);
940 
943  std::string getStringValue() const override;
944 
946  MLldouble getLongDoubleValue() const;
947 
949  void setValue(MLldouble longDoubleValue);
950 
952  MLldouble getValue() const;
953 
954 protected:
956  void setValueFromField(const Field& field) override;
957 
958 private:
960  MLldouble _value;
961 
963  void _initialize(const std::string& name="");
964 
967  MLldouble _minValue;
970  MLldouble _maxValue;
971 
974 
975 public:
976 
979  ML_DEPRECATED void setLongDoubleMaxValue(MLldouble maxValue);
982  ML_DEPRECATED MLldouble getLongDoubleMaxValue() const;
985  ML_DEPRECATED void setLongDoubleMinValue(MLldouble minValue);
988  ML_DEPRECATED MLldouble getLongDoubleMinValue() const;
990 
991 };
992 
993 #endif
994 
995 //-------------------------------------------------------------------------
998 //-------------------------------------------------------------------------
999 class MLEXPORT StringField : public Field
1000 {
1003 
1004 
1005 public:
1006 
1009 
1012  StringField(const std::string& name);
1013 
1015  void setStringValue(const std::string& stringValue) override;
1016 
1019  void updateStringValue(const std::string& stringValue);
1020 
1023  std::string getStringValue() const override;
1024 
1026  void setValue(const std::string& stringValue) { setStringValue(stringValue); }
1027 
1029  void updateValue(const std::string& stringValue) { updateStringValue(stringValue); }
1030 
1032  std::string getValue() const { return getStringValue(); }
1033 
1034 private:
1037  std::string _value;
1038 
1040  void _initialize(const std::string& name="");
1041 };
1042 
1043 
1044 //-------------------------------------------------------------------------
1047 //-------------------------------------------------------------------------
1049 {
1052 
1053 public:
1054 
1057 
1061  NotifyField(const std::string& name);
1062 
1065  void setStringValue(const std::string& /*value*/) override;
1066 
1068  std::string getStringValue() const override;
1069 
1071  void notify();
1072 
1073 };
1074 
1078 
1079 //-------------------------------------------------------------------------
1083 //-------------------------------------------------------------------------
1085 {
1088 
1089 public:
1090 
1093 
1096  OutputConnectorField(const std::string& name, Module* module, MLint outputImageIndex);
1097 
1100 
1104  void setStringValue(const std::string& /*value*/) override;
1105 
1109  void touch(FieldSensor::Strength strength=FieldSensor::CHANGED) override;
1110 
1115  std::string getStringValue() const override;
1116 
1119 
1121  MLint isValidValue() override;
1122 
1123 
1124 private:
1125 
1127  OutputConnector* _valuePtr;
1128 
1130  void _initialize();
1131 };
1132 
1133 
1134 //-------------------------------------------------------------------------
1138 //-------------------------------------------------------------------------
1140 {
1143 
1144 public:
1145 
1148 
1153  InputConnectorField(const std::string& name, Module* module, MLint inputImageIndex);
1154 
1157 
1161  void setStringValue(const std::string& /*value*/) override;
1162 
1165  std::string getStringValue() const override;
1166 
1169 
1171  MLint isValidValue() override;
1172 
1173 private:
1175  InputConnector* _valuePtr;
1176 
1178  void _initialize();
1179 };
1180 
1181 
1182 //-------------------------------------------------------------------------
1185 //-------------------------------------------------------------------------
1186 class MLEXPORT BaseField : public Field
1187 {
1190 
1191 public:
1192 
1195 
1198  BaseField(const std::string& name);
1199 
1201  ~BaseField() override;
1202 
1204  void setStringValue(const std::string& stringValue) override;
1205 
1207  void setBaseValue(Base* basePointerValue);
1208 
1210  void setBaseValue(const RefCountedBasePtr& value);
1211 
1215  std::string getStringValue() const override;
1216 
1218  Base* getBaseValue() const;
1219 
1221  virtual void touchSourceFields (void);
1222 
1228  void addAllowedType(const RuntimeType* allowedType);
1229 
1231  template <typename T>
1232  void addAllowedType() { addAllowedType(T::getClassTypeId()); }
1233 
1237  template <typename T>
1238  void setBaseValueAndAddAllowedType(T* value) { addAllowedType(value->getClassTypeId()); setBaseValue(value); }
1239 
1242  template <typename T>
1243  void setBaseValueAndAddAllowedType(const ::boost::intrusive_ptr<T>& value) { setBaseValueAndAddAllowedType(value.get()); }
1244 
1246  std::vector<const RuntimeType*> getAllowedTypes() const { return _allowedTypes; }
1247 
1250  bool hasUnallowedType() const { return _unallowedType; }
1251 
1253  void setValue(Base* basePointerValue) { setBaseValue(basePointerValue); }
1254 
1256  void setValue(const RefCountedBasePtr& value) { setBaseValue(value); }
1257 
1259  Base* getValue() const { return getBaseValue(); }
1260 
1262  template <class Type>
1263  Type getTypedValue() const { return mlbase_cast<Type>(getValue()); }
1264 
1266  template <class Type>
1267  Type getTypedBaseValue() const { return mlbase_cast<Type>(getValue()); }
1268 
1269 protected:
1271  void setValueFromField(const Field& field) override;
1272 
1273 private:
1275  Base* _value;
1276 
1278  std::vector<const RuntimeType*> _allowedTypes;
1279 
1281  bool _unallowedType;
1283  bool _isRefCountedBase;
1284 
1286  void _initialize(const std::string& name="");
1287 
1288 };
1289 
1290 //-------------------------------------------------------------------------
1293 //-------------------------------------------------------------------------
1294 
1295 template<class T>
1297 {
1298 public:
1300  TypedBaseField(const std::string& name) : BaseField(name) { BaseField::addAllowedType<T>(); }
1301 
1303  void setValue(T* basePointerValue) { setBaseValue(basePointerValue); }
1304 
1306  void setValue(const ::boost::intrusive_ptr<T>& value) { setValue(value.get()); }
1307 
1309  T* getValue() const { return getTypedValue<T*>(); }
1310 
1311 private:
1313  void addAllowedType() {}
1315  void setBaseValueAndAddAllowedType() {}
1316 };
1317 
1318 
1319 //-------------------------------------------------------------------------
1325 //-------------------------------------------------------------------------
1327 {
1330 
1331 public:
1332 
1335 
1338  SoNodeField(const std::string& name);
1339 
1341  void setStringValue(const std::string& stringValue) override;
1342 
1344  void setSoNodeValue(SoNode* soNodeValue);
1345 
1349  std::string getStringValue() const override;
1350 
1352  SoNode* getSoNodeValue() const;
1353 
1355  void setValue(SoNode* soNodeValue) { setSoNodeValue(soNodeValue); }
1356 
1358  SoNode* getValue() const { return getSoNodeValue(); }
1359 
1360 protected:
1362  void setValueFromField(const Field& field) override;
1363 
1364 private:
1366  SoNode* _internalValue;
1367 
1369  void _initialize(const std::string& name="");
1370 };
1371 
1372 
1373 //-------------------------------------------------------------------------
1380 //-------------------------------------------------------------------------
1382 {
1385 
1386 public:
1387 
1390 
1393  PointerField(const std::string& name);
1394 
1397  void setStringValue(const std::string& stringValue) override;
1398 
1400  void setPointerValue(void* voidPointerValue);
1401 
1404  std::string getStringValue() const override;
1405 
1407  void* getPointerValue() const;
1408 
1410  void setValue(void* voidPointerValue) { setPointerValue(voidPointerValue); }
1411 
1413  void* getValue() const { return getPointerValue(); }
1414 
1415 private:
1417  void* _valuePtr;
1418 
1420  void _initialize(const std::string& name="");
1421 };
1422 
1423 //-------------------------------------------------------------------------
1426 //-------------------------------------------------------------------------
1428 {
1431 
1432 public:
1433 
1436 
1439  Vector2Field(const std::string& name);
1440 
1442  void setStringValue(const std::string& stringValue) override;
1443 
1445  void setVector2Value(const Vector2& vectorValue);
1446 
1450  void updateVector2Value(const Vector2& vectorValue);
1451 
1453  inline void setVectorValue(const Vector2& vectorValue) { setVector2Value(vectorValue); }
1454 
1456  std::string getStringValue() const override;
1457 
1459  const Vector2& getVector2Value() const;
1460 
1462  inline const Vector2& getVectorValue() const { return getVector2Value(); }
1463 
1465  void setValue(const Vector2& vectorValue) { setVector2Value(vectorValue); }
1466 
1468  void updateValue(const Vector2& vectorValue) { updateVector2Value(vectorValue); }
1469 
1471  const Vector2& getValue() const { return getVector2Value(); }
1472 
1473 protected:
1475  void setValueFromField(const Field& field) override;
1476 
1477 private:
1479  Vector2* _valuePtr;
1480 
1482  Vector2 _internalValue;
1483 
1485  void _initialize(const std::string& name="", Vector2* valuePtr=nullptr);
1486 
1487 
1488 #if ML_DEPRECATED_SINCE(3,5,0)
1489 
1492 
1493 public:
1494 
1497  inline ML_DEPRECATED void setVec2fValue(const Vector2& value) { setVector2Value(value); }
1500  inline ML_DEPRECATED const Vector2& getVec2fValue() const { return getVector2Value(); }
1501 
1503 
1504 #endif
1505 
1506 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1507 
1510 
1511 public:
1512 
1515  Vector2Field(const std::string& name, Vector2* valuePtr);
1516 
1518 
1519 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1520 
1521 
1522 };
1523 
1524 #if ML_DEPRECATED_SINCE(3,5,0)
1529 ML_DEPRECATED typedef Vector2Field Vec2fField;
1531 #endif
1532 
1533 //-------------------------------------------------------------------------
1536 //-------------------------------------------------------------------------
1538 {
1541 
1542 public:
1543 
1546 
1549  Vector3Field(const std::string& name);
1550 
1552  void setStringValue(const std::string& stringValue) override;
1553 
1555  void setVector3Value(const Vector3& vectorValue);
1556 
1560  void updateVector3Value(const Vector3& vectorValue);
1561 
1563  inline void setVectorValue(const Vector3& vectorValue) { setVector3Value(vectorValue); }
1564 
1568  std::string getStringValue() const override;
1569 
1571  const Vector3& getVector3Value() const;
1572 
1574  inline const Vector3& getVectorValue() const { return getVector3Value(); }
1575 
1577  void setValue(const Vector3& vectorValue) { setVector3Value(vectorValue); }
1578 
1580  void updateValue(const Vector3& vectorValue) { updateVector3Value(vectorValue); }
1581 
1583  const Vector3& getValue() const { return getVector3Value(); }
1584 
1585 
1586 protected:
1588  void setValueFromField(const Field& field) override;
1589 
1590 private:
1592  Vector3* _valuePtr;
1593 
1595  Vector3 _internalValue;
1596 
1598  void _initialize(const std::string& name="", Vector3* valuePtr=nullptr);
1599 
1600 
1601 #if ML_DEPRECATED_SINCE(3,5,0)
1602 
1605 
1606 public:
1609  inline ML_DEPRECATED void setVec3fValue(const Vector3& value) { setVector3Value(value); }
1612  inline ML_DEPRECATED const Vector3& getVec3fValue() const { return getVector3Value(); }
1613 
1615 
1616 #endif
1617 
1618 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1619 
1622 
1623 public:
1624 
1627  Vector3Field(const std::string& name, Vector3* valuePtr);
1628 
1630 
1631 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1632 
1633 };
1634 
1635 #if ML_DEPRECATED_SINCE(3,5,0)
1640 ML_DEPRECATED typedef Vector3Field Vec3fField;
1642 #endif
1643 
1644 
1645 //-------------------------------------------------------------------------
1648 //-------------------------------------------------------------------------
1650 {
1653 
1654 public:
1655 
1658 
1661  Vector4Field(const std::string& name);
1662 
1664  void setStringValue(const std::string& stringValue) override;
1665 
1667  void setVector4Value(const Vector4& vectorValue);
1668 
1672  void updateVector4Value(const Vector4& vectorValue);
1673 
1675  inline void setVectorValue(const Vector4& vectorValue) { setVector4Value(vectorValue); }
1676 
1677 
1681  std::string getStringValue() const override;
1682 
1684  const Vector4& getVector4Value() const;
1685 
1687  inline const Vector4& getVectorValue() const { return getVector4Value(); }
1688 
1690  void setValue(const Vector4& vectorValue) { setVector4Value(vectorValue); }
1691 
1693  void updateValue(const Vector4& vectorValue) { updateVector4Value(vectorValue); }
1694 
1696  const Vector4& getValue() const { return getVector4Value(); }
1697 
1698 protected:
1700  void setValueFromField(const Field& field) override;
1701 
1702 private:
1704  Vector4* _valuePtr;
1705 
1707  Vector4 _internalValue;
1708 
1710  void _initialize(const std::string& name="", Vector4* valuePtr=nullptr);
1711 
1712 
1713 #if ML_DEPRECATED_SINCE(3,5,0)
1714 
1717 
1718 public:
1721  inline ML_DEPRECATED void setVec4fValue(const Vector4& value) { setVector4Value(value); }
1724  inline ML_DEPRECATED const Vector4& getVec4fValue() const { return getVector4Value(); }
1725 
1727 
1728 #endif
1729 
1730 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1731 
1734 
1735 public:
1736 
1739  Vector4Field(const std::string& name, Vector4* valuePtr);
1740 
1742 
1743 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1744 
1745 };
1746 
1747 #if ML_DEPRECATED_SINCE(3,5,0)
1752 ML_DEPRECATED typedef Vector4Field Vec4fField;
1754 #endif
1755 
1756 
1757 //-------------------------------------------------------------------------
1760 //-------------------------------------------------------------------------
1762 {
1765 
1766 
1767 public:
1768 
1771 
1774  Vector5Field(const std::string& name);
1775 
1777  void setStringValue(const std::string& stringValue) override;
1778 
1780  void setVector5Value(const Vector5& vectorValue);
1781 
1785  void updateVector5Value(const Vector5& vectorValue);
1786 
1788  inline void setVectorValue(const Vector5& vectorValue) { setVector5Value(vectorValue); }
1789 
1793  std::string getStringValue() const override;
1794 
1796  const Vector5& getVector5Value() const;
1797 
1799  inline const Vector5& getVectorValue() const { return getVector5Value(); }
1800 
1802  void setValue(const Vector5& vectorValue) { setVector5Value(vectorValue); }
1803 
1805  void updateValue(const Vector5& vectorValue) { updateVector5Value(vectorValue); }
1806 
1808  const Vector5& getValue() const { return getVector5Value(); }
1809 
1810 protected:
1812  void setValueFromField(const Field& field) override;
1813 
1814 private:
1816  Vector5 _value;
1817 
1819  void _initialize(const std::string& name="");
1820 
1821 
1822 #if ML_DEPRECATED_SINCE(3,5,0)
1823 
1826 
1827 public:
1828 
1831  inline ML_DEPRECATED void setVec5fValue(const Vector5& value) { setVector5Value(value); }
1834  inline ML_DEPRECATED const Vector5& getVec5fValue() const { return getVector5Value(); }
1835 
1837 
1838 #endif
1839 
1840 };
1841 
1842 #if ML_DEPRECATED_SINCE(3,5,0)
1847 ML_DEPRECATED typedef Vector5Field Vec5fField;
1849 #endif
1850 
1851 
1852 //-------------------------------------------------------------------------
1855 //-------------------------------------------------------------------------
1857 {
1860 
1861 
1862 public:
1863 
1866 
1869  Vector6Field(const std::string& name);
1870 
1872  void setStringValue(const std::string& stringValue) override;
1873 
1875  void setVector6Value(const Vector6& vectorValue);
1876 
1880  void updateVector6Value(const Vector6& vectorValue);
1881 
1883  inline void setVectorValue(const Vector6& vectorValue) { setVector6Value(vectorValue); }
1884 
1888  std::string getStringValue() const override;
1889 
1891  const Vector6& getVector6Value() const;
1892 
1894  inline const Vector6& getVectorValue() const { return getVector6Value(); }
1895 
1897  void setValue(const Vector6& vectorValue) { setVector6Value(vectorValue); }
1898 
1900  void updateValue(const Vector6& vectorValue) { updateVector6Value(vectorValue); }
1901 
1903  const Vector6& getValue() const { return getVector6Value(); }
1904 
1905 protected:
1907  void setValueFromField(const Field& field) override;
1908 
1909 private:
1911  Vector6* _valuePtr;
1912 
1914  Vector6 _internalValue;
1915 
1917  void _initialize(const std::string& name="", Vector6* valuePtr=nullptr);
1918 
1919 #if ML_DEPRECATED_SINCE(3,5,0)
1920 
1923 
1924 public:
1925 
1928  inline ML_DEPRECATED void setVec6fValue(const Vector6& value) { setVector6Value(value); }
1931  inline ML_DEPRECATED const Vector6& getVec6fValue() const { return getVector6Value(); }
1932 
1934 
1935 #endif
1936 
1937 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1938 
1941 
1942 public:
1943 
1946  Vector6Field(const std::string& name, Vector6* valuePtr);
1947 
1949 
1950 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
1951 
1952 };
1953 
1954 #if ML_DEPRECATED_SINCE(3,5,0)
1959 ML_DEPRECATED typedef Vector6Field Vec6fField;
1961 #endif
1962 
1963 
1964 //-------------------------------------------------------------------------
1967 //-------------------------------------------------------------------------
1969 {
1972 
1973 
1974 public:
1975 
1978 
1981  Vector10Field(const std::string& name);
1982 
1984  void setStringValue(const std::string& stringValue) override;
1985 
1987  void setVector10Value(const Vector10& vectorValue);
1988 
1992  void updateVector10Value(const Vector10& vectorValue);
1993 
1995  inline void setVectorValue(const Vector10& vectorValue) { setVector10Value(vectorValue); }
1996 
1997 
2001  std::string getStringValue() const override;
2002 
2004  const Vector10& getVector10Value() const;
2005 
2007  inline const Vector10& getVectorValue() const { return getVector10Value(); }
2008 
2010  void setValue(const Vector10& vectorValue) { setVector10Value(vectorValue); }
2011 
2013  void updateValue(const Vector10& vectorValue) { updateVector10Value(vectorValue); }
2014 
2016  const Vector10& getValue() const { return getVector10Value(); }
2017 
2018 protected:
2020  void setValueFromField(const Field& field) override;
2021 
2022 private:
2024  Vector10 _value;
2025 
2027  void _initialize(const std::string& name="");
2028 
2029 #if ML_DEPRECATED_SINCE(3,5,0)
2030 
2033 
2034 public:
2035 
2038  inline ML_DEPRECATED void setVec10fValue(const Vector10& value) { setVector10Value(value); }
2041  inline ML_DEPRECATED const Vector10& getVec10fValue() const { return getVector10Value(); }
2042 
2044 
2045 #endif
2046 };
2047 
2048 #ifdef ML_DEPRECATED
2055 #endif // ML_DEPRECATED
2056 
2057 
2058 //-------------------------------------------------------------------------
2063 //-------------------------------------------------------------------------
2065 {
2068 
2069 public:
2070 
2073 
2077  ColorField(const std::string& name);
2078 
2080  void setColorValue(float r, float g, float b);
2081 
2085  void updateColorValue(float r, float g, float b);
2086 
2088  void getColorValue(float& r, float& g, float& b) const;
2089 
2091  const Vector3& getColorValue() const { return getVectorValue(); }
2092 
2098 
2103 
2104 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2105 
2108 
2109 public:
2110 
2113  ColorField(const std::string& name, Vector3* valuePtr);
2114 
2116 
2117 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2118 
2119 };
2120 
2121 
2122 //-------------------------------------------------------------------------
2125 //-------------------------------------------------------------------------
2127 {
2130 
2131 public:
2134  Matrix2Field(const std::string& name="");
2135 
2139  void setStringValue(const std::string& stringValue) override;
2140 
2142  void setMatrixValue(const Matrix2& matrixValue);
2143 
2146  void setMatrix2Value(const Matrix2& matrixValue);
2147 
2151  void updateMatrix2Value(const Matrix2& matrixValue);
2152 
2156  std::string getStringValue() const override;
2157 
2159  const Matrix2& getMatrixValue() const;
2160 
2163  const Matrix2& getMatrix2Value() const;
2164 
2166  void setValue(const Matrix2& matrixValue) { setMatrix2Value(matrixValue); }
2167 
2169  void updateValue(const Matrix2& matrixValue) { updateMatrix2Value(matrixValue); }
2170 
2172  const Matrix2& getValue() const { return getMatrix2Value(); }
2173 
2174 protected:
2176  void setValueFromField(const Field& field) override;
2177 
2178 private:
2180  Matrix2 _value;
2181 
2182 #ifdef ML_DEPRECATED
2183 
2186 
2187 public:
2190  inline ML_DEPRECATED void setMat2fValue(const Matrix2& value) { setMatrix2Value(value); }
2193  inline ML_DEPRECATED void setMat2Value(const Matrix2& value) { setMatrix2Value(value); }
2196  inline ML_DEPRECATED const Matrix2& getMat2Value() const { return getMatrix2Value(); }
2197 
2199 
2200 #endif // ML_DEPRECATED
2201 };
2202 
2203 #ifdef ML_DEPRECATED
2210 #endif // ML_DEPRECATED
2211 
2212 
2213 //-------------------------------------------------------------------------
2216 //-------------------------------------------------------------------------
2218 {
2221 
2222 public:
2225  Matrix3Field(const std::string& name="");
2226 
2230  void setStringValue(const std::string& stringValue) override;
2231 
2233  void setMatrixValue(const Matrix3& matrixValue);
2234 
2237  void setMatrix3Value(const Matrix3& matrixValue);
2238 
2242  void updateMatrix3Value(const Matrix3& matrixValue);
2243 
2247  std::string getStringValue() const override;
2248 
2250  const Matrix3& getMatrixValue() const;
2251 
2254  const Matrix3& getMatrix3Value() const;
2255 
2257  void setValue(const Matrix3& matrixValue) { setMatrix3Value(matrixValue); }
2258 
2260  void updateValue(const Matrix3& matrixValue) { updateMatrix3Value(matrixValue); }
2261 
2263  const Matrix3& getValue() const { return getMatrix3Value(); }
2264 
2265 protected:
2267  void setValueFromField(const Field& field) override;
2268 
2269 private:
2271  Matrix3 _value;
2272 
2273 #ifdef ML_DEPRECATED
2274 
2277 
2278 public:
2281  inline ML_DEPRECATED void setMat3fValue(const Matrix3& value) { setMatrix3Value(value); }
2284  inline ML_DEPRECATED void setMat3Value(const Matrix3& value) { setMatrix3Value(value); }
2287  inline ML_DEPRECATED const Matrix3& getMat3Value() const { return getMatrix3Value(); }
2288 
2290 
2291 #endif // ML_DEPRECATED
2292 
2293 };
2294 
2295 #ifdef ML_DEPRECATED
2302 #endif // ML_DEPRECATED
2303 
2304 
2305 
2306 //-------------------------------------------------------------------------
2310 //-------------------------------------------------------------------------
2312 {
2315 
2316 public:
2317 
2320 
2323  MatrixField(const std::string& name);
2324 
2328  void setStringValue(const std::string& stringValue) override;
2329 
2331  void setMatrixValue(const Matrix4& matrixValue);
2332 
2335  void setMatrix4Value(const Matrix4& matrixValue);
2336 
2340  void updateMatrix4Value(const Matrix4& matrixValue);
2341 
2345  std::string getStringValue() const override;
2346 
2348  const Matrix4& getMatrixValue() const;
2349 
2352  const Matrix4& getMatrix4Value() const;
2353 
2355  void setValue(const Matrix4& matrixValue) { setMatrix4Value(matrixValue); }
2356 
2358  void updateValue(const Matrix4& matrixValue) { updateMatrix4Value(matrixValue); }
2359 
2361  const Matrix4& getValue() const { return getMatrix4Value(); }
2362 
2363 protected:
2365  void setValueFromField(const Field& field) override;
2366 
2367 private:
2369  Matrix4* _valuePtr;
2370 
2372  Matrix4 _internalValue;
2373 
2375  void _initialize(const std::string& name="", Matrix4* valuePtr=nullptr);
2376 
2377 #ifdef ML_DEPRECATED
2378 
2381 
2382 public:
2385  inline ML_DEPRECATED void setMat4fValue(const Matrix4& value) { setMatrix4Value(value); }
2388  inline ML_DEPRECATED void setMat4Value(const Matrix4& value) { setMatrix4Value(value); }
2391  inline ML_DEPRECATED const Matrix4& getMat4Value() const { return getMatrix4Value(); }
2392 
2394 
2395 #endif // ML_DEPRECATED
2396 
2397 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2398 
2401 
2402 public:
2403 
2406  MatrixField(const std::string& name, Matrix4* valuePtr);
2407 
2409 
2410 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2411 
2412 };
2413 
2414 
2415 //-------------------------------------------------------------------------
2418 //-------------------------------------------------------------------------
2420 {
2423 
2424 public:
2427  Matrix4Field(const std::string& name="");
2428 };
2429 
2430 #ifdef ML_DEPRECATED
2437 #endif // ML_DEPRECATED
2438 
2439 
2440 //-------------------------------------------------------------------------
2443 //-------------------------------------------------------------------------
2445 {
2448 
2449 public:
2452  Matrix5Field(const std::string& name="");
2453 
2457  void setStringValue(const std::string& stringValue) override;
2458 
2460  void setMatrixValue(const Matrix5& matrixValue);
2461 
2464  void setMatrix5Value(const Matrix5& matrixValue);
2465 
2469  void updateMatrix5Value(const Matrix5& matrixValue);
2470 
2474  std::string getStringValue() const override;
2475 
2477  const Matrix5& getMatrixValue() const;
2478 
2481  const Matrix5& getMatrix5Value() const;
2482 
2484  void setValue(const Matrix5& matrixValue) { setMatrix5Value(matrixValue); }
2485 
2487  void updateValue(const Matrix5& matrixValue) { updateMatrix5Value(matrixValue); }
2488 
2490  const Matrix5& getValue() const { return getMatrix5Value(); }
2491 
2492 protected:
2494  void setValueFromField(const Field& field) override;
2495 
2496 private:
2498  Matrix5 _value;
2499 
2500 
2501 #ifdef ML_DEPRECATED
2502 
2505 
2506 public:
2509  inline ML_DEPRECATED void setMat5fValue(const Matrix5& value) { setMatrix5Value(value); }
2512  inline ML_DEPRECATED void setMat5Value(const Matrix5& value) { setMatrix5Value(value); }
2515  inline ML_DEPRECATED const Matrix5& getMat5Value() const { return getMatrix5Value(); }
2516 
2518 
2519 #endif // ML_DEPRECATED
2520 
2521 };
2522 
2523 #ifdef ML_DEPRECATED
2530 #endif // ML_DEPRECATED
2531 
2532 
2533 
2534 //-------------------------------------------------------------------------
2537 //-------------------------------------------------------------------------
2539 {
2542 
2543 public:
2546  Matrix6Field(const std::string& name="");
2547 
2551  void setStringValue(const std::string& stringValue) override;
2552 
2554  void setMatrixValue(const Matrix6& matrixValue);
2555 
2558  void setMatrix6Value(const Matrix6& matrixValue);
2559 
2563  void updateMatrix6Value(const Matrix6& matrixValue);
2564 
2568  std::string getStringValue() const override;
2569 
2571  const Matrix6& getMatrixValue() const;
2572 
2575  const Matrix6& getMatrix6Value() const;
2576 
2578  void setValue(const Matrix6& matrixValue) { setMatrix6Value(matrixValue); }
2579 
2581  void updateValue(const Matrix6& matrixValue) { updateMatrix6Value(matrixValue); }
2582 
2584  const Matrix6& getValue() const { return getMatrix6Value(); }
2585 
2586 protected:
2588  void setValueFromField(const Field& field) override;
2589 
2590 private:
2592  Matrix6 _value;
2593 
2594 
2595 #ifdef ML_DEPRECATED
2596 
2599 
2600 public:
2601 
2604  inline ML_DEPRECATED void setMat6fValue(const Matrix6& value) { setMatrix6Value(value); }
2607  inline ML_DEPRECATED void setMat6Value(const Matrix6& value) { setMatrix6Value(value); }
2610  inline ML_DEPRECATED const Matrix6& getMat6Value() const { return getMatrix6Value(); }
2611 
2613 
2614 #endif // ML_DEPRECATED
2615 };
2616 
2617 #if ML_DEPRECATED_SINCE(3,5,0)
2622 ML_DEPRECATED typedef Matrix6Field Mat6Field;
2624 #endif
2625 
2626 
2627 
2628 //-------------------------------------------------------------------------
2631 //-------------------------------------------------------------------------
2633 {
2636 
2637 public:
2638 
2641 
2644  MLDataTypeField(const std::string& name);
2645 
2647  void setStringValue(const std::string& stringValue) override;
2648 
2651 
2655  std::string getStringValue() const override;
2656 
2659 
2661  void setValue(MLDataType dataType) { setMLDataTypeValue(dataType); }
2662 
2664  MLDataType getValue() const { return getMLDataTypeValue(); }
2665 
2666 private:
2668  MLDataType* _valuePtr;
2670  MLDataType _internalValue;
2671 
2673  void _initialize(const std::string& name="", MLDataType* valuePtr=nullptr);
2674 
2675 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2676 
2679 
2680 public:
2681 
2684  MLDataTypeField(const std::string& name, MLDataType* valuePtr);
2685 
2687 
2688 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2689 
2690 };
2691 
2692 
2693 //-------------------------------------------------------------------------
2697 //-------------------------------------------------------------------------
2699 {
2702 
2703 public:
2704 
2707 
2710  ImageVectorField(const std::string& name);
2711 
2713  void setStringValue(const std::string& stringValue) override;
2714 
2716  void setImageVectorValue(const ImageVector& imageVectorValue);
2717 
2720  void updateImageVectorValue(const ImageVector& imageVectorValue);
2721 
2723  std::string getStringValue() const override;
2724 
2727 
2729  void setValue(const ImageVector& imageVectorValue) { setImageVectorValue(imageVectorValue); }
2730 
2732  void updateValue(const ImageVector& imageVectorValue) { updateImageVectorValue(imageVectorValue); }
2733 
2735  const ImageVector& getValue() const { return getImageVectorValue(); }
2736 
2737 protected:
2739  void setValueFromField(const Field& field) override;
2740 
2741 private:
2743  ImageVector* _valuePtr;
2744 
2746  ImageVector _internalValue;
2747 
2749  void _initialize(const std::string& name="", ImageVector* valuePtr=nullptr);
2750 
2751 #if ML_DEPRECATED_SINCE(3,5,0)
2752 
2755 
2756 public:
2757 
2760  inline ML_DEPRECATED void setVectorValue(const ImageVector& value) { setImageVectorValue(value); }
2763  inline ML_DEPRECATED const ImageVector& getVectorValue() const { return getImageVectorValue(); }
2764 
2766 
2767 #endif
2768 
2769 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2770 
2773 
2774 public:
2775 
2778  ImageVectorField(const std::string& name, ImageVector* valuePtr);
2779 
2781 
2782 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2783 
2784 };
2785 
2786 #if ML_DEPRECATED_SINCE(3,5,0)
2791 ML_DEPRECATED typedef ImageVectorField VectorField;
2793 #endif
2794 
2795 
2796 //-------------------------------------------------------------------------
2799 //-------------------------------------------------------------------------
2801 {
2804 
2805 public:
2806 
2809 
2812  SubImageBoxField(const std::string& name);
2813 
2815  void setStringValue(const std::string& stringValue) override;
2816 
2818  void setSubImageBoxValue(const SubImageBox& subImageBoxValue);
2819 
2822  void updateSubImageBoxValue(const SubImageBox& subImageBoxValue);
2823 
2827  std::string getStringValue() const override;
2828 
2831 
2833  void setValue(const SubImageBox& subImageBoxValue) { setSubImageBoxValue(subImageBoxValue); }
2834 
2836  void updateValue(const SubImageBox& subImageBoxValue) { updateSubImageBoxValue(subImageBoxValue); }
2837 
2839  const SubImageBox& getValue() const { return getSubImageBoxValue(); }
2840 
2841 protected:
2843  void setValueFromField(const Field& field) override;
2844 
2845 private:
2847  SubImageBox* _valuePtr;
2849  SubImageBox _internalValue;
2850 
2852  void _initialize(const std::string& name="", SubImageBox* valuePtr=nullptr);
2853 
2854 #if ML_DEPRECATED_SINCE(3,5,0)
2855 
2858 
2859 public:
2862  inline ML_DEPRECATED void setSubImgBoxValue(const SubImageBox& value) { setSubImageBoxValue(value); }
2865  inline ML_DEPRECATED const SubImageBox& getSubImgBoxValue() const { return getSubImageBoxValue(); }
2866 
2868 
2869 #endif
2870 
2871 
2872 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2873 
2876 
2877 public:
2878 
2881  SubImageBoxField(const std::string& name, SubImageBox* valuePtr);
2882 
2884 
2885 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2886 
2887 
2888 };
2889 
2890 #if ML_DEPRECATED_SINCE(3,5,0)
2895 ML_DEPRECATED typedef SubImageBoxField SubImgBoxField;
2897 #endif
2898 
2899 
2900 //-------------------------------------------------------------------------
2903 //-------------------------------------------------------------------------
2905 {
2908 
2909 public:
2910 
2913 
2916  SubImageBoxdField(const std::string& name);
2917 
2919  void setStringValue(const std::string& stringValue) override;
2920 
2922  void setSubImageBoxdValue(const SubImageBoxd& subImageBoxfValue);
2923 
2927  void updateSubImageBoxdValue(const SubImageBoxd& subImageBoxfValue);
2928 
2932  std::string getStringValue() const override;
2933 
2936 
2938  void setValue(const SubImageBoxd& subImageBoxValue) { setSubImageBoxdValue(subImageBoxValue); }
2939 
2941  void updateValue(const SubImageBoxd& subImageBoxValue) { updateSubImageBoxdValue(subImageBoxValue); }
2942 
2944  const SubImageBoxd& getValue() const { return getSubImageBoxdValue(); }
2945 
2946 protected:
2948  void setValueFromField(const Field& field) override;
2949 
2950 private:
2952  SubImageBoxd* _valuePtr;
2953 
2955  SubImageBoxd _internalValue;
2956 
2958  void _initialize(const std::string& name="", SubImageBoxd* valuePtr=nullptr);
2959 
2960 #if ML_DEPRECATED_SINCE(3,5,0)
2961 
2964 
2965 public:
2966 
2969  inline ML_DEPRECATED void setSubImgBoxValue(const SubImageBoxd& value) { setSubImageBoxdValue(value); }
2972  inline ML_DEPRECATED const SubImageBoxd& getSubImgBoxValue() const { return getSubImageBoxdValue(); }
2975  inline ML_DEPRECATED void setSubImgBoxfValue(const SubImageBoxd& value) { setSubImageBoxdValue(value); }
2978  inline ML_DEPRECATED const SubImageBoxd& getSubImgBoxfValue() const { return getSubImageBoxdValue(); }
2979 
2981 
2982 #endif
2983 
2984 
2985 #ifdef ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2986 
2989 
2990 public:
2991 
2994  SubImageBoxdField(const std::string& name, SubImageBoxd* valuePtr);
2995 
2997 
2998 #endif // ML_DEPRECATED_FIELDS_WITH_VALUE_POINTER
2999 
3000 };
3001 
3002 #if ML_DEPRECATED_SINCE(3,5,0)
3006 ML_DEPRECATED typedef SubImageBoxdField SubImgBoxfField;
3008 #endif
3009 
3010 
3011 //-------------------------------------------------------------------------
3014 //-------------------------------------------------------------------------
3016 {
3019 
3020 public:
3024  UniversalTypeField(const std::string& name="", MLDataType dt=-1);
3025 
3028 
3030  MLint isValidValue() override;
3031 
3033  void setStringValue(const std::string& stringValue) override;
3034 
3037  std::string getStringValue() const override;
3038 
3041  virtual void setDataType(MLDataType dataType);
3042 
3044  virtual MLDataType getDataType() const;
3045 
3047  virtual void setUniversalTypeValue(const MLTypeData* dataType);
3048 
3055 
3060 
3063 
3065  void setValue(const MLTypeData* typeData) { setUniversalTypeValue(typeData); }
3066 
3068  MLTypeData* getValue() const { return getUniversalTypeValue(); }
3069 
3070 protected:
3074 
3078 
3081 
3082 private:
3086  std::string _origString;
3087 
3090  std::string _strValue;
3091 
3093  MLDataType _dataType;
3094 
3096  MLint _isValid;
3097 
3101  MLTypeData* _typeData;
3102 };
3103 
3104 //----------------------------------------------------------------------------------
3108 //----------------------------------------------------------------------------------
3110 
3113 
3114 public:
3117  RotationField(const std::string &name=""): Vector4Field(name) {}
3118 
3120  void setRotationValue(const Vector3& vec, double angle);
3121 
3123  void setRotationValue(const Rotation& rot);
3124 
3126  void getRotationValue(Vector3& vec, double& angle) const;
3127 
3130 };
3131 
3132 
3133 //----------------------------------------------------------------------------------
3137 //----------------------------------------------------------------------------------
3139 
3142 
3143 public:
3146  PlaneField(const std::string &name=""): Vector4Field(name) {}
3147 
3149  void setPlaneValue(double f0, double f1, double f2, double f3);
3150 
3152  void setPlaneValue(const Plane& p);
3153 
3155  void getPlaneValue(double &f0, double &f1, double &f2, double &f3) const;
3156 
3158  void getPlaneValue(Plane &plane) const;
3159 
3162 };
3163 
3164 
3165 ML_END_NAMESPACE
3166 
3167 
3168 #endif //of __mlFields_H
3169 
3170 
3171 
#define ML_DEPRECATED
Definition: CSOGroup.h:371
@ T
Definition: SoKeyGrabber.h:71
Field to encapsulate a pointer to an ML base object.
Definition: mlFields.h:1187
void setBaseValue(const RefCountedBasePtr &value)
Sets the value from intrusive pointer.
Base * getBaseValue() const
Returns current field value.
void setValue(Base *basePointerValue)
Same as setBaseValue(Base*).
Definition: mlFields.h:1253
Base * getValue() const
Same as getBaseValue().
Definition: mlFields.h:1259
BaseField(const std::string &name)
Constructor, creates a field with a name to manage a base pointer.
void setValue(const RefCountedBasePtr &value)
Same as setBaseValue(const RefCountedBasePtr&).
Definition: mlFields.h:1256
std::string getStringValue() const override
Returns the value of the field as a string value.
void setBaseValue(Base *basePointerValue)
Sets the value of the field to basePointerValue.
BaseField()
Implements the runtime type system interface for this class.
void setStringValue(const std::string &stringValue) override
Sets pointer value from string stringValue. If string cannot be parsed successfully,...
void setBaseValueAndAddAllowedType(const ::boost::intrusive_ptr< T > &value)
convenience routine for setting the base value and its type at the same time using an intrusive point...
Definition: mlFields.h:1243
bool hasUnallowedType() const
return true if the last call of setBaseValue had an unallowed type as argument, getBaseValue will ret...
Definition: mlFields.h:1250
void addAllowedType(const RuntimeType *allowedType)
Add type to list of allowed types.
void addAllowedType()
Same as above, with template parameter where the Base type can be specified directly.
Definition: mlFields.h:1232
~BaseField() override
Destructor.
virtual void touchSourceFields(void)
Touches the source fields.
Type getTypedBaseValue() const
Get typed value if the contained base object is derived from the given Type.
Definition: mlFields.h:1267
Type getTypedValue() const
Get typed value if the contained base object is derived from the given Type.
Definition: mlFields.h:1263
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
std::vector< const RuntimeType * > getAllowedTypes() const
Get list of allowed Base types for this field.
Definition: mlFields.h:1246
void setBaseValueAndAddAllowedType(T *value)
convenience routine for setting the base value and its type at the same time.
Definition: mlFields.h:1238
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
Field to encapsulate a boolean value.
Definition: mlFields.h:62
BoolField()
Implements the runtime type system interface for this class.
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().
Definition: mlFields.h:105
bool isOn() const
Returns the value of the field as Boolean.
void setValueFromField(const Field &field) override
Reimplementation from Field which 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)
Constructor, creates a field with a name to manage a Boolean value.
bool getBoolValue() const
Returns the value of the field as a Boolean.
void setValue(bool boolValue)
Same as setBoolValue().
Definition: mlFields.h:99
void updateValue(bool boolValue)
Same as updateBoolValue().
Definition: mlFields.h:102
void updateBoolValue(bool boolValue)
Sets the field value to boolValue, but only touch field if the new value is different from the old va...
Field to encapsulate a vector of 3 float values representing an (rgb) color with all properties of Ve...
Definition: mlFields.h:2065
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)
Sets the packed uint32 color value to rgba.
ColorField(const std::string &name)
Constructor, create a field with a name to manage a vector of 3 float values interpreted as rgb-color...
void updateColorValue(float r, float g, float b)
Sets the field value to r, g and b, but only touch field if the new value is different from the old v...
MLuint32 getPackedColorValue() const
Returns the packed uint32 color value.
void getColorValue(float &r, float &g, float &b) const
Returns the value of the field into the floats r, g, and b.
const Vector3 & getColorValue() const
Returns the value of the field as a Vector3.
Definition: mlFields.h:2091
Field to encapsulate a double value.
Definition: mlFields.h:806
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void updateDoubleValue(double doubleValue)
Set field value to doubleValue, but only touch field if the new value is different from the old value...
double getDoubleValue() const
Returns current field value.
DoubleField()
Implements the runtime type system interface for this class.
DoubleField(const std::string &name)
Constructor, creates a field with a name to manage a double value.
std::string getStringValue() const override
Returns the value of the field as a string value setStringValue must be able to reinterpret this retu...
void setDoubleValue(double doubleValue)
Set field value to doubleValue. By default the entire double type range can be set.
void setValue(double doubleValue)
Same as setDoubleValue().
Definition: mlFields.h:840
void setStringValue(const std::string &stringValue) override
Sets value of the field to stringValue.
void updateValue(double doubleValue)
Same as updateDoubleValue().
Definition: mlFields.h:843
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().
Definition: mlFields.h:846
Field to encapsulate an enumerated value.
Definition: mlFields.h:363
void setEnumValue(int enumValue)
Sets field value to enumValue.
void _setEnumerationNames(const std::vector< EnumField::EnumEntry > &enumValues, int initialValue)
Sets the enumeration item names.
int _internalValue
Stores the int value (if no external deprecated reference was given).
Definition: mlFields.h:470
void setStringValue(const std::string &value) override
Sets value of the field to the enum item with given name value.
std::vector< EnumEntry > _entries
Stores the possible enum values and names.
Definition: mlFields.h:476
void _setEnumerationNames(const std::vector< std::string > &enumNames)
Sets the enumeration item names.
std::string getStringValue() const override
Returns the value of the field as string value.
void updateEnumValue(int enumValue)
Sets field value to enumValue, but only touch field if the new value is different from the old value.
EnumField(const std::string &name, const char *const *enumerationItemNames, size_t numEnumerationItems)
Constructor, creates a field with a name to manage an enum value.
EnumField(const std::string &name, const std::string enumerationItemNames[], size_t numEnumerationItems)
Implements the runtime type system interface for this class.
EnumField()
Protected constructor to allow derived classes.
Definition: mlFields.h:480
bool _linearEntries
Stores if enum entry values start at 0 and increase by 1.
Definition: mlFields.h:473
size_t getNumEnumerationItems() const
Returns the number of registered enum values defined in constructor.
~EnumField() override
Destroys this field and releases internally allocated memory.
void setStringValueDefaulted(const std::string &value)
If value equals one of the enum item names, set the field to this item, otherwise set it to the first...
void setValue(int enumValue)
Same as setEnumValue().
Definition: mlFields.h:443
int getEnumValue() const
Returns the current enum value as integer.
int * _valuePtr
Points to the variable containing the field value; we use an integer to be compatible to normal enum ...
Definition: mlFields.h:467
void _setEnumerationNames(const std::string enumNames[])
Sets the enumeration item names.
void _initialize(const std::string &name="", size_t numEnums=0, int *valuePtr=nullptr)
Initializes this field.
void updateValue(int enumValue)
Same as updateEnumValue().
Definition: mlFields.h:446
void _setEnumerationNames(const char *const *enumNames)
Sets the enumeration item names.
EnumField(const std::string &name, const std::vector< std::string > &enumerationItemNames)
Constructor, creates a field with a name to manage an enum value.
int getValue() const
Same as getEnumValue().
Definition: mlFields.h:449
const EnumEntry & getEnumEntryAtIndex(size_t index) const
Returns the enum entry at given index, which allows to enumerate all existing enum entries.
Helper class that stores a list of typed enum values and their string names.
Definition: mlFields.h:531
void add(const Entry &value)
Add an enum value via the given entry, which is typically created with the ML_ENUM_VALUE() macro.
Definition: mlFields.h:556
const std::vector< EnumField::EnumEntry > & getEntries() const
Get access to the collected list of enum entries.
Definition: mlFields.h:567
void add(const std::string &stringValue, EnumType value)
Add an enum value, manually passing in the name and value.
Definition: mlFields.h:551
std::vector< EnumField::EnumEntry > _entries
Definition: mlFields.h:570
void add(const char *stringValue, EnumType value)
Add an enum value, manually passing in the name and value.
Definition: mlFields.h:546
EnumValues & operator<<(const Entry &value)
Add an enum value via the given entry, which is typically created with the ML_ENUM_VALUE() macro.
Definition: mlFields.h:561
Strength
Enumeration type describing the strength of notifications.
Definition: mlFieldSensor.h:44
Base class for all fields used in the ML.
Definition: mlField.h:73
virtual std::string getStringValue() const =0
Returns the value of the field as string value.
virtual void setStringValue(const std::string &value)=0
Set field value as string value.
virtual void setValueFromField(const Field &field)
Sets the value of this field from the given field.
Field to encapsulate a float value.
Definition: mlFields.h:627
float _internalValue
Stores the float value (if no external deprecated reference was given).
Definition: mlFields.h:684
std::string getStringValue() const override
Returns the value of the field as a string value.
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)
Sets the field value to floatValue.
FloatField(const std::string &name)
Constructor, create a field with a name to manage a float value, with 0 as a default value.
float getValue() const
Same as getFloatValue().
Definition: mlFields.h:667
float _maxValue
Maximum float value which can be set.
Definition: mlFields.h:691
float * _valuePtr
Points to the variable containing the field value.
Definition: mlFields.h:681
FloatField()
Implements the runtime type system interface for this class.
void updateValue(float floatValue)
Same as updateFloatValue().
Definition: mlFields.h:664
void updateFloatValue(float floatValue)
Sets the field value to floatValue, but only touch field if the new value is different from the old v...
void setValue(float floatValue)
Same as setFloatValue().
Definition: mlFields.h:661
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently..
void _initialize(const std::string &name="", float *valuePtr=nullptr)
Initializes this field.
float _minValue
Minimum float value which can be set.
Definition: mlFields.h:688
static void setValueCallback(void *field, double value)
Callback method that can be used as a MLRequestProgressCB to set the progress to the field.
Field to encapsulate an ML vector ImageVector with 6 integer components.
Definition: mlFields.h:2699
const ImageVector & getValue() const
Same as getImageVectorValue().
Definition: mlFields.h:2735
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const ImageVector & getImageVectorValue() const
Returns the value of the field.
void updateImageVectorValue(const ImageVector &imageVectorValue)
Sets the value of the field to imageVectorValue, but only touch field if the new value is different f...
ImageVectorField()
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void setImageVectorValue(const ImageVector &imageVectorValue)
Sets the value of the field to imageVectorValue.
ImageVectorField(const std::string &name)
Constructor, creates a field with a name to manage a vector of 6 integer values.
void setValue(const ImageVector &imageVectorValue)
Same as setImageVectorValue().
Definition: mlFields.h:2729
std::string getStringValue() const override
Returns the value of the field as a string value.
void updateValue(const ImageVector &imageVectorValue)
Same as updateImageVectorValue().
Definition: mlFields.h:2732
Field to encapsulate a pointer to an input connector which represents a module input.
Definition: mlFields.h:1140
std::string getStringValue() const override
Returns a reference to InputConnector as a C-string (InputConnector does not have a value).
InputConnector & getInputConnectorValue() const
Returns a reference to the InputConnector.
~InputConnectorField() override
Destroys the field.
MLint isValidValue() override
Returns 1 if connector field contains a valid connector pointer.
void setStringValue(const std::string &) override
Only calls touch() to propagate notifications.
InputConnectorField()
Implements the runtime type system interface for this class.
InputConnectorField(const std::string &name, Module *module, MLint inputImageIndex)
Constructor, creates a field with a name to manage an InputConnector on the Module module at index in...
Class to manage an input connection of a Module module.
Definition: mlConnectors.h:155
Field to encapsulate an integer value.
Definition: mlFields.h:161
void setIntValue(MLint intValue)
Sets field value to intValue.
IntField(const std::string &name)
Constructor, creates a field with a name to manage an integer value.
MLint getValue() const
Same as getIntValue().
Definition: mlFields.h:199
void updateValue(MLint intValue)
Same as updateIntValue().
Definition: mlFields.h:196
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
Returns the value of the field as a string value.
void setValue(MLint intValue)
Same as setIntValue().
Definition: mlFields.h:193
void updateIntValue(MLint intValue)
Sets field value to intValue, but only touch field if the new value is different from the old value.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
IntField()
Implements the runtime type system interface for this class.
Field to encapsulate an MLDataType value.
Definition: mlFields.h:2633
MLDataType getMLDataTypeValue() const
Returns the value of the field.
MLDataTypeField(const std::string &name)
Constructor, creates a field with a name to manage an MLDataType value.
MLDataType getValue() const
Same as getMLDataTypeValue().
Definition: mlFields.h:2664
std::string getStringValue() const override
Returns the value of the field as a string value.
MLDataTypeField()
Implements the runtime type system interface for this class.
void setMLDataTypeValue(MLDataType dataType)
Sets the field value to data type dataType.
void setValue(MLDataType dataType)
Same as setMLDataTypeValue().
Definition: mlFields.h:2661
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue. Invalid types set the type to MLint8Type.
Field encapsulating a 2x2 matrix.
Definition: mlFields.h:2127
const Matrix2 & getMatrixValue() const
Returns the value of the field.
void updateMatrix2Value(const Matrix2 &matrixValue)
Sets the value of the field to matrixValue, but only touch field if the new value is different from t...
void setMatrixValue(const Matrix2 &matrixValue)
Sets the value of the field to matrixValue.
const Matrix2 & getMat2Value() const
Definition: mlFields.h:2196
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
const Matrix2 & getValue() const
Same as getMatrix2Value().
Definition: mlFields.h:2172
void setMat2Value(const Matrix2 &value)
Definition: mlFields.h:2193
void setStringValue(const std::string &stringValue) override
Sets the field value to stringValue="a11 a12 a21 a22".
const Matrix2 & getMatrix2Value() const
Returns the value of the field; same as getMatrixValue for symmetry to other fields.
Matrix2Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setValue(const Matrix2 &matrixValue)
Same as setMatrix2Value().
Definition: mlFields.h:2166
void updateValue(const Matrix2 &matrixValue)
Same as updateMatrix2Value().
Definition: mlFields.h:2169
std::string getStringValue() const override
Returns the value of the field as a string value.
void setMatrix2Value(const Matrix2 &matrixValue)
Sets the value of the field to matrixValue; same as setMatrixValue for symmetry to other fields.
void setMat2fValue(const Matrix2 &value)
Definition: mlFields.h:2190
Field encapsulating a 3x3 matrix.
Definition: mlFields.h:2218
const Matrix3 & getMatrix3Value() const
Returns the value of the field; same as getMatrixValue for symmetry to other fields.
void setStringValue(const std::string &stringValue) override
Sets the field value to stringValue="a11 a12 ... a33".
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
const Matrix3 & getMat3Value() const
Definition: mlFields.h:2287
void setValue(const Matrix3 &matrixValue)
Same as setMatrix3Value().
Definition: mlFields.h:2257
void setMatrixValue(const Matrix3 &matrixValue)
Sets the value of the field to matrixValue.
void updateValue(const Matrix3 &matrixValue)
Same as updateMatrix3Value().
Definition: mlFields.h:2260
Matrix3Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setMatrix3Value(const Matrix3 &matrixValue)
Sets the value of the field to matrixValue; same as setMatrixValue for symmetry to other fields.
void updateMatrix3Value(const Matrix3 &matrixValue)
Sets the value of the field to matrixValue, but only touch field if the new value is different from t...
const Matrix3 & getMatrixValue() const
Returns the value of the field.
std::string getStringValue() const override
Returns the value of the field as a string value.
const Matrix3 & getValue() const
Same as getMatrix3Value().
Definition: mlFields.h:2263
void setMat3Value(const Matrix3 &value)
Definition: mlFields.h:2284
void setMat3fValue(const Matrix3 &value)
Definition: mlFields.h:2281
Field to encapsulate a 4x4 matrix.
Definition: mlFields.h:2420
Matrix4Field(const std::string &name="")
Implements the runtime type system interface for this class.
Field encapsulating a 5x5 matrix.
Definition: mlFields.h:2445
void setMatrix5Value(const Matrix5 &matrixValue)
Sets the value of the field to matrixValue; same as setMatrixValue for symmetry to other fields.
void setMatrixValue(const Matrix5 &matrixValue)
Sets the value of the field to matrixValue.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
const Matrix5 & getMat5Value() const
Definition: mlFields.h:2515
Matrix5Field(const std::string &name="")
Implements the runtime type system interface for this class.
const Matrix5 & getValue() const
Same as getMatrix4Value().
Definition: mlFields.h:2490
void setValue(const Matrix5 &matrixValue)
Same as setMatrix5Value().
Definition: mlFields.h:2484
void setMat5fValue(const Matrix5 &value)
Definition: mlFields.h:2509
std::string getStringValue() const override
Returns the value of the field as a string value.
void updateValue(const Matrix5 &matrixValue)
Same as updateMatrix5Value().
Definition: mlFields.h:2487
const Matrix5 & getMatrix5Value() const
Returns the value of the field; same as getMatrixValue for symmetry to other fields.
void setStringValue(const std::string &stringValue) override
Sets the field value to stringValue="a11 a12 ... a55".
void setMat5Value(const Matrix5 &value)
Definition: mlFields.h:2512
const Matrix5 & getMatrixValue() const
Returns the value of the field.
void updateMatrix5Value(const Matrix5 &matrixValue)
Sets the value of the field to matrixValue, but only touch field if the new value is different from t...
Field encapsulating a 6x6 matrix.
Definition: mlFields.h:2539
void updateValue(const Matrix6 &matrixValue)
Same as updateMatrix6Value().
Definition: mlFields.h:2581
std::string getStringValue() const override
Returns the value of the field as a string value.
Matrix6Field(const std::string &name="")
Implements the runtime type system interface for this class.
void setValue(const Matrix6 &matrixValue)
Same as setMatrix6Value().
Definition: mlFields.h:2578
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void setMatrixValue(const Matrix6 &matrixValue)
Sets the value of the field to matrixValue.
void setMat6Value(const Matrix6 &value)
Definition: mlFields.h:2607
const Matrix6 & getValue() const
Same as getMatrix6Value().
Definition: mlFields.h:2584
void updateMatrix6Value(const Matrix6 &matrixValue)
Sets the value of the field to matrixValue, but only touch field if the new value is different from t...
void setStringValue(const std::string &stringValue) override
Sets the field value to stringValue="a11 a12 ... a66".
void setMatrix6Value(const Matrix6 &matrixValue)
Sets the value of the field to matrixValue; same as setMatrixValue for symmetry to other fields.
void setMat6fValue(const Matrix6 &value)
Definition: mlFields.h:2604
const Matrix6 & getMat6Value() const
Definition: mlFields.h:2610
const Matrix6 & getMatrix6Value() const
Returns the value of the field; same as getMatrixValue for symmetry to other fields.
const Matrix6 & getMatrixValue() const
Returns the value of the field.
Field to encapsulate a 4x4 matrix, same as Matrix4Field for backward compatibility.
Definition: mlFields.h:2312
void setStringValue(const std::string &stringValue) override
Sets the field value to stringValue="a11 a12 ... a44".
const Matrix4 & getMatrix4Value() const
Returns the value of the field; same as getMatrixValue for symmetry to other fields.
MatrixField()
Implements the runtime type system interface for this class.
void setValue(const Matrix4 &matrixValue)
Same as setMatrix4Value().
Definition: mlFields.h:2355
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void setMatrix4Value(const Matrix4 &matrixValue)
Sets the value of the field to matrixValue; same as setMatrixValue for symmetry to other fields.
MatrixField(const std::string &name)
Constructor, creates a field with a name to manage a 4x4 matrix.
void updateMatrix4Value(const Matrix4 &matrixValue)
Sets the value of the field to matrixValue, but only touch field if the new value is different from t...
const Matrix4 & getMatrixValue() const
Returns the value of the field.
void setMat4Value(const Matrix4 &value)
Definition: mlFields.h:2388
std::string getStringValue() const override
Returns the value of the field as a string value.
const Matrix4 & getMat4Value() const
Definition: mlFields.h:2391
void setMatrixValue(const Matrix4 &matrixValue)
Sets the value of the field to matrixValue.
void updateValue(const Matrix4 &matrixValue)
Same as updateMatrix4Value().
Definition: mlFields.h:2358
const Matrix4 & getValue() const
Same as getMatrix4Value().
Definition: mlFields.h:2361
void setMat4fValue(const Matrix4 &value)
Definition: mlFields.h:2385
Base class for an image processing module of the ML.
Definition: mlModule.h:156
Field without value for notifications.
Definition: mlFields.h:1049
std::string getStringValue() const override
Returns an empty string, because the field has no value.
void setStringValue(const std::string &) override
Only calls notifyAttachments() to notify attached fields or sensors.
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)
Constructor, creates a notification field with a name.
Field to encapsulate a pointer to an output connector which represents a module output.
Definition: mlFields.h:1085
std::string getStringValue() const override
Reference to OutputConnector as C-string to return (OutputConnector do not have a value,...
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)
Constructor, creates a field with a name to manage an OutputConnector on the Module module at index o...
void setStringValue(const std::string &) override
Only calls touch() to propagate notifications.
void touch(FieldSensor::Strength strength=FieldSensor::CHANGED) override
A notified output image must also clear its PagedImage if it is considered as changed.
~OutputConnectorField() override
Destroys the field.
OutputConnector & getOutputConnectorValue() const
Returns a reference to the OutputConnector.
Class to manage an output connection for a Module module.
Definition: mlConnectors.h:52
Field to encapsulate a vector of 4 double values representing a plane with all properties of Vector4F...
Definition: mlFields.h:3138
void setPlaneValue(double f0, double f1, double f2, double f3)
Set field value to (f0, f1, f2, f3).
void getPlaneValue(double &f0, double &f1, double &f2, double &f3) const
Returns the value of the field.
void setPlaneValue(const Plane &p)
Set field value to p.
PlaneField(const std::string &name="")
Implements the runtime type system interface for this class.
Definition: mlFields.h:3146
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.
Definition: mlPlane.h:30
Field to encapsulate a void pointer to arbitrary data.
Definition: mlFields.h:1382
void setStringValue(const std::string &stringValue) override
Sets field value from string to stringValue.
std::string getStringValue() const override
Returns the value of the field as string value.
void * getPointerValue() const
Returns the value of the field.
void setValue(void *voidPointerValue)
Same as setPointerValue().
Definition: mlFields.h:1410
PointerField()
Implements the runtime type system interface for this class.
void setPointerValue(void *voidPointerValue)
Sets value of the field to voidPointerValue.
void * getValue() const
Same as getPointerValue().
Definition: mlFields.h:1413
PointerField(const std::string &name)
Constructor, creates a field with a name to manage a void pointer.
Field to encapsulate an increasing float value from range [0,1].
Definition: mlFields.h:744
void setProgressValue(float floatValue)
Same as setFloatValue().
void setValue(float floatValue)
Same as setFloatValue().
Definition: mlFields.h:774
ProgressField(const std::string &name)
Constructor, creates a field with a name to manage a progressive float value.
ProgressField()
Implements the runtime type system interface for this class.
void setFloatValue(float floatValue)
Sets field value to floatValue if floatValue==0, floatValue==1 or floatValue > previous floatValue + ...
void setUpdateDifference(float epsilonValue)
Sets an epsilon value which a new value must have more than the previous value to be accepted as new ...
float getProgressValue()
Same as getFloatValue().
Definition: mlFields.h:767
Field to encapsulate a vector of 4 double values representing a rotation with all properties of Vecto...
Definition: mlFields.h:3109
RotationField(const std::string &name="")
Implements the runtime type system interface for this class.
Definition: mlFields.h:3117
Rotation getRotationValue() const
Returns rotation value as a rotation class instance.
void setRotationValue(const Rotation &rot)
Sets rotation value by a rotation instance.
void setRotationValue(const Vector3 &vec, double angle)
Set rotation as rotation axes and angle how much to rotate.
void getRotationValue(Vector3 &vec, double &angle) const
Returns rotation as vector and rotation angle.
Class to handle Rotations (internally the rotation is stored as a unit quaternion)
Definition: mlRotation.h:40
RuntimeType contains type and inheritance information of a class and a static dictionary with informa...
Definition: mlRuntimeType.h:53
Field to encapsulate a pointer to an SoNode instance of OpenInventor.
Definition: mlFields.h:1327
SoNodeField()
Implements the runtime type system interface for this class.
SoNode * getSoNodeValue() const
Returns the value of the field.
SoNode * getValue() const
Same as getSoNodeValue().
Definition: mlFields.h:1358
SoNodeField(const std::string &name)
Constructor, creates a field with a name to manage a SoNode pointer.
void setSoNodeValue(SoNode *soNodeValue)
Sets value of the field to soNodeValue.
void setValue(SoNode *soNodeValue)
Same as setSoNodeValue().
Definition: mlFields.h:1355
std::string getStringValue() const override
Returns the value of the field as string value.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void setStringValue(const std::string &stringValue) override
Sets field value from string to stringValue. On non-successful string parsing, a NULL pointer is set.
Field to encapsulate a string value.
Definition: mlFields.h:1000
std::string getStringValue() const override
Returns the value of the field as a string value setStringValue must be able to reinterpret this retu...
StringField()
Implements the runtime type system interface for this class.
std::string getValue() const
Same as getStringValue().
Definition: mlFields.h:1032
void updateStringValue(const std::string &stringValue)
Sets value of the field to stringValue, but only touch field if the new value is different from the o...
StringField(const std::string &name)
Constructor, creates a field with a name to manage a string value.
void setStringValue(const std::string &stringValue) override
Sets value of the field to stringValue.
void updateValue(const std::string &stringValue)
Same as updateStringValue().
Definition: mlFields.h:1029
void setValue(const std::string &stringValue)
Same as setStringValue().
Definition: mlFields.h:1026
Field to encapsulate an ML integer SubimgBox.
Definition: mlFields.h:2801
void setValue(const SubImageBox &subImageBoxValue)
Same as setSubImageBoxValue().
Definition: mlFields.h:2833
SubImageBoxField(const std::string &name)
Constructor, creates a field with a name to manage an integer box.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
std::string getStringValue() const override
Returns the value of the field as a string value.
const SubImageBox & getSubImageBoxValue() const
Returns the value of the field.
SubImageBoxField()
Implements the runtime type system interface for this class.
void updateSubImageBoxValue(const SubImageBox &subImageBoxValue)
Sets the value of the field to subImageBoxValue, but only touch field if the new value is different f...
void setSubImageBoxValue(const SubImageBox &subImageBoxValue)
Sets the value of the field to subImageBoxValue.
void updateValue(const SubImageBox &subImageBoxValue)
Same as updateSubImageBoxValue().
Definition: mlFields.h:2836
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const SubImageBox & getValue() const
Same as getSubImageBoxValue().
Definition: mlFields.h:2839
Field to encapsulate an ML double SubimgBox.
Definition: mlFields.h:2905
void updateSubImageBoxdValue(const SubImageBoxd &subImageBoxfValue)
Sets the value of the field to subImageBoxfValue, but only touch field if the new value is different ...
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
const SubImageBoxd & getSubImageBoxdValue() const
Returns the value of the field.
void setValue(const SubImageBoxd &subImageBoxValue)
Same as setSubImageBoxdValue().
Definition: mlFields.h:2938
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const SubImageBoxd & getValue() const
Same as getSubImageBoxdValue().
Definition: mlFields.h:2944
std::string getStringValue() const override
Returns the value of the field as a string value.
SubImageBoxdField()
Implements the runtime type system interface for this class.
SubImageBoxdField(const std::string &name)
Constructor, creates a field with a name to manage a float box.
void updateValue(const SubImageBoxd &subImageBoxValue)
Same as updateSubImageBoxdValue().
Definition: mlFields.h:2941
void setSubImageBoxdValue(const SubImageBoxd &subImageBoxfValue)
Sets the value of the field to subImageBoxfValue.
SubImageBoxd - SubImageBox with coordinates of float data type.
Templated version of BaseField which only stores the template type as pointer.
Definition: mlFields.h:1297
void setValue(T *basePointerValue)
Sets the value of the field to basePointerValue.
Definition: mlFields.h:1303
void setValue(const ::boost::intrusive_ptr< T > &value)
Sets the value from intrusive pointer.
Definition: mlFields.h:1306
T * getValue() const
Returns current field value.
Definition: mlFields.h:1309
TypedBaseField(const std::string &name)
Constructor, creates a field with a name to manage a typed Base pointer. Default value is NULL.
Definition: mlFields.h:1300
TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int...
Definition: mlFields.h:596
TypedEnumField(const std::string &name, const EnumValues< EnumType > &enumValues, EnumType initialValue)
Create the TypedEnumField with given name, enumValues and initialValue.
Definition: mlFields.h:601
EnumType getEnumValue() const
Gets the current enum value.
Definition: mlFields.h:609
void setEnumValue(EnumType enumValue)
Sets the current enum value and touches the field.
Definition: mlFields.h:611
EnumType getValue() const
Same as getEnumValue().
Definition: mlFields.h:615
void updateValue(EnumType enumValue)
Same as updateEnumValue().
Definition: mlFields.h:619
void updateEnumValue(EnumType enumValue)
Sets the current enum value and only touches the field if the value has changed.
Definition: mlFields.h:613
void setValue(EnumType enumValue)
Same as setEnumValue().
Definition: mlFields.h:617
Field to encapsulate any of the registered ML types.
Definition: mlFields.h:3016
virtual void _updateIsValidAndTypeDataFromOrigString()
Parse _origString dependent on the current data type and update _isValid and _typeData.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
virtual void _updateIsValidAndStrValueFromTypeData()
Parse _typeData dependent on the current data type and update _isValid and _strValue.
virtual void setDataType(MLDataType dataType)
Sets the data type to dataType.
virtual MLTypeData * getUniversalTypeValue() const
Returns the current value of the field as a memory copy which can be changed by the caller.
MLTypeData * getValue() const
Same as getUniversalTypeValue().
Definition: mlFields.h:3068
void setValue(const MLTypeData *typeData)
Same as setUniversalTypeValue().
Definition: mlFields.h:3065
void _updateFieldFromOrigString()
Combine the above methods, return _origString on invalid data type, and touch 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
Returns the value of the field as a string value.
~UniversalTypeField() override
Destructor, frees buffer for type data.
virtual const MLTypeData * getShortLivedUniversalTypeValue() const
Returns the temporary internal buffer value of the field which is short-lived and which must NOT be m...
virtual MLldouble getValueCastToLDouble() const
Returns the current value of the field cast to MLldouble.
Field to encapsulate a vector of 10 double values.
Definition: mlFields.h:1969
Vector10Field()
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().
Definition: mlFields.h:2010
const Vector10 & getValue() const
Same as getVector10Value().
Definition: mlFields.h:2016
void setVectorValue(const Vector10 &vectorValue)
Sets the value of the field to vectorValue.
Definition: mlFields.h:1995
void setVector10Value(const Vector10 &vectorValue)
Sets the value of the field to vectorValue.
void updateValue(const Vector10 &vectorValue)
Same as updateVector10Value().
Definition: mlFields.h:2013
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void updateVector10Value(const Vector10 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
const Vector10 & getVectorValue() const
Returns the value of the field.
Definition: mlFields.h:2007
Vector10Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 10 double values initialized to (0,...
const Vector10 & getVector10Value() const
Returns the value of the field.
std::string getStringValue() const override
Returns the value of the field as string value.
Field to encapsulate a vector of 2 double values.
Definition: mlFields.h:1428
const Vector2 & getValue() const
Same as getVector2Value().
Definition: mlFields.h:1471
std::string getStringValue() const override
Returns the value of the field as a string value.
const Vector2 & getVectorValue() const
Returns the value of the field.
Definition: mlFields.h:1462
void setVectorValue(const Vector2 &vectorValue)
Sets the value of the field to vectorValue.
Definition: mlFields.h:1453
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void updateValue(const Vector2 &vectorValue)
Same as updateVector2Value().
Definition: mlFields.h:1468
void setValue(const Vector2 &vectorValue)
Same as setVector2Value().
Definition: mlFields.h:1465
void updateVector2Value(const Vector2 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
Vector2Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 2 double values.
const Vector2 & getVector2Value() const
Returns the value of the field.
void setVector2Value(const Vector2 &vectorValue)
Sets the value of the field to vectorValue.
Vector2Field()
Implements the runtime type system interface for this class.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
Field to encapsulate a vector of 3 double values.
Definition: mlFields.h:1538
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
const Vector3 & getValue() const
Same as getVector3Value().
Definition: mlFields.h:1583
void updateValue(const Vector3 &vectorValue)
Same as updateVector3Value().
Definition: mlFields.h:1580
const Vector3 & getVectorValue() const
Returns the value of the field.
Definition: mlFields.h:1574
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
void setVector3Value(const Vector3 &vectorValue)
Sets the value of the field to vectorValue.
Vector3Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 3 double values.
void updateVector3Value(const Vector3 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
const Vector3 & getVector3Value() const
Returns the value of the field.
Vector3Field()
Implements the runtime type system interface for this class.
void setVectorValue(const Vector3 &vectorValue)
Sets the value of the field to vectorValue.
Definition: mlFields.h:1563
void setValue(const Vector3 &vectorValue)
Same as setVector3Value().
Definition: mlFields.h:1577
std::string getStringValue() const override
Returns the value of the field as string value setStringValue must be able to reinterpret this return...
Field to encapsulate a vector of 4 double values.
Definition: mlFields.h:1650
const Vector4 & getVector4Value() const
Returns the value of the field.
std::string getStringValue() const override
Returns the value of the field as a string value.
void updateVector4Value(const Vector4 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
void setValue(const Vector4 &vectorValue)
Same as setVector4Value().
Definition: mlFields.h:1690
Vector4Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 4 double values.
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.
Definition: mlFields.h:1675
void setVector4Value(const Vector4 &vectorValue)
Sets the value of the field to vectorValue.
const Vector4 & getVectorValue() const
Returns the value of the field.
Definition: mlFields.h:1687
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void updateValue(const Vector4 &vectorValue)
Same as updateVector4Value().
Definition: mlFields.h:1693
Vector4Field()
Implements the runtime type system interface for this class.
const Vector4 & getValue() const
Same as getVector4Value().
Definition: mlFields.h:1696
Field to encapsulate a vector of 5 double values.
Definition: mlFields.h:1762
const Vector5 & getVector5Value() const
Returns the value of the field.
void updateValue(const Vector5 &vectorValue)
Same as updateVector5Value().
Definition: mlFields.h:1805
const Vector5 & getValue() const
Same as getVector5Value().
Definition: mlFields.h:1808
std::string getStringValue() const override
Returns the value of the field as a string value.
Vector5Field()
Implements the runtime type system interface for this class.
void setStringValue(const std::string &stringValue) override
Sets the value of the field to stringValue.
const Vector5 & getVectorValue() const
Returns the value of the field.
Definition: mlFields.h:1799
void setVector5Value(const Vector5 &vectorValue)
Sets the value of the field to vectorValue.
Vector5Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 5 double values initialized to (0,...
void setVectorValue(const Vector5 &vectorValue)
Sets the value of the field to vectorValue.
Definition: mlFields.h:1788
void updateVector5Value(const Vector5 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
void setValue(const Vector5 &vectorValue)
Same as setVector5Value().
Definition: mlFields.h:1802
Field to encapsulate a vector of 6 double values.
Definition: mlFields.h:1857
Vector6Field()
Implements the runtime type system interface for this class.
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.
Definition: mlFields.h:1894
void setVectorValue(const Vector6 &vectorValue)
Sets the value of the field to vectorValue.
Definition: mlFields.h:1883
const Vector6 & getValue() const
Same as getVector6Value().
Definition: mlFields.h:1903
void updateValue(const Vector6 &vectorValue)
Same as updateVector6Value().
Definition: mlFields.h:1900
void updateVector6Value(const Vector6 &vectorValue)
Sets the value of the field to vectorValue, but only touch field if the new value is different from t...
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().
Definition: mlFields.h:1897
std::string getStringValue() const override
Returns the value of the field as a string value.
Vector6Field(const std::string &name)
Constructor, creates a field with a name to manage a vector of 6 double values.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
#define ML_ABSTRACT_CLASS_HEADER(className)
Same like ML_ABSTRACT_CLASS_HEADER_EXPORTED with a non existing export symbol.
MLint32 MLDataType
MLDataType.
Definition: mlTypeDefs.h:684
#define MLEXPORT
To export symbols from a dll/shared object, we need to mark them with the MLEXPORT symbol.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
long double MLldouble
Definition: mlTypeDefs.h:238
MLint64 * MLintPtr
A pointer to the signed ML integer type MLint.
Definition: mlTypeDefs.h:581
unsigned int MLuint32
Definition: mlTypeDefs.h:191
unsigned char MLTypeData
This is the pointer type used to point to the data of MLType data instances.
Definition: mlTypeDefs.h:1436
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578
EnumValues< EnumType >::Entry createEnumEntry(const char *value, EnumType enumValue)
Helper method to infer the EnumType via the function signature.
Definition: mlFields.h:585
Matrix3Field Mat3Field
Definition: mlFields.h:2300
Matrix5Field Mat5Field
Definition: mlFields.h:2528
Tvec4< MLdouble > Vector4
A vector with 4 components of type double.
Definition: mlVector4.h:162
Tvec3< MLdouble > Vector3
A vector with 3 components of type double.
Definition: mlVector3.h:300
Matrix2Field Mat2Field
Definition: mlFields.h:2208
Tvec6< MLdouble > Vector6
A vector with 6 components of type double.
Definition: mlVector6.h:194
NotifyField TriggerField
TriggerField is an alias for the NotifyField, which is easier to find for Open Inventor users which a...
Definition: mlFields.h:1077
Tvec2< MLdouble > Vector2
A vector with 2 components of type double.
Definition: mlVector2.h:159
TSubImageBox< MLint > SubImageBox
Define the standard SubImageBox type used in the ML. Its size varies with the size of the MLint type.
Matrix4Field Mat4Field
Definition: mlFields.h:2435
Vector10Field Vec10fField
Definition: mlFields.h:2053
MLEXPORT void MLInitFields()
Initialize all standard fields of the ML.
TImageVector< MLint > ImageVector
Defines the standard ImageVector type which is used by the ML for indexing and coordinates.
Defines the entry for one enum value.
Definition: mlFields.h:423
EnumEntry(const std::string &sv, int v)
Definition: mlFields.h:425
std::string stringValue
The string value of the entry.
Definition: mlFields.h:428
int value
The enum value of the entry.
Definition: mlFields.h:430
Defines the entry for one enum value.
Definition: mlFields.h:534
EnumType value
The enum value of the entry.
Definition: mlFields.h:541
const char * stringValue
The string value of the entry.
Definition: mlFields.h:539
Entry(const char *sv, EnumType v)
Definition: mlFields.h:536