MeVisLab Toolbox Reference
mlTypeDefs.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_TYPE_DEFS_H
14 #define ML_TYPE_DEFS_H
15 
17 
18 #include "MeVisLabVersion.h"
19 #include "mlMacros.h"
20 
21 // Include global compiler switches for the ML.
22 #include "mlConfig.h"
23 #include "mlUtilities.h"
24 
25 // We always need stdlib.h for e.g., size_t.
26 #include <ThirdPartyWarningsDisable.h>
27 #include <cstdlib>
28 #include <cstdint>
29 #include <cfloat>
30 
31 #if !defined(WIN32)
32  #include <pthread.h>
33  #include <sys/types.h>
34 #endif
35 
36 #include <ThirdPartyWarningsRestore.h>
37 
38 
39 #if ML_DEPRECATED_SINCE(3,5,0)
40  #define ML_IS_64_BIT_SYSTEM
41 #endif
42 
43 
44 //---------------------------------------------------------------------------------------------
45 //
46 //
47 // DEFINES
48 //
49 //
50 //---------------------------------------------------------------------------------------------
51 
52 
53 //------------------------------------------------------------------------------------
56 //------------------------------------------------------------------------------------
57 #ifndef ML_NAMESPACE
60  #define ML_NAMESPACE ml
61 #endif
62 
63 #ifndef ML_START_NAMESPACE
67  #define ML_START_NAMESPACE namespace ML_NAMESPACE {
68 #endif
69 
70 #ifndef ML_END_NAMESPACE
73  #define ML_END_NAMESPACE }
74 #endif
76 
77 //--------------------------------------------------------------------------------------------
80 //--------------------------------------------------------------------------------------------
81 
82 //--------------------------------------------------------------------------------------------
85 //--------------------------------------------------------------------------------------------
86 #define ML_PREFIX "ML"
87 
88 //--------------------------------------------------------------------------------------------
91 //--------------------------------------------------------------------------------------------
92 #define ML_CONSTANT_PREFIX "ML_"
93 
94 
95 
96 //--------------------------------------------------------------------------------------------
97 // MLTypes. They define all basic integer data types.
98 //--------------------------------------------------------------------------------------------
99 #ifndef _ML_INT8
102  // Should be signed but that causes too many consequences.
103  typedef /*signed*/ char MLint8;
104  typedef /*signed*/ char* MLint8Ptr;
105  #define ML_INT8_MIN -128
106  #define ML_INT8_MAX 0x7F
109  #define _ML_INT8 MLint8
110 #endif
111 
112 #ifndef _ML_UINT8
115  typedef unsigned char MLuint8;
116  typedef unsigned char* MLuint8Ptr;
117  #define ML_UINT8_MIN 0x00
118  #define ML_UINT8_MAX 0xFF
121  #define _ML_UINT8 MLuint8
122 #endif
123 
124 #ifndef _ML_INT16
127  #if (__GNUC__ >= 3)
128  typedef int16_t MLint16;
129  typedef int16_t* MLint16Ptr;
130  #else
131  typedef signed short MLint16;
132  typedef signed short* MLint16Ptr;
133  #endif
134  #define ML_INT16_MIN -32768
135  #define ML_INT16_MAX 0x7FFF
138  #define _ML_INT16 MLint16
139 #endif
140 
141 #ifndef _ML_UINT16
144  #if (__GNUC__ >= 3)
145  typedef uint16_t MLuint16;
146  typedef uint16_t* MLuint16Ptr;
147  #else
148  typedef unsigned short MLuint16;
149  typedef unsigned short* MLuint16Ptr;
150  #endif
151  #define ML_UINT16_MIN 0x0000
152  #define ML_UINT16_MAX 0xFFFF
155  #define _ML_UINT16 MLuint16
156 #endif
157 
158 
159 #ifndef _ML_INT32
162 
163  #if (__GNUC__ >= 3)
164  typedef int32_t MLint32;
165  typedef int32_t* MLint32Ptr;
166  #else
167  typedef signed int MLint32;
168  typedef signed int* MLint32Ptr;
169  #endif
170 
171  // Note: Do not use simply 0x80000000L since that
172  // might be assigned as positive value to
173  // floating point values. Force an explicit cast
174  // to avoid that error. Cast values to avoid that
175  // they are considered as long values.
176  #define ML_INT32_MIN (static_cast<MLint32>(0x80000000L))
177  #define ML_INT32_MAX (static_cast<MLint32>(0x7FFFFFFFL))
180  #define _ML_INT32 MLint32
181 #endif
182 
183 
184 #ifndef _ML_UINT32
187  #if (__GNUC__ >= 3)
188  typedef uint32_t MLuint32;
189  typedef uint32_t* MLuint32Ptr;
190  #else
191  typedef unsigned int MLuint32;
192  typedef unsigned int* MLuint32Ptr;
193  #endif
194 
195  // Cast values to avoid that they are considered as long values.
196  #define ML_UINT32_MIN (static_cast<MLuint32>(0x00000000L))
197  #define ML_UINT32_MAX (static_cast<MLuint32>(0xFFFFFFFFL))
200  #define _ML_UINT32 MLuint32
201 #endif
202 
203 
204 #ifndef _ML_FLOAT
207  typedef float MLfloat;
208  typedef float* MLfloatPtr;
209  #define ML_FLOAT_MIN FLT_MIN
210  #define ML_FLOAT_MAX FLT_MAX
211  #define ML_FLOAT_EPSILON FLT_EPSILON
212  // use more digits in string representation to retain full precision of binary value:
213  #define ML_FLOAT_DIG (FLT_DIG+2)
216  #define _ML_FLOAT MLfloat
217 #endif
218 
219 
220 #ifndef _ML_DOUBLE
223  typedef double MLdouble;
224  typedef double* MLdoublePtr;
225  #define ML_DOUBLE_MIN DBL_MIN
226  #define ML_DOUBLE_MAX DBL_MAX
227  #define ML_DOUBLE_EPSILON DBL_EPSILON
228  #define ML_DOUBLE_DIG DBL_DIG
231  #define _ML_DOUBLE MLdouble
232 #endif
233 
234 
235 #ifndef _ML_LDOUBLE
238  typedef long double MLldouble;
239  typedef long double* MLldoublePtr;
240  #define ML_LDOUBLE_MIN LDBL_MIN
241  #define ML_LDOUBLE_MAX LDBL_MAX
242  #define ML_LDOUBLE_EPSILON LDBL_EPSILON
243  #define ML_LDOUBLE_DIG LDBL_DIG
246  #define _ML_LDOUBLE MLldouble
247 #endif
248 
249 //--------------------------------------------------------------------------------------------------
252 //--------------------------------------------------------------------------------------------------
253 #define ML_NUM_STANDARD_TYPES 10
254 
255 //--------------------------------------------------------------------------------------------------
258 //--------------------------------------------------------------------------------------------------
259 #define ML_MAX_COMPONENTS_EXTENDED_TYPE 512
260 
261 //--------------------------------------------------------------------------------------------------
264 //--------------------------------------------------------------------------------------------------
266 #define ML_LUMINANCE "LUMINANCE"
268 #define ML_NEGATIVE "NEGATIVE"
270 #define ML_PALETTE "PALETTE"
271 
272 // Codes for multiple channel images.
273 
275 #define ML_RED "RED"
277 #define ML_GREEN "GREEN"
279 #define ML_BLUE "BLUE"
281 #define ML_ALPHA "ALPHA"
282 
284 #define ML_CYAN "CYAN"
286 #define ML_MAGENTA "MAGENTA"
288 #define ML_YELLOW "YELLOW"
290 #define ML_BLACK "BLACK"
291 
293 #define ML_HUE "HUE"
295 #define ML_SATURATION "SATURATION"
297 #define ML_VALUE "VALUE"
299 #define ML_LIGHTNESS "LIGHTNESS"
300 
302 #define ML_YIQ_Y "YIQ_Y"
304 #define ML_YIQ_I "YIQ_I"
306 #define ML_YIQ_Q "YIQ_Q"
307 
311 #define ML_CIE_X "CIE_X"
313 #define ML_CIE_Y "CIE_Y"
315 #define ML_CIE_Z "CIE_Z"
317 #define ML_LUV_L "LUV_L"
319 #define ML_LUV_U "LUV_U"
321 #define ML_LUV_V "LUV_V"
322 
324 #define ML_UNKNOWN "UNKNOWN"
325 
327 
328 
329 //--------------------------------------------------------------------------------------------------
332 //--------------------------------------------------------------------------------------------------
334 #define ML_REAL "REAL_PART"
336 #define ML_IMAG "IMAG_PART"
337 
339 #define ML_V0 "V0"
341 #define ML_V1 "V1"
343 #define ML_V2 "V2"
345 #define ML_V3 "V3"
347 #define ML_V4 "V4"
349 #define ML_V5 "V5"
350 
352 #define ML_MAGNITUDE "MAGNITUDE"
354 #define ML_ANGLE "ANGLE"
356 
357 
358 
359 //------------------------------------------------------------------------------------
360 //
363 //
364 //------------------------------------------------------------------------------------
365 
366 #ifndef ML_QUOTE
369  #define ML_QUOTE_INTERNAL(A) #A
370  #define ML_QUOTE(A) ML_QUOTE_INTERNAL(A)
371 #endif
372 
373 
374 #ifndef ML_MIN
377  #ifdef ML_DISABLE_CPP
378  #define ML_MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
379  #else
380  #if ML_DEPRECATED_SINCE(3,5,0)
381  template<typename T>
382  #ifndef ML_NO_DEPRECATED_WARNINGS
383  [[deprecated("ML_MIN is deprecated since MeVisLab 3.5.0. Please use std::min() instead")]]
384  #endif
385  constexpr const T& ml_deprecated_since_350_min(const T& a, const T& b) { return (b < a) ? b : a; }
386  #define ML_MIN(A, B) ml_deprecated_since_350_min((A), (B))
387  #endif
388  #endif
389 #endif
390 
391 
392 #ifndef ML_MAX
395  #ifdef ML_DISABLE_CPP
396  #define ML_MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
397  #else
398  #if ML_DEPRECATED_SINCE(3,5,0)
399  template<typename T>
400  #ifndef ML_NO_DEPRECATED_WARNINGS
401  [[deprecated("ML_MAX is deprecated since MeVisLab 3.5.0. Please use std::max() instead")]]
402  #endif
403  constexpr const T& ml_deprecated_since_350_max(const T& a, const T& b) { return (a < b) ? b : a; }
404  #define ML_MAX(A, B) ml_deprecated_since_350_max((A), (B))
405  #endif
406  #endif
407 #endif
408 
409 
410 #ifndef ML_ABS
413  #ifdef ML_DISABLE_CPP
414  #define ML_ABS(X) (((X) < (0)) ? ((X) * (-1)) : (X))
415  #else
416  #if ML_DEPRECATED_SINCE(3,5,0)
417  template<typename T>
418  #ifndef ML_NO_DEPRECATED_WARNINGS
419  [[deprecated("ML_ABS is deprecated since MeVisLab 3.5.0. Please use std::abs() instead")]]
420  #endif
421  auto ml_deprecated_since_350_abs(T x) { return x < 0? (static_cast<T>(-1) * x) : x; }
422  #define ML_ABS(X) ml_deprecated_since_350_abs((X))
423  #endif
424  #endif
425 #endif
426 
427 
428 #ifndef ML_CLAMP
431  #ifdef ML_DISABLE_CPP
432  #define ML_CLAMP(v,l,h) ((v)<(l) ? (l) : (v) > (h) ? (h) : (v))
433  #else
434  #if ML_DEPRECATED_SINCE(3,5,0)
435  template<typename T>
436  #ifndef ML_NO_DEPRECATED_WARNINGS
437  [[deprecated("ML_CLAMP is deprecated since MeVisLab 3.5.0. Please use std::clamp() instead")]]
438  #endif
439  constexpr const T& ml_deprecated_since_350_clamp(const T& v, const T& lo, const T& hi) { return v < lo? lo : (hi < v? hi : v); }
440  #define ML_CLAMP(V, L, H) ml_deprecated_since_350_clamp((V), (L), (H));
441  #endif
442  #endif
443 #endif
444 
445 #ifndef ML_LERP
448  #define ML_LERP(a,l,h) ((l)+(((h)-(l))*(a)))
449 #endif
450 
452 
454 #ifndef ML_M_PI
455 # define ML_M_PI 3.14159265358979323846 /* pi */
456 #endif
458 #ifndef ML_M_PI_2
459 # define ML_M_PI_2 1.57079632679489661923 /* pi/2 */
460 #endif
461 
462 //---------------------------------------------------------------------------------------------
463 //
464 //
465 // 64 BIT SUPPORT
466 //
467 //
468 //---------------------------------------------------------------------------------------------
469 
470 //------------------------------------------------------------------------------------
473 //------------------------------------------------------------------------------------
474 #ifndef ML_SYSTEM_HAS_NO_64
475 
477  #ifdef WIN32
478  #include <ThirdPartyWarningsDisable.h>
479  #include <basetsd.h>
480  #include <ThirdPartyWarningsRestore.h>
481  #else
483  #ifndef __STDC_LIMIT_MACROS
484  #define __STDC_LIMIT_MACROS
485  #endif
486 
487  #include <cstdint>
488 
489  #if !defined(INT64_MIN)
490  #error "mlTypeDefs.h must be included first or the macro __STDC_LIMIT_MACROS must be defined!"
491  #endif
492 
493  #endif
494 
495 
496  // Defines MLint64 type and its corresponding pointer type.
497  #if defined(WIN32)
498 
500  typedef INT64 MLint64;
502  typedef INT64* MLint64Ptr;
503 
505  #ifndef INT64_MIN
506  #define INT64_MIN 0x8000000000000000I64
507  #endif
508  #ifndef INT64_MAX
509  #define INT64_MAX 0x7FFFFFFFFFFFFFFFI64
510  #endif
511 
513  typedef UINT64 MLuint64;
515  typedef UINT64* MLuint64Ptr;
516 
518  #ifndef UINT64_MIN
519  #define UINT64_MIN static_cast<MLuint64>(0)
520  #endif
521  #ifndef UINT64_MAX
522  #define UINT64_MAX 0xFFFFFFFFFFFFFFFFUI64
523  #endif
524 
525  #else
527  typedef long long MLint64;
529  typedef MLint64* MLint64Ptr;
530 
532  typedef unsigned long long MLuint64;
534  typedef MLuint64* MLuint64Ptr;
535  #endif
537 
538 #else
539 
542  typedef unsigned char MLint64[8];
543  typedef MLint64* MLint64Ptr;
544  typedef unsigned char MLuint64[8];
545  typedef MLuint64* MLuint64Ptr;
547 
548 #endif
549 
550 
551 #ifndef _ML_INT64
554  #define ML_INT64_MIN INT64_MIN
555  #define ML_INT64_MAX INT64_MAX
558  #define _ML_INT64 MLint64
559 #endif
560 
561 #ifndef _ML_UINT64
564  #define ML_UINT64_MIN static_cast<MLuint64>(0)
565  #define ML_UINT64_MAX UINT64_MAX
568  #define _ML_UINT64 MLuint64
569 #endif
570 
571 //--------------------------------------------------------------------------------------------
574 //--------------------------------------------------------------------------------------------
575 
578 typedef MLint64 MLint;
579 
581 typedef MLint64* MLintPtr;
582 
584 #define ML_INT_MIN ML_INT64_MIN
585 
587 #define ML_INT_MAX ML_INT64_MAX
588 
589 
594 typedef MLuint64 MLuint;
595 
598 
600 #define ML_UINT_MIN UINT64_MIN
601 
603 #define ML_UINT_MAX UINT64_MAX
605 
606 
607 
608 
609 //-------------------------------------------------------------------------------------
612 // Introduce signed and unsigned size and offset types for pointers which are 32 bit
613 // on 32 bit systems and 64 bit on 64 bit systems. This is necessary, because integer
614 // is not large enough on 64 bit systems, because it remains 32 bit even on many 64 bit
615 // platforms.
616 // Notes:
617 // - size types should be used for memory, file, array and object sizes.
618 // - offset types should be used as offsets typically added to pointers.
619 //-------------------------------------------------------------------------------------
620 #ifndef _ML_USIZE_T
622  #define _ML_USIZE_T
623 
626 
628  typedef size_t MLusize_t;
629 
631  #define ML_USIZE_T_MIN ( static_cast<size_t>(0))
632 
634  #define ML_USIZE_T_MAX (~static_cast<size_t>(0))
635 
637  #define ML_SIZE_T_MIN ML_USIZE_T_MIN
638 
640  #define ML_SIZE_T_MAX ML_USIZE_T_MAX
641 
642 #endif
643 
644 
645 #ifndef _ML_SIZE_T
647  #define _ML_SIZE_T
648 
650  typedef MLint MLsoffset;
651 
652  #if defined(WIN32)
654  typedef SSIZE_T MLssize_t;
655  #else
657  typedef ssize_t MLssize_t;
658  #endif
659 
661  #define ML_SSIZE_T_MIN (static_cast<MLssize_t>(1) << (sizeof(MLssize_t)*8-1))
662 
664  // Take the
665  #define ML_SSIZE_T_MAX (static_cast<MLssize_t>(ML_USIZE_T_MAX ^ ML_SSIZE_T_MIN))
666 #endif
667 
669 
670 
671 
672 //---------------------------------------------------------------------------------------------
673 //
674 //
675 // TYPEDEFS, MOSTLY ENUMS
676 //
677 //
678 //---------------------------------------------------------------------------------------------
679 
680 //--------------------------------------------------------------------------------------------------
683 //--------------------------------------------------------------------------------------------------
685 
686 
687 #if ML_DEPRECATED_SINCE(3,5,0)
688 //--------------------------------------------------------------------------------------------------
691 //--------------------------------------------------------------------------------------------------
692 typedef MLint32 MLPhysicalDataType;
693 
694 #if defined(WIN32) && !defined(ML_NO_DEPRECATED_WARNINGS)
695 #pragma deprecated("MLPhysicalDataType")
696 #endif
697 
698 #endif
699 
700 //--------------------------------------------------------------------------------------------------
702 //--------------------------------------------------------------------------------------------------
703 #define ML_UNDEFINED_THREADID 0
704 
705 #ifdef WIN32
707 #else
708 typedef pthread_t MLThreadId;
709 #endif
710 
711 //--------------------------------------------------------------------------------------------------
714 //--------------------------------------------------------------------------------------------------
715 #define ML_INVALID_DATA_TYPE -1
716 
717 //--------------------------------------------------------------------------------------------------
720 //--------------------------------------------------------------------------------------------------
721 typedef enum {
732 
733  // Type IDs for extended data types:
735 
737 
750 
756 
769 
770  // this type is more or less deprecated
772 
774 
775 //--------------------------------------------------------------------------------------------------
777 //--------------------------------------------------------------------------------------------------
778 typedef enum { ML_RETURN_NULL = 0x0,
783 
784 
785 //--------------------------------------------------------------------------------------------------
787 //--------------------------------------------------------------------------------------------------
788 typedef enum { ML_FINAL_RUNTIME_CHECK_BIT = 0x1,
789  // Todo if memory manager knows how much memory is freed/allocated on reallocs:
790  //ML_FINAL_MEMORY_CHECK_BIT = 0x2, //!< Final checks in the Memory class are activated.
792  ML_ALL_CHECKS_BITS = 0x1
794 
795 //--------------------------------------------------------------------------------------------------
797 //--------------------------------------------------------------------------------------------------
798 typedef enum { ML_WARNING = 0x01,
799  ML_ERROR = 0x02,
800  ML_FATAL = 0x04,
801  ML_DEBUG = 0x08,
802  ML_COUT = 0x10,
803  ML_CERR = 0x20,
806 
808 
809 
810 //-----------------------------------------------------------------------------------
815 
819 
820 // Note: Be sure to cast them all to the correct MLErrorCode type.
821 
823 #define ML_INVALID_ERROR_CODE static_cast<MLErrorCode>(-1)
824 
826 #define ML_RESULT_OK static_cast<MLErrorCode>( 0)
827 
832 #define ML_UNKNOWN_EXCEPTION static_cast<MLErrorCode>( 1)
833 
837 #define ML_NO_MEMORY static_cast<MLErrorCode>( 2)
838 
840 #define ML_DISCONNECTED_GRAPH static_cast<MLErrorCode>( 3)
841 
844 #define ML_CYCLIC_GRAPH static_cast<MLErrorCode>( 4)
845 
847 #define ML_BAD_OPERATOR_POINTER static_cast<MLErrorCode>( 5)
848 
850 #define ML_BAD_OPERATOR_OUTPUT_INDEX static_cast<MLErrorCode>( 6)
851 
853 #define ML_BAD_FIELD static_cast<MLErrorCode>( 7)
854 
859 #define ML_IMAGE_DATA_CALCULATION_FAILED static_cast<MLErrorCode>( 8)
860 
862 #define ML_NO_IMAGE_INPUT_EXTENSION static_cast<MLErrorCode>( 9)
863 
870 #define ML_NO_IMAGE_PROPS static_cast<MLErrorCode>(10)
871 
873 #define ML_BAD_OPERATOR_INPUT_INDEX static_cast<MLErrorCode>(11)
874 
878 #define ML_BAD_INPUT_IMAGE_POINTER static_cast<MLErrorCode>(12)
879 
884 #define ML_BAD_DATA_TYPE static_cast<MLErrorCode>(13)
885 
890 #define ML_PROGRAMMING_ERROR static_cast<MLErrorCode>(14)
891 
897 #define ML_EMPTY_MESSAGE static_cast<MLErrorCode>(15)
898 
905 #define ML_PAGE_CALCULATION_ERROR_IN_MODULE static_cast<MLErrorCode>(16)
906 
911 #define ML_PROPERTY_CALCULATION_ERROR_IN_MODULE static_cast<MLErrorCode>(17)
912 
918 #define ML_INBOX_CALCULATION_ERROR_IN_MODULE static_cast<MLErrorCode>(18)
919 
925 #define ML_BAD_PARAMETER static_cast<MLErrorCode>(19)
926 
934 #define ML_CALCULATION_ERROR static_cast<MLErrorCode>(20)
935 
937 #define ML_BAD_DIMENSION static_cast<MLErrorCode>(21)
938 
951 #define ML_RECURSION_ERROR static_cast<MLErrorCode>(22)
952 
958 #define ML_LIBRARY_LOAD_ERROR static_cast<MLErrorCode>(23)
959 
962 #define ML_FILE_IO_ERROR static_cast<MLErrorCode>(24)
963 
966 #define ML_AFTER_EFFECT static_cast<MLErrorCode>(25)
967 
970 #define ML_BAD_INDEX static_cast<MLErrorCode>(26)
971 
974 #define ML_OUT_OF_RANGE static_cast<MLErrorCode>(27)
975 
979 #define ML_MISSING_VOXEL_TYPE_OPERATIONS static_cast<MLErrorCode>(28)
980 
983 #define ML_BAD_FIELD_TYPE static_cast<MLErrorCode>(29)
984 
986 #define ML_BAD_FIELD_POINTER_OR_NO_MEMORY static_cast<MLErrorCode>(30)
987 
991 #define ML_FIELD_CREATION_ERROR_OR_NO_MEMORY static_cast<MLErrorCode>(31)
992 
994 #define ML_TYPE_INITIALIZATION_ERROR static_cast<MLErrorCode>(32)
995 
997 #define ML_CONSTRUCTOR_EXCEPTION static_cast<MLErrorCode>(33)
998 
1001 #define ML_DESTRUCTOR_EXCEPTION static_cast<MLErrorCode>(34)
1002 
1004 #define ML_TABLE_FULL static_cast<MLErrorCode>(35)
1005 
1008 #define ML_EXTERNAL_ERROR static_cast<MLErrorCode>(36)
1009 
1012 #define ML_BAD_BASE_FIELD static_cast<MLErrorCode>(37)
1013 
1016 #define ML_BAD_BASE_FIELD_CONTENT static_cast<MLErrorCode>(38)
1017 
1023 #define ML_TYPE_NOT_REGISTERED static_cast<MLErrorCode>(39)
1024 
1030 #define ML_LIBRARY_INIT_ERROR static_cast<MLErrorCode>(40)
1031 
1035 #define ML_BAD_POINTER_OR_0 static_cast<MLErrorCode>(41)
1036 
1040 #define ML_BAD_STATE static_cast<MLErrorCode>(42)
1041 
1043 #define ML_TOO_MANY_PUSHES_OR_ADDS static_cast<MLErrorCode>(43)
1044 
1046 #define ML_TOO_MANY_POPS_OR_REMOVES static_cast<MLErrorCode>(44)
1047 
1049 #define ML_STACK_TABLE_OR_BUFFER_EMPTY static_cast<MLErrorCode>(45)
1050 
1052 #define ML_STACK_TABLE_OR_BUFFER_NOT_EMPTY static_cast<MLErrorCode>(46)
1053 
1055 #define ML_ELEMENT_NOT_FOUND static_cast<MLErrorCode>(47)
1056 
1059 #define ML_INVALID_FILE_NAME static_cast<MLErrorCode>(48)
1060 
1062 #define ML_INVALID_FILE_DESCRIPTOR static_cast<MLErrorCode>(49)
1063 
1065 #define ML_FILE_NOT_OPEN static_cast<MLErrorCode>(50)
1066 
1070 #define ML_NO_OR_INVALID_PERMISSIONS static_cast<MLErrorCode>(51)
1071 
1074 #define ML_DISK_OR_RESSOURCE_FULL static_cast<MLErrorCode>(52)
1075 
1081 #define ML_FILE_OR_DATA_STRUCTURE_CORRUPTED static_cast<MLErrorCode>(53)
1082 
1085 #define ML_INVALID_VERSION static_cast<MLErrorCode>(54)
1086 
1092 #define ML_UNKNOWN_OR_INVALID_COMPRESSION_SCHEME static_cast<MLErrorCode>(55)
1093 
1099 #define ML_TYPE_ALREADY_REGISTERED static_cast<MLErrorCode>(56)
1100 
1103 #define ML_TYPE_IS_ABSTRACT static_cast<MLErrorCode>(57)
1104 
1107 #define ML_TYPE_NOT_DERIVED_FROM_EXPECTED_PARENT_CLASS static_cast<MLErrorCode>(58)
1108 
1110 #define ML_OPERATION_INTERRUPTED static_cast<MLErrorCode>(59)
1111 
1114 #define ML_BAD_PAGE_ID static_cast<MLErrorCode>(60)
1115 
1119 #define ML_OUT_OF_RESSOURCES static_cast<MLErrorCode>(61)
1120 
1122 #define ML_OBJECT_OR_FILE_EXISTS static_cast<MLErrorCode>(62)
1123 
1125 #define ML_OBJECT_OR_FILE_DOES_NOT_EXIST static_cast<MLErrorCode>(63)
1126 
1128 #define ML_DEADLOCK_WOULD_OCCURR static_cast<MLErrorCode>(64)
1129 
1133 #define ML_COULD_NOT_OPEN_FILE static_cast<MLErrorCode>(65)
1134 
1137 #define ML_COULD_NOT_CREATE_OPEN_OR_MODIFY_FILE ML_COULD_NOT_OPEN_FILE
1138 
1140 #define ML_LIBRARY_UNLOAD_ERROR static_cast<MLErrorCode>(66)
1141 
1143 #define ML_LIBRARY_UNLOAD_EXCEPTION static_cast<MLErrorCode>(67)
1144 
1146 #define ML_NOT_SUPPORTED_ON_THIS_SYSTEM static_cast<MLErrorCode>(68)
1147 
1149 #define ML_OBJECT_STILL_REFERENCED static_cast<MLErrorCode>(69)
1150 
1152 #define ML_REQUEST_OUTSIDE_OF_IMAGE static_cast<MLErrorCode>(70)
1153 
1155 #define MLNumDefaultErrorCodes static_cast<MLErrorCode>(71)
1157 
1158 //--------------------------------------------------------------------------------------------------
1160 //--------------------------------------------------------------------------------------------------
1162 typedef enum { ML_CONTINUE= 0,
1163  ML_ABORT,
1169 
1170 
1171 //--------------------------------------------------------------------------------------------------
1174 //--------------------------------------------------------------------------------------------------
1176 typedef enum { ML_NOTIFY_NO_OBJECT = 0x00000000,
1177  ML_NOTIFY_ERROR_OUTPUT = 0x00010000,
1178  ML_NOTIFY_API = 0x00020000,
1179  ML_NOTIFY_RUNTIME = 0x00040000,
1180  ML_NOTIFY_CACHE = 0x00080000,
1181  ML_NOTIFY_HOST = 0x00100000,
1182  ML_NOTIFY_MODULE = 0x00200000,
1183 
1184 #if ML_DEPRECATED_SINCE(3,5,0)
1187  ML_NOTIFY_BASEOP = ML_NOTIFY_MODULE,
1188 #endif
1189 
1190 
1191  ML_NOTIFY_LAST_CLASS = 0x00400000
1193 
1201 
1208 
1211 
1214 
1220 
1225 
1229 #if ML_DEPRECATED_SINCE(3,5,0)
1230  ,ML_NOTIFY_BASEOP_INSTANTIATED = ML_NOTIFY_MODULE_INSTANTIATED,
1231  ML_NOTIFY_BASEOP_DELETED = ML_NOTIFY_MODULE_DELETED
1232 #endif
1233 
1234 
1235 
1238 
1239 
1240 
1241 //--------------------------------------------------------------------------------------------------
1244 //--------------------------------------------------------------------------------------------------
1245 typedef enum {
1249 
1250 
1251 //--------------------------------------------------------------------------------------------------
1253 //--------------------------------------------------------------------------------------------------
1254 typedef enum {
1259 
1260 
1262 typedef enum {
1263  ML_VX = 0,
1264  ML_VY = 1,
1265  ML_VZ = 2,
1266  ML_VW = 3,
1267  ML_VC = 3,
1268  ML_VT = 4,
1269  ML_VU = 5
1271 
1272 
1273 //---------------------------------------------------------------------------------------------
1274 //
1275 //
1276 // FUNCTION TYPEDEFS
1277 //
1278 //
1279 //---------------------------------------------------------------------------------------------
1280 
1282 typedef double (*MLDblFuncPtr)(double);
1283 
1284 
1285 //-----------------------------------------------------------------------------------
1287 //-----------------------------------------------------------------------------------
1289 typedef void MLMessageCB(void* usrData,
1290  MLErrorCode errCode,
1291  MLMessageType messageType,
1292  const char* messStr,
1293  int line,
1294  const char** infos);
1295 
1296 
1297 //---------------------------------------------------------------------------------------------
1306 //---------------------------------------------------------------------------------------------
1307 typedef void MLNotifyCB(MLuint32 objType,
1308  void* usrData,
1309  void* objectData1, void* objData2);
1310 
1311 //--------------------------------------------------------------------------------------------------
1314 //--------------------------------------------------------------------------------------------------
1315 typedef void MLSensorCB (void* usrData, void* sensor);
1316 typedef void MLHostProgressCB (void* usrData, const char* info1, const char* info2);
1317 typedef MLint32 MLHostBreakCheckCB (void* usrData, void** hitField);
1318 typedef void MLRequestProgressCB(void* usrData, double progress);
1320 
1321 
1322 //-----------------------------------------------------------------------------------
1323 //
1326 //
1327 //-----------------------------------------------------------------------------------
1328 
1331 typedef const char* MLApplicationGetStringPropertyCB(void* applicationUsrData, const char* propertyName, MLint16* found);
1332 
1334 typedef MLint32 MLApplicationGetInt32PropertyCB (void* applicationUsrData, const char* propertyName, MLint16* found);
1335 
1337 typedef double MLApplicationGetDoublePropertyCB(void* applicationUsrData, const char* propertyName, MLint16* found);
1338 
1341 typedef MLint32 MLApplicationGetBoolPropertyCB (void* applicationUsrData, const char* propertyName, MLint16* found);
1342 
1343 
1344 //--------------------------------------------------------------------------------------------------
1351 //--------------------------------------------------------------------------------------------------
1352 typedef MLint32 MLEventFilterCB (void* usrData, void* event);
1353 
1354 
1355 //--------------------------------------------------------------------------------------------------
1357 //--------------------------------------------------------------------------------------------------
1358 typedef struct
1359 {
1362 
1365 
1368 
1371 
1374 
1376 
1377 
1378 //--------------------------------------------------------------------------------------------------
1388 //--------------------------------------------------------------------------------------------------
1389 typedef void MLEventFilterApplicationHookCB(void* applicationUsrData,
1391  MLEventFilterCB* cb,
1392  void * usrData,
1393  MLuint32 fromMessageId,
1394  MLuint32 toMessageId);
1395 
1396 
1397 
1398 
1399 
1400 //---------------------------------------------------------------------------------------------
1401 //
1402 //
1403 // REGISTERED TYPE SUPPORT
1404 //
1405 //
1406 //---------------------------------------------------------------------------------------------
1407 
1408 //--------------------------------------------------------------------------------------------------
1410 //--------------------------------------------------------------------------------------------------
1412 
1413 #if ML_DEPRECATED_SINCE(3,5,0)
1414 //--------------------------------------------------------------------------------------------------
1416 //--------------------------------------------------------------------------------------------------
1420 ML_DEPRECATED typedef MLTypePropertyBits MLTypePropBits;
1423 ML_DEPRECATED typedef bool MLCTBool;
1426 ML_DEPRECATED typedef MLint MLCTInt;
1429 ML_DEPRECATED typedef MLuint64 MLCTUInt;
1431 #endif
1432 
1433 //--------------------------------------------------------------------------------------------------
1435 //--------------------------------------------------------------------------------------------------
1436 typedef unsigned char MLTypeData;
1437 
1438 //--------------------------------------------------------------------------------------------------
1440 //--------------------------------------------------------------------------------------------------
1441 struct MLTypeInfos;
1442 
1443 //--------------------------------------------------------------------------------------------------
1446 //--------------------------------------------------------------------------------------------------
1448 
1449 //--------------------------------------------------------------------------------------------------
1451 //--------------------------------------------------------------------------------------------------
1452 typedef enum {
1458 
1459 //--------------------------------------------------------------------------------------------------
1465 //--------------------------------------------------------------------------------------------------
1466 struct MLTypeInfos {
1467 
1470 
1472 #if ML_DEPRECATED_SINCE(3,5,0)
1473  union {
1474  size_t numComponents;
1475  size_t numComps;
1476  };
1477 #else
1479 #endif
1480 
1482  size_t typeSize;
1483 
1485  const char* name;
1486 
1489 
1492 
1495 
1498 
1501 
1504 
1507 
1509  const char** goodCastTos;
1510 
1512 #if ML_DEPRECATED_SINCE(3,5,0)
1513  union {
1515  size_t compOffsets[ML_MAX_COMPONENTS_EXTENDED_TYPE];
1516  };
1517 #else
1519 #endif
1520 
1535  const char* structInfoString;
1536 
1539 
1542 
1546 
1547  //--------------------------------------------------------------------------------------------------
1550  //--------------------------------------------------------------------------------------------------
1551  typedef void (*Function_SetTo ) (MLTypeData* dest);
1552  typedef bool (*Function_CastToBool ) (const MLTypeData* p);
1553  typedef MLint (*Function_CastToInt ) (const MLTypeData* p);
1555  typedef char* (*Function_GetStringValue ) (const MLTypeData* p);
1556  typedef void (*Function_CastFromInt ) (MLint value, MLTypeData* result);
1557  typedef void (*Function_CastFromDouble ) (MLdouble value, MLTypeData* result);
1558  typedef void (*Function_SetStringValue ) (const char* str, MLTypeData* result);
1559  typedef void (*Function_CopyValue ) (const MLTypeData* source, MLTypeData* dest);
1560  typedef bool (*Function_IsEqualToType ) (const MLTypeData* source1, const MLTypeData* source2);
1561  typedef bool (*Function_IsEqualToTypeWithEpsilon ) (const MLTypeData* source1, const MLTypeData* source2, MLdouble epsilon);
1562  typedef void (*Function_ApplyIntOperation ) (const MLTypeData* source, MLint value, MLTypeData* result);
1563  typedef void (*Function_ApplyDoubleOperation ) (const MLTypeData* source, MLdouble value, MLTypeData* result);
1564  typedef void (*Function_ApplyOperation ) (const MLTypeData* source1, const MLTypeData* source2, MLTypeData* result);
1565  typedef void (*Function_CastToOtherType ) (const MLTypeData* myData, const MLTypeInfos* otherInfos, MLTypeData* otherData);
1566  typedef void (*Function_CastFromOtherType ) (const MLTypeInfos* myInfos, const MLTypeData* myData, MLTypeData* otherData);
1567  typedef void (*Function_MultWithOtherType ) (const MLTypeInfos* myInfos, const MLTypeData* myData, const MLTypeData* otherData, MLTypeData* result);
1568  typedef void (*Function_ArrayCopy ) (const MLTypeData* source, MLTypeData* dest, size_t size);
1569  typedef void (*Function_ArrayFill ) (const MLTypeData* fillValue, MLTypeData* dest, size_t size);
1570  typedef void (*Function_ArrayCopyWithStrides ) (const MLTypeData* source, MLssize_t sourceStride, MLTypeData* dest, MLssize_t destStride, size_t size);
1571  typedef void (*Function_Interpolate ) (const MLTypeData* source1, const MLTypeData* source2, MLdouble alpha, MLTypeData* result);
1572  typedef void (*Function_ArrayRescale ) (const MLTypeData* source, MLdouble scaleFactor, const MLTypeData* offset, MLTypeData* dest, size_t size);
1573  typedef bool (*Function_ArrayEqualsValue ) (const MLTypeData* value, const MLTypeData* buffer, size_t size);
1574  typedef void (*Function_ArrayGetMinMax ) (const MLTypeData* source, size_t size, MLdouble& min, MLdouble& max);
1575  typedef MLdouble (*Function_GetComponent ) (const MLTypeData* source, size_t componentIndex);
1576  typedef void (*Function_SetComponent ) (MLTypeData* dest, size_t componentIndex, MLdouble value);
1578 
1581 
1589 
1608 
1617 
1624 
1627 
1630 
1635 
1640 
1645 
1650 
1655 
1664 
1672 };
1673 
1674 ML_START_NAMESPACE
1675 
1677 
1678 ML_END_NAMESPACE
1679 
1680 
1681 //--------------------------------------------------------------------------------------------------
1685 //--------------------------------------------------------------------------------------------------
1686 #define ML_CALC_FTYPE MLdouble
1687 
1688 //--------------------------------------------------------------------------------------------------
1692 //--------------------------------------------------------------------------------------------------
1693 #define ML_CALC_ITYPE MLint
1694 
1695 
1696 //--------------------------------------------------------------------------------------------------
1699 //--------------------------------------------------------------------------------------------------
1700 #define ML_TYPE_ASSIGN_FUNCTION_POINTERS() \
1701  getStringValue = MLTYPE_getStringValue; \
1702  setStringValue = MLTYPE_setStringValue; \
1703  setToMinimum = MLTYPE_setToMinimum; \
1704  setToMaximum = MLTYPE_setToMaximum; \
1705  setToDefault = MLTYPE_setToDefault; \
1706  getComponent = MLTYPE_getComponent; \
1707  setComponent = MLTYPE_setComponent; \
1708  copy = MLTYPE_copy; \
1709  arrayCopy = MLTYPE_arrayCopy; \
1710  arrayCopyWithStrides = MLTYPE_arrayCopyWithStrides; \
1711  arrayFill = MLTYPE_arrayFill; \
1712  \
1713  castToBool = MLTYPE_castToBool; \
1714  castToInt = MLTYPE_castToInt; \
1715  castToDouble = MLTYPE_castToDouble; \
1716  castToOtherType = MLTYPE_castToOtherType; \
1717  castFromInt = MLTYPE_castFromInt; \
1718  castFromDouble = MLTYPE_castFromDouble; \
1719  castFromOtherType = MLTYPE_castFromOtherType; \
1720  \
1721  isEqualToType = MLTYPE_isEqualToType; \
1722  isEqualToTypeWithEpsilon= MLTYPE_isEqualToTypeWithEpsilon;\
1723  \
1724  negate = MLTYPE_negate; \
1725  normalize = MLTYPE_normalize; \
1726  \
1727  arrayRescale = MLTYPE_arrayRescale; \
1728  interpolate = MLTYPE_interpolate; \
1729  arrayEqualsValue = MLTYPE_arrayEqualsValue; \
1730  arrayGetMinMax = MLTYPE_arrayGetMinMax; \
1731  \
1732  multWithInt = MLTYPE_multWithInt; \
1733  multWithDouble = MLTYPE_multWithDouble; \
1734  multWithType = MLTYPE_multWithType; \
1735  multWithOtherType = MLTYPE_multWithOtherType; \
1736  \
1737  plusInt = MLTYPE_plusInt; \
1738  plusDouble = MLTYPE_plusDouble; \
1739  plusType = MLTYPE_plusType;
1741 
1742 
1743 #endif // __mlTypeDefs_H
1744 
1745 
1746 
#define ML_DEPRECATED
Definition: CSOGroup.h:371
@ T
Definition: SoKeyGrabber.h:71
MLint32 MLDataType
MLDataType.
Definition: mlTypeDefs.h:684
MLDataTypeIds
MLDataType identifiers.
Definition: mlTypeDefs.h:721
#define ML_MAX_COMPONENTS_EXTENDED_TYPE
Maximum number of components for extended types.
Definition: mlTypeDefs.h:259
@ MLVector8i16Type
Definition: mlTypeDefs.h:763
@ MLVector7fType
Definition: mlTypeDefs.h:743
@ MLVector2fType
Definition: mlTypeDefs.h:738
@ MLMatrix2dType
Definition: mlTypeDefs.h:751
@ MLVector8i32Type
Definition: mlTypeDefs.h:763
@ MLComplexdType
Definition: mlTypeDefs.h:734
@ MLVector64i16Type
Definition: mlTypeDefs.h:768
@ MLVector6fType
Definition: mlTypeDefs.h:742
@ MLVector6i32Type
Definition: mlTypeDefs.h:761
@ MLuint8Type
Enumerator for the unsigned 8 bit ML integer type.
Definition: mlTypeDefs.h:723
@ MLVector2i8Type
Definition: mlTypeDefs.h:757
@ MLVector5i64Type
Definition: mlTypeDefs.h:760
@ MLMatrix6dType
Definition: mlTypeDefs.h:755
@ MLVector2i16Type
Definition: mlTypeDefs.h:757
@ MLVector10i32Type
Definition: mlTypeDefs.h:765
@ MLVector3fType
Definition: mlTypeDefs.h:739
@ MLVector3i16Type
Definition: mlTypeDefs.h:758
@ MLVector7i64Type
Definition: mlTypeDefs.h:762
@ MLQuaternionfType
Definition: mlTypeDefs.h:736
@ MLVector5fType
Definition: mlTypeDefs.h:741
@ MLVector10fType
Definition: mlTypeDefs.h:746
@ MLVector32i8Type
Definition: mlTypeDefs.h:767
@ MLuint32Type
Enumerator for the unsigned 32 bit ML integer type.
Definition: mlTypeDefs.h:727
@ MLComplexfType
Definition: mlTypeDefs.h:734
@ MLMatrix5fType
Definition: mlTypeDefs.h:754
@ MLfloatType
Enumerator for the signed 32 bit ML floating point type.
Definition: mlTypeDefs.h:728
@ MLuint16Type
Enumerator for the unsigned 16 bit ML integer type.
Definition: mlTypeDefs.h:725
@ MLVector9fType
Definition: mlTypeDefs.h:745
@ MLVector7i16Type
Definition: mlTypeDefs.h:762
@ MLVector16fType
Definition: mlTypeDefs.h:747
@ MLVector16i32Type
Definition: mlTypeDefs.h:766
@ MLMatrix3dType
Definition: mlTypeDefs.h:752
@ MLVector64dType
Definition: mlTypeDefs.h:749
@ MLVector4i32Type
Definition: mlTypeDefs.h:759
@ MLVector64i64Type
Definition: mlTypeDefs.h:768
@ MLint64Type
Enumerator for the signed 64 bit ML integer type.
Definition: mlTypeDefs.h:730
@ MLVector32i64Type
Definition: mlTypeDefs.h:767
@ MLVector3i32Type
Definition: mlTypeDefs.h:758
@ MLVector4i64Type
Definition: mlTypeDefs.h:759
@ MLVector16dType
Definition: mlTypeDefs.h:747
@ MLVector3i64Type
Definition: mlTypeDefs.h:758
@ MLVector7i32Type
Definition: mlTypeDefs.h:762
@ MLVector32dType
Definition: mlTypeDefs.h:748
@ MLVector3dType
Definition: mlTypeDefs.h:739
@ MLVector2i64Type
Definition: mlTypeDefs.h:757
@ MLVector32i32Type
Definition: mlTypeDefs.h:767
@ MLMatrix4dType
Definition: mlTypeDefs.h:753
@ MLVector64i8Type
Definition: mlTypeDefs.h:768
@ MLVector5i32Type
Definition: mlTypeDefs.h:760
@ MLVector8fType
Definition: mlTypeDefs.h:744
@ MLMatrix5dType
Definition: mlTypeDefs.h:754
@ MLVector64fType
Definition: mlTypeDefs.h:749
@ MLVector6i8Type
Definition: mlTypeDefs.h:761
@ MLVector2dType
Definition: mlTypeDefs.h:738
@ MLVector5i16Type
Definition: mlTypeDefs.h:760
@ MLVector7dType
Definition: mlTypeDefs.h:743
@ MLint16Type
Enumerator for the signed 16 bit ML integer type.
Definition: mlTypeDefs.h:724
@ MLVector9dType
Definition: mlTypeDefs.h:745
@ MLint32Type
Enumerator for the signed 32 bit ML integer type.
Definition: mlTypeDefs.h:726
@ MLVector4i16Type
Definition: mlTypeDefs.h:759
@ MLVector4fType
Definition: mlTypeDefs.h:740
@ MLVector16i16Type
Definition: mlTypeDefs.h:766
@ MLVector3i8Type
Definition: mlTypeDefs.h:758
@ MLVector4dType
Definition: mlTypeDefs.h:740
@ MLMatrix3fType
Definition: mlTypeDefs.h:752
@ MLVector6dType
Definition: mlTypeDefs.h:742
@ MLMatrix6fType
Definition: mlTypeDefs.h:755
@ MLVector5i8Type
Definition: mlTypeDefs.h:760
@ MLdoubleType
Enumerator for the signed 64 bit ML floating point type.
Definition: mlTypeDefs.h:729
@ MLVector10i8Type
Definition: mlTypeDefs.h:765
@ MLVector6i16Type
Definition: mlTypeDefs.h:761
@ MLVector9i32Type
Definition: mlTypeDefs.h:764
@ MLVector10i16Type
Definition: mlTypeDefs.h:765
@ MLVector2i32Type
Definition: mlTypeDefs.h:757
@ MLVector32i16Type
Definition: mlTypeDefs.h:767
@ MLVector32fType
Definition: mlTypeDefs.h:748
@ MLVector6i64Type
Definition: mlTypeDefs.h:761
@ MLVector64i32Type
Definition: mlTypeDefs.h:768
@ MLQuaterniondType
Definition: mlTypeDefs.h:736
@ MLint8Type
Enumerator for the signed 8 bit ML integer type.
Definition: mlTypeDefs.h:722
@ MLVector9i8Type
Definition: mlTypeDefs.h:764
@ MLVector16i8Type
Definition: mlTypeDefs.h:766
@ MLMatrix4fType
Definition: mlTypeDefs.h:753
@ MLuint64Type
Enumerator for the unsigned 64 bit ML integer type.
Definition: mlTypeDefs.h:731
@ MLMatrix2fType
Definition: mlTypeDefs.h:751
@ MLVector4i8Type
Definition: mlTypeDefs.h:759
@ MLVector7i8Type
Definition: mlTypeDefs.h:762
@ MLVector8i64Type
Definition: mlTypeDefs.h:763
@ MLldoubleType
Definition: mlTypeDefs.h:771
@ MLVector9i16Type
Definition: mlTypeDefs.h:764
@ MLVector10dType
Definition: mlTypeDefs.h:746
@ MLVector8i8Type
Definition: mlTypeDefs.h:763
@ MLVector10i64Type
Definition: mlTypeDefs.h:765
@ MLVector9i64Type
Definition: mlTypeDefs.h:764
@ MLVector8dType
Definition: mlTypeDefs.h:744
@ MLVector5dType
Definition: mlTypeDefs.h:741
@ MLVector16i64Type
Definition: mlTypeDefs.h:766
MLint32 MLErrorCode
Type of an ML Error code.
Definition: mlTypeDefs.h:818
MLCheckBits
Enumerator describing runtime and final checks in the ML.
Definition: mlTypeDefs.h:788
@ ML_FINAL_RUNTIME_CHECK_BIT
Final checks in the RuntimeType system are activated.
Definition: mlTypeDefs.h:788
@ ML_ALL_CHECKS_BITS
All available checks are activated.
Definition: mlTypeDefs.h:792
@ ML_NO_CHECKS_BITS
All checks are deactivated.
Definition: mlTypeDefs.h:791
MLNotifyChangedObjectType
Objects of the ML which call the registered functions when changed.
Definition: mlTypeDefs.h:1200
@ ML_NOTIFY_NO_OBJECT_TYPE
Definition: mlTypeDefs.h:1200
@ ML_NOTIFY_ERROR_OUTPUT_OTHER_CHANGES
Definition: mlTypeDefs.h:1207
@ ML_NOTIFY_ERROR_OUTPUT_TERMINATION_TYPE
Definition: mlTypeDefs.h:1204
@ ML_NOTIFY_CACHE_CLEAR
Definition: mlTypeDefs.h:1215
@ ML_NOTIFY_HOST_MAX_NUM_THREADS
Definition: mlTypeDefs.h:1221
@ ML_NOTIFY_CACHE_MONITORING_LEVEL
Definition: mlTypeDefs.h:1219
@ ML_NOTIFY_ERROR_OUTPUT_MESSAGE_FILTER
Definition: mlTypeDefs.h:1205
@ ML_NOTIFY_ERROR_OUTPUT_FULL_DEBUGGING
Definition: mlTypeDefs.h:1203
@ ML_NOTIFY_MODULE_INSTANTIATED
Definition: mlTypeDefs.h:1227
@ ML_NOTIFY_API_EXCEPTIONS
Definition: mlTypeDefs.h:1209
@ ML_NOTIFY_HOST_USE_CLASSIC_HOST
Definition: mlTypeDefs.h:1224
@ ML_NOTIFY_ERROR_OUTPUT_ERROR_OUTPUT_CB
Definition: mlTypeDefs.h:1202
@ ML_NOTIFY_CACHE_MEM_OPT_LEVEL
Definition: mlTypeDefs.h:1216
@ ML_NOTIFY_RUNTIME_TYPE_ADDED
Definition: mlTypeDefs.h:1212
@ ML_NOTIFY_HOST_BREAK_CHECK_CB
Definition: mlTypeDefs.h:1222
@ ML_NOTIFY_API_CHECKS_BITS
Definition: mlTypeDefs.h:1210
@ ML_NOTIFY_MODULE_DELETED
Definition: mlTypeDefs.h:1228
@ ML_NOTIFY_CACHE_MAX_SIZE
Definition: mlTypeDefs.h:1218
@ ML_NOTIFY_RUNTIME_TYPE_REMOVED
Definition: mlTypeDefs.h:1213
@ ML_NOTIFY_FIELD_HANDLED
Definition: mlTypeDefs.h:1226
@ ML_NOTIFY_ERROR_OUTPUT_DEBUG_ENV_NAMES
Definition: mlTypeDefs.h:1206
@ ML_NOTIFY_CACHE_FLUSH
Definition: mlTypeDefs.h:1217
@ ML_NOTIFY_HOST_PROGRESS_CB
Definition: mlTypeDefs.h:1223
MLuint64 MLTypePropertyBits
Structure to define a bit mask which identifies all implemented functions for a data type.
Definition: mlTypeDefs.h:1411
signed short * MLint16Ptr
Definition: mlTypeDefs.h:132
MLTerminator
Termination types for error handling.
Definition: mlTypeDefs.h:1162
@ ML_EXITCODE
Terminates the application with exit(ErrorCode), not recommended for use in normal code.
Definition: mlTypeDefs.h:1166
@ ML_EXIT0
Terminates the application with exit(0), not recommended for use in normal code.
Definition: mlTypeDefs.h:1165
@ ML_ABORT
Uses abort() to terminate the application which supports easily to start the debugger.
Definition: mlTypeDefs.h:1163
@ MLNumTerminators
Definition: mlTypeDefs.h:1167
@ ML_CONTINUE
Tries to ignore the message and to continue.
Definition: mlTypeDefs.h:1162
double(* MLDblFuncPtr)(double)
A function pointer type to a function which returns a double and takes a double as argument.
Definition: mlTypeDefs.h:1282
MLint32 MLApplicationGetInt32PropertyCB(void *applicationUsrData, const char *propertyName, MLint16 *found)
Callback to the hosting application that is used to get an int value property with the propertyName f...
Definition: mlTypeDefs.h:1334
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
Definition: mlTypeDefs.h:513
float * MLfloatPtr
Definition: mlTypeDefs.h:208
MLMemoryErrorHandling
Enumerator to specify memory error handling.
Definition: mlTypeDefs.h:778
@ ML_FATAL_MEMORY_ERROR
On allocation failure a fatal error print is done and NULL is returned.
Definition: mlTypeDefs.h:779
@ ML_THROW_NO_MEMORY
On allocation failure a throw(ML_NO_MEMORY) is executed.
Definition: mlTypeDefs.h:780
@ ML_RETURN_NULL
On allocation failure NULL is returned without error handling.
Definition: mlTypeDefs.h:778
@ ML_FATAL_MEMORY_ERROR_AND_THROW_NO_MEMORY
On allocation failure a fatal error is posted and ML_NO_MEMORY is thrown.
Definition: mlTypeDefs.h:781
long double MLldouble
Definition: mlTypeDefs.h:238
MLNotifyChangedClassType
Codes for ML classes which may change:
Definition: mlTypeDefs.h:1176
@ ML_NOTIFY_MODULE
0x0020 = Module
Definition: mlTypeDefs.h:1182
@ ML_NOTIFY_API
0x0002 = API
Definition: mlTypeDefs.h:1178
@ ML_NOTIFY_CACHE
0x0008 = Cache
Definition: mlTypeDefs.h:1180
@ ML_NOTIFY_NO_OBJECT
0x0000 = No object
Definition: mlTypeDefs.h:1176
@ ML_NOTIFY_LAST_CLASS
Definition: mlTypeDefs.h:1191
@ ML_NOTIFY_HOST
0x0010 = Host
Definition: mlTypeDefs.h:1181
@ ML_NOTIFY_RUNTIME
0x0004 = Runtime
Definition: mlTypeDefs.h:1179
@ ML_NOTIFY_ERROR_OUTPUT
0x0001 = ErrorOutput
Definition: mlTypeDefs.h:1177
long double * MLldoublePtr
Definition: mlTypeDefs.h:239
MLint MLsoffset
Signed ML offset type which is a 32 bit signed integer on 32 bit platforms and a 64 bit integer on 64...
Definition: mlTypeDefs.h:650
MLint64 * MLintPtr
A pointer to the signed ML integer type MLint.
Definition: mlTypeDefs.h:581
char * MLint8Ptr
Definition: mlTypeDefs.h:104
UINT64 * MLuint64Ptr
Introduce platform independent 64 bit unsigned integer pointer type.
Definition: mlTypeDefs.h:515
MLuint32 MLThreadId
Definition: mlTypeDefs.h:706
MLint32 MLHostBreakCheckCB(void *usrData, void **hitField)
Definition: mlTypeDefs.h:1317
unsigned int MLuint32
Definition: mlTypeDefs.h:191
MLArrayIndex
Indexes for axes, arrays and vectors.
Definition: mlTypeDefs.h:1262
@ ML_VT
Array index for t (time) components (entry 4)
Definition: mlTypeDefs.h:1268
@ ML_VC
Array index for c (color) components (entry 3)
Definition: mlTypeDefs.h:1267
@ ML_VY
Array index for y components (entry 1)
Definition: mlTypeDefs.h:1264
@ ML_VU
Array index for u (unit/user dimension) components (entry 5)
Definition: mlTypeDefs.h:1269
@ ML_VZ
Array index for z components (entry 2)
Definition: mlTypeDefs.h:1265
@ ML_VW
Array index for w (forth components of homogeneous vectors, entry 3)
Definition: mlTypeDefs.h:1266
@ ML_VX
Array index for x components (entry 0)
Definition: mlTypeDefs.h:1263
unsigned char MLuint8
Definition: mlTypeDefs.h:115
void MLRequestProgressCB(void *usrData, double progress)
Definition: mlTypeDefs.h:1318
MLuint64 MLuint
An unsigned ML integer type with at least 64 bits used for index calculations on very large images ev...
Definition: mlTypeDefs.h:594
double MLdouble
Definition: mlTypeDefs.h:223
unsigned char * MLuint8Ptr
Definition: mlTypeDefs.h:116
MLEventFilterApplicationMessage
Enum to describe the significance of the call, e.g., whether an 'add' or a 'remove' of a function is ...
Definition: mlTypeDefs.h:1245
@ ML_EVENTFILTER_REMOVE_CB
Definition: mlTypeDefs.h:1247
@ ML_EVENTFILTER_ADD_CB
Definition: mlTypeDefs.h:1246
unsigned int * MLuint32Ptr
Definition: mlTypeDefs.h:192
void MLEventFilterApplicationHookCB(void *applicationUsrData, MLEventFilterApplicationMessage type, MLEventFilterCB *cb, void *usrData, MLuint32 fromMessageId, MLuint32 toMessageId)
Internal application event filter callback type.
Definition: mlTypeDefs.h:1389
unsigned char MLTypeData
This is the pointer type used to point to the data of MLType data instances.
Definition: mlTypeDefs.h:1436
MLTypeGroupIds
Some predefined type groups.
Definition: mlTypeDefs.h:1452
@ MLNoTypeGroup
Definition: mlTypeDefs.h:1453
@ MLMatrixTypeGroup
Definition: mlTypeDefs.h:1456
@ MLScalarTypeGroup
Definition: mlTypeDefs.h:1454
@ MLVectorTypeGroup
Definition: mlTypeDefs.h:1455
unsigned short MLuint16
Definition: mlTypeDefs.h:148
signed short MLint16
Definition: mlTypeDefs.h:131
char MLint8
Definition: mlTypeDefs.h:103
void MLSensorCB(void *usrData, void *sensor)
Definition: mlTypeDefs.h:1315
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
const char * MLApplicationGetStringPropertyCB(void *applicationUsrData, const char *propertyName, MLint16 *found)
Callback to the hosting application that is used to get a string value property with the propertyName...
Definition: mlTypeDefs.h:1331
unsigned short * MLuint16Ptr
Definition: mlTypeDefs.h:149
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
signed int * MLint32Ptr
Definition: mlTypeDefs.h:168
double MLApplicationGetDoublePropertyCB(void *applicationUsrData, const char *propertyName, MLint16 *found)
Callback to the hosting application that is used to get a double value property with the propertyName...
Definition: mlTypeDefs.h:1337
void MLMessageCB(void *usrData, MLErrorCode errCode, MLMessageType messageType, const char *messStr, int line, const char **infos)
Handling/setting/getting of ML messages callbacks.
Definition: mlTypeDefs.h:1289
MLint32 MLApplicationGetBoolPropertyCB(void *applicationUsrData, const char *propertyName, MLint16 *found)
Callback to the hosting application that is used to get a bool value property with the propertyName f...
Definition: mlTypeDefs.h:1341
MLuint64 MLuoffset
Unsigned ML offset type which is a 32 bit unsigned integer on 32 bit platforms and 64 bit one on 64 b...
Definition: mlTypeDefs.h:625
void MLNotifyCB(MLuint32 objType, void *usrData, void *objectData1, void *objData2)
Function type which is registered by the Notify object; it receives a code objType of type MLNotifyCh...
Definition: mlTypeDefs.h:1307
MLint32 MLEventFilterCB(void *usrData, void *event)
Callback function type for events that are passed to the user.
Definition: mlTypeDefs.h:1352
SSIZE_T MLssize_t
The signed ML size type which is a signed 32 bit size_t on 32 bit platforms and 64 bit one on 64 bit ...
Definition: mlTypeDefs.h:654
INT64 * MLint64Ptr
Introduce platform independent 64 bit signed integer pointer type.
Definition: mlTypeDefs.h:502
signed int MLint32
Definition: mlTypeDefs.h:167
size_t MLusize_t
The unsigned ML size type which is an unsigned 32 bit size_t on 32 bit platforms and 64 bit one on 64...
Definition: mlTypeDefs.h:628
void MLHostProgressCB(void *usrData, const char *info1, const char *info2)
Definition: mlTypeDefs.h:1316
MLuint64 * MLuintPtr
A pointer to the unsigned ML integer type MLuint.
Definition: mlTypeDefs.h:597
MLint32 MLTypeGroup
This is an identifier to differentiate types like matrices, vectors and complex/quaternion types,...
Definition: mlTypeDefs.h:1441
double * MLdoublePtr
Definition: mlTypeDefs.h:224
MLMessageType
Message types handled by the ErrorOutput class.
Definition: mlTypeDefs.h:798
@ ML_COUT
Definition: mlTypeDefs.h:802
@ ML_WARNING
Definition: mlTypeDefs.h:798
@ ML_DEBUG
Definition: mlTypeDefs.h:801
@ ML_ALL_MESSAGES
Definition: mlTypeDefs.h:807
@ ML_CERR
Definition: mlTypeDefs.h:803
@ ML_ERROR
Definition: mlTypeDefs.h:799
@ ML_FATAL
Definition: mlTypeDefs.h:800
@ ML_INFORMATION
Definition: mlTypeDefs.h:804
@ ML_OTHER_MESSAGE
Definition: mlTypeDefs.h:805
float MLfloat
Definition: mlTypeDefs.h:207
MLSign
Definition of possible signs as enumerator.
Definition: mlTypeDefs.h:1254
@ ML_NEGATIVE_SIGN
Negative sign enumerator.
Definition: mlTypeDefs.h:1256
@ ML_ZERO_SIGN
Enumerator for no negative and no positive sign (=0).
Definition: mlTypeDefs.h:1255
@ ML_POSITIVE_SIGN
Positive sign enumerator.
Definition: mlTypeDefs.h:1257
#define ML_UTILS_EXPORT
Defines platform dependent DLL export macro for mlUtils.
Definition: mlUtilities.h:20
boost::graph_traits< ml_graph_ptr >::vertex_descriptor source(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for u of the edge (u,v) represented by e.
void ML_UTILS_EXPORT logTypeComponentsFromStringError(const char *function)
Defines all callbacks that an application has to support for property access.
Definition: mlTypeDefs.h:1359
MLApplicationGetDoublePropertyCB * _getDoubleCB
Callback to be set by an application to return a double property.
Definition: mlTypeDefs.h:1367
MLApplicationGetBoolPropertyCB * _getBoolCB
Callback to be set by an application to return a Boolean property.
Definition: mlTypeDefs.h:1370
MLApplicationGetStringPropertyCB * _getStringCB
Callback to be set by an application to return a string property.
Definition: mlTypeDefs.h:1361
MLApplicationGetInt32PropertyCB * _getInt32CB
Callback to be set by an application to return a int32 property.
Definition: mlTypeDefs.h:1364
void * _applicationUsrData
Defines the user data that is supplied with all callbacks.
Definition: mlTypeDefs.h:1373
Structure containing all data type features and pointers to all functions needed to implement operati...
Definition: mlTypeDefs.h:1466
void(* Function_CastToOtherType)(const MLTypeData *myData, const MLTypeInfos *otherInfos, MLTypeData *otherData)
Definition: mlTypeDefs.h:1565
Function_CastFromDouble castFromDouble
Casts the first (the double) parameter to the data type and returns it into second parameter.
Definition: mlTypeDefs.h:1621
Function_GetStringValue getStringValue
Returns a value as a string.
Definition: mlTypeDefs.h:1585
bool(* Function_CastToBool)(const MLTypeData *p)
Definition: mlTypeDefs.h:1552
void(* Function_ArrayCopyWithStrides)(const MLTypeData *source, MLssize_t sourceStride, MLTypeData *dest, MLssize_t destStride, size_t size)
Definition: mlTypeDefs.h:1570
Function_IsEqualToType isEqualToType
Returns true if both parameters are equal, otherwise false.
Definition: mlTypeDefs.h:1626
Function_ArrayFill arrayFill
Sets first parameter to array at second one.
Definition: mlTypeDefs.h:1607
const MLTypeData * typeDefaultPtr
Data type default specified by derived class.
Definition: mlTypeDefs.h:1503
Function_ArrayCopyWithStrides arrayCopyWithStrides
Same as above, but allows to specify stride values for source and destination.
Definition: mlTypeDefs.h:1605
MLint(* Function_CastToInt)(const MLTypeData *p)
Definition: mlTypeDefs.h:1553
void(* Function_CastFromInt)(MLint value, MLTypeData *result)
Definition: mlTypeDefs.h:1556
Function_SetStringValue setStringValue
Converts string s to value and write result into r.
Definition: mlTypeDefs.h:1588
Function_CopyValue normalize
Normalizes the type value from parameter 1 and write it into parameter 2.
Definition: mlTypeDefs.h:1634
void(* Function_SetStringValue)(const char *str, MLTypeData *result)
Definition: mlTypeDefs.h:1558
bool(* Function_IsEqualToTypeWithEpsilon)(const MLTypeData *source1, const MLTypeData *source2, MLdouble epsilon)
Definition: mlTypeDefs.h:1561
MLTypeGroup typeGroup
Type group to which this type belongs.
Definition: mlTypeDefs.h:1541
void(* Function_ArrayCopy)(const MLTypeData *source, MLTypeData *dest, size_t size)
Definition: mlTypeDefs.h:1568
Function_ApplyIntOperation multWithInt
Implements multiplication with integer. Result written into parameter three.
Definition: mlTypeDefs.h:1657
size_t componentOffsets[ML_MAX_COMPONENTS_EXTENDED_TYPE]
Array of offsets from the first to other components to address any component directly.
Definition: mlTypeDefs.h:1518
void(* Function_ArrayFill)(const MLTypeData *fillValue, MLTypeData *dest, size_t size)
Definition: mlTypeDefs.h:1569
Function_SetTo setToMaximum
Sets value to minimum value. Must be implemented.
Definition: mlTypeDefs.h:1593
Function_ArrayCopy arrayCopy
Copies number of elements at first parameter to second one.
Definition: mlTypeDefs.h:1603
Function_SetTo setToDefault
Sets value to default value. Must be implemented.
Definition: mlTypeDefs.h:1595
Function_GetComponent getComponent
Get n-th component of the type as double.
Definition: mlTypeDefs.h:1597
Function_CopyValue copy
Copies first parameter to second one.
Definition: mlTypeDefs.h:1601
const MLTypeData * typeMinPtr
Data type minimum specified by derived class.
Definition: mlTypeDefs.h:1497
Function_ApplyIntOperation plusInt
Implements integer addition to parameter one. Result written into parameter three.
Definition: mlTypeDefs.h:1666
void(* Function_SetComponent)(MLTypeData *dest, size_t componentIndex, MLdouble value)
Definition: mlTypeDefs.h:1576
void(* Function_CastFromDouble)(MLdouble value, MLTypeData *result)
Definition: mlTypeDefs.h:1557
void(* Function_SetTo)(MLTypeData *dest)
Definition: mlTypeDefs.h:1551
void(* Function_Interpolate)(const MLTypeData *source1, const MLTypeData *source2, MLdouble alpha, MLTypeData *result)
Definition: mlTypeDefs.h:1571
void(* Function_ApplyDoubleOperation)(const MLTypeData *source, MLdouble value, MLTypeData *result)
Definition: mlTypeDefs.h:1563
const MLTypeData * typeMaxPtr
Data type maximum specified by derived class.
Definition: mlTypeDefs.h:1500
void(* Function_ApplyIntOperation)(const MLTypeData *source, MLint value, MLTypeData *result)
Definition: mlTypeDefs.h:1562
const char * structInfoString
Pointer to a null-terminated string describing the type configuration.
Definition: mlTypeDefs.h:1535
Function_ArrayEqualsValue arrayEqualsValue
Check that the first argument equals all the values given with the second argument (and the size in t...
Definition: mlTypeDefs.h:1644
bool(* Function_IsEqualToType)(const MLTypeData *source1, const MLTypeData *source2)
Definition: mlTypeDefs.h:1560
MLdouble(* Function_GetComponent)(const MLTypeData *source, size_t componentIndex)
Definition: mlTypeDefs.h:1575
Function_CastToDouble castToDouble
Returns a type value cast to double.
Definition: mlTypeDefs.h:1614
void(* Function_MultWithOtherType)(const MLTypeInfos *myInfos, const MLTypeData *myData, const MLTypeData *otherData, MLTypeData *result)
Definition: mlTypeDefs.h:1567
Function_CopyValue negate
Negates the value.
Definition: mlTypeDefs.h:1632
MLint32 dataTypeId
Real MLDataType id of under which these operations are registered as data type.
Definition: mlTypeDefs.h:1538
void(* Function_CopyValue)(const MLTypeData *source, MLTypeData *dest)
Definition: mlTypeDefs.h:1559
void(* Function_CastFromOtherType)(const MLTypeInfos *myInfos, const MLTypeData *myData, MLTypeData *otherData)
Definition: mlTypeDefs.h:1566
Function_ApplyOperation plusType
Implements parameter two addition to parameter one. Result written into parameter three.
Definition: mlTypeDefs.h:1670
Function_ApplyOperation multWithType
Implements multiplication with its own type. Result written into parameter three.
Definition: mlTypeDefs.h:1661
size_t numGoodCastTos
Number of data types to which this type can be casted without information or functionality loss.
Definition: mlTypeDefs.h:1506
MLDataType rangeAndPrecisionEquivalent
Standard data type which has a comparable range and precision behavior.
Definition: mlTypeDefs.h:1488
Function_ApplyDoubleOperation plusDouble
Implements double addition to parameter one. Result written into parameter three.
Definition: mlTypeDefs.h:1668
size_t typeSize
sizeof the data type in bytes.
Definition: mlTypeDefs.h:1482
Function_CastToOtherType castToOtherType
Casts data to another registered type.
Definition: mlTypeDefs.h:1616
Function_ArrayRescale arrayRescale
Scale the values from the first parameter with the second parameter and offset it with the value from...
Definition: mlTypeDefs.h:1639
char *(* Function_GetStringValue)(const MLTypeData *p)
Definition: mlTypeDefs.h:1555
MLdouble dblMin
double minimum of data type if it exists.
Definition: mlTypeDefs.h:1491
Function_IsEqualToTypeWithEpsilon isEqualToTypeWithEpsilon
Returns true if both parameters are equal within a static epsilon, otherwise false.
Definition: mlTypeDefs.h:1629
void(* Function_ApplyOperation)(const MLTypeData *source1, const MLTypeData *source2, MLTypeData *result)
Definition: mlTypeDefs.h:1564
void(* Function_ArrayRescale)(const MLTypeData *source, MLdouble scaleFactor, const MLTypeData *offset, MLTypeData *dest, size_t size)
Definition: mlTypeDefs.h:1572
const char * name
Pointer to the data type name.
Definition: mlTypeDefs.h:1485
Function_ApplyDoubleOperation multWithDouble
Implements multiplication with double. Result written into parameter three.
Definition: mlTypeDefs.h:1659
Function_ArrayGetMinMax arrayGetMinMax
Get the minimum and maximum component values from the array in the first argument,...
Definition: mlTypeDefs.h:1649
bool(* Function_ArrayEqualsValue)(const MLTypeData *value, const MLTypeData *buffer, size_t size)
Definition: mlTypeDefs.h:1573
Function_CastFromOtherType castFromOtherType
Casts another registered type to data.
Definition: mlTypeDefs.h:1623
Function_CastToBool castToBool
Returns a type value cast to bool. Usually an equality to 0 should return false, e....
Definition: mlTypeDefs.h:1610
MLdouble dblMax
double maximum of data type if it exists.
Definition: mlTypeDefs.h:1494
Function_SetTo setToMinimum
Sets value to minimum value. Must be implemented.
Definition: mlTypeDefs.h:1591
Function_CastToInt castToInt
Returns a type value cast to integer.
Definition: mlTypeDefs.h:1612
Function_SetComponent setComponent
Set n-th component of the type from double (applying rounding if needed)
Definition: mlTypeDefs.h:1599
void(* Function_ArrayGetMinMax)(const MLTypeData *source, size_t size, MLdouble &min, MLdouble &max)
Definition: mlTypeDefs.h:1574
const char ** goodCastTos
Data types names to which this type can be casted without information or functionality loss.
Definition: mlTypeDefs.h:1509
Function_CastFromInt castFromInt
Casts the first (the integer) parameter to the data type and returns it into second parameter.
Definition: mlTypeDefs.h:1619
MLdouble(* Function_CastToDouble)(const MLTypeData *p)
Definition: mlTypeDefs.h:1554
size_t numComponents
Number of components of this data type. Equals number of characters in *structInfoString.
Definition: mlTypeDefs.h:1478
Function_Interpolate interpolate
Interpolate linearly between the first and the second parameter, at the position given by the third p...
Definition: mlTypeDefs.h:1654
MLTypePropertyBits propertyBits
Variable containing an enabled bit for each defined property.
Definition: mlTypeDefs.h:1544
Function_MultWithOtherType multWithOtherType
Implements multiplication with another type. Result written into parameter three.
Definition: mlTypeDefs.h:1663