MeVisLab Toolbox Reference
mlTypeDefs.h File Reference
#include "MeVisLabVersion.h"
#include "mlMacros.h"
#include "mlConfig.h"
#include "mlUtilities.h"
#include <ThirdPartyWarningsDisable.h>
#include <cstdlib>
#include <cstdint>
#include <cfloat>
#include <ThirdPartyWarningsRestore.h>
#include <basetsd.h>

Go to the source code of this file.

Classes

struct  MLApplicationPropertyCallbacks
 Defines all callbacks that an application has to support for property access. More...
 
struct  MLTypeInfos
 Structure containing all data type features and pointers to all functions needed to implement operations on any extended type. More...
 

Namespaces

 ml
 Main documentation file for ML users and developers.
 

Macros

#define _ML_INT8   MLint8
 Set MLint8 as define(d). More...
 
#define _ML_UINT8   MLuint8
 Set MLuint8 as define(d). More...
 
#define _ML_INT16   MLint16
 Set MLint16 as define(d). More...
 
#define _ML_UINT16   MLuint16
 Set MLuint16 as define(d). More...
 
#define _ML_INT32   MLint32
 Set MLint32 as define(d). More...
 
#define _ML_UINT32   MLuint32
 Set MLuint32 as define(d). More...
 
#define _ML_FLOAT   MLfloat
 Set MLfloat as define(d). More...
 
#define _ML_DOUBLE   MLdouble
 Set MLdouble as define(d). More...
 
#define _ML_LDOUBLE   MLldouble
 Set MLldouble as define(d). More...
 
#define ML_NUM_STANDARD_TYPES   10
 Number of available compiler/scalar data types. More...
 
#define ML_MAX_COMPONENTS_EXTENDED_TYPE   512
 Maximum number of components for extended types. More...
 
#define ML_M_PI   3.14159265358979323846 /* pi */
 Pi as ML constant for backward compatibility. More...
 
#define ML_M_PI_2   1.57079632679489661923 /* pi/2 */
 Pi/2 as ML constant for backward compatibility. More...
 
#define _ML_INT64   MLint64
 Sets MLint64 as define(d). More...
 
#define _ML_UINT64   MLuint64
 Sets MLuint64 as define(d). More...
 
#define ML_UNDEFINED_THREADID   0
 MLThreadId. Defines the datatype for a thread id for comparing threads to each other. More...
 
#define ML_INVALID_DATA_TYPE   -1
 Defines an invalid MLDataType. More...
 
#define ML_INVALID_ERROR_CODE   static_cast<MLErrorCode>(-1)
 Defines an invalid MLErrorCode. More...
 
#define ML_RESULT_OK   static_cast<MLErrorCode>( 0)
 No error. Everything seems to be okay. More...
 
#define ML_UNKNOWN_EXCEPTION   static_cast<MLErrorCode>( 1)
 An unknown exception was detected and caught; this usually means that something for an unknown reason got really wrong, and which normally a program crash detected by the ML or a module; look for previous errors, they may give more precise information; try to repeat this error and report it to the developer. More...
 
#define ML_NO_MEMORY   static_cast<MLErrorCode>( 2)
 The system does not have enough memory to perform the desired operation; try to reduce application data and/or complexity, try to replace modules which load the entire image into the memory, terminate other applications running at the same time, buy more memory. More...
 
#define ML_DISCONNECTED_GRAPH   static_cast<MLErrorCode>( 3)
 The module/operator graph is obviously disconnected but expected to be connected for this operation. More...
 
#define ML_CYCLIC_GRAPH   static_cast<MLErrorCode>( 4)
 The module/operator graph is connected cyclically; the ML cannot handle this; search for the cyclic connections and remove them; normally this error should not occur. More...
 
#define ML_BAD_OPERATOR_POINTER   static_cast<MLErrorCode>( 5)
 A NULL, an invalid or a wrong module/operator pointer has been passed to an algorithm. More...
 
#define ML_BAD_OPERATOR_OUTPUT_INDEX   static_cast<MLErrorCode>( 6)
 A bad output number of a module/operator has been specified. More...
 
#define ML_BAD_FIELD   static_cast<MLErrorCode>( 7)
 A NULL, an invalid or badly/wrong typed or named field has been passed to an algorithm. More...
 
#define ML_IMAGE_DATA_CALCULATION_FAILED   static_cast<MLErrorCode>( 8)
 The requested image data could not be calculated; there are a variety of reasons; look for previous errors, they may give more precise information; try to repeated this error and its circumstances and report it to the developer, because it is often a problem caused by a crash in the Module::calculateOutputSubImage method of a module. More...
 
#define ML_NO_IMAGE_INPUT_EXTENSION   static_cast<MLErrorCode>( 9)
 Currently not used. More...
 
#define ML_NO_IMAGE_PROPS   static_cast<MLErrorCode>(10)
 The calculation of image properties failed; there are a variety of reasons and this normally this is a return code of functions accessing modules which cannot calculate a valid output image which often is a normal and legal state; if this is reported as an error or even a fatal error, look for previous errors, they may give more precise information; then perhaps report it to the developer if it seems to be a technical problem and not the report of a normal output state of a module. More...
 
#define ML_BAD_OPERATOR_INPUT_INDEX   static_cast<MLErrorCode>(11)
 A bad input number of a module/operator has been specified. More...
 
#define ML_BAD_INPUT_IMAGE_POINTER   static_cast<MLErrorCode>(12)
 A NULL, an invalid or badly/wrong sized/typed image pointer has been passed to an algorithm; if no previous errors occurred then it might indicate a programming error or missing checks for invalid input connections, bad in/output indices etc. More...
 
#define ML_BAD_DATA_TYPE   static_cast<MLErrorCode>(13)
 A wrong or unexpected data type has been passed to an algorithm which often is a programming error; there are a variety of reasons; look for previous errors, they may give more precise information; try to repeat this error and its circumstances and report it to the developer. More...
 
#define ML_PROGRAMMING_ERROR   static_cast<MLErrorCode>(14)
 A case occurred which should not appear and here are a variety of reasons, typically it is a programming error in a module; look for previous errors, they may give more precise information; try to repeat this error and its circumstances and report it to the developer. More...
 
#define ML_EMPTY_MESSAGE   static_cast<MLErrorCode>(15)
 The following error message describes more precise what has happened; if not then a non registered error occurred which is only known in the module using it; have a look at the documentation of the module producing the error; this code might also be passed with messages which are of other type, for example with debug information or user information. More...
 
#define ML_PAGE_CALCULATION_ERROR_IN_MODULE   static_cast<MLErrorCode>(16)
 An image page could not be calculated; and there is a variety of potential reasons, often even programming errors within a module which was detected by the ML, however, it can also be a result of an interrupted image processing of a module pipeline; look for previous errors, they may give more precise information and try to repeat this error and its circumstances and report it to the developer if it is not the result of a controlled interruption. More...
 
#define ML_PROPERTY_CALCULATION_ERROR_IN_MODULE   static_cast<MLErrorCode>(17)
 Image properties could not be calculated correctly and there is a variety of reasons, often this is a programming error within a module which was detected by the ML; look for previous errors, they may give more precise information and try to repeat this error and its circumstances and report it to the developer. More...
 
#define ML_INBOX_CALCULATION_ERROR_IN_MODULE   static_cast<MLErrorCode>(18)
 The input image region required to calculate an image page could not be calculated correctly; often this is a programming error within a module leading to a crash and which is the ML Error Codes which was detected by the ML; there are a variety of reasons; look for previous errors, they may give more precise information; try to repeat this error and its circumstances and report it to the developer. More...
 
#define ML_BAD_PARAMETER   static_cast<MLErrorCode>(19)
 A bad/invalid parameter (or even an inappropriate image) has been passed to a module or an algorithm; which usually means that there has been an invalid or inappropriate parameter passed to an algorithm, that the developer forgot to implement a certain case or that a parameter is out of range; read subsequent error information (if available) how the error is handled. More...
 
#define ML_CALCULATION_ERROR   static_cast<MLErrorCode>(20)
 This is an unspecific error used in some cases where the error is not very specific; for which there are some varieties of reasons, for example a programming error in a module caused a crash which was detected and handled by the ML; some diagnostic modules also use this, for example to notify an error or about about invalid calculation results; look for previous errors and additional error information shown with this error, they may give more precise information; try to repeat this error and its circumstances and report it to the developer. More...
 
#define ML_BAD_DIMENSION   static_cast<MLErrorCode>(21)
 he image or data structure has wrong extent or dimensions. More...
 
#define ML_RECURSION_ERROR   static_cast<MLErrorCode>(22)
 An invalid recursion occurred; read details for an explanation. More...
 
#define ML_LIBRARY_LOAD_ERROR   static_cast<MLErrorCode>(23)
 Loading or initialization of an ML module library failed; the shared library file may not exist at the searched place, a path to the libraries is wrong, the library may not be up to date, symbols in the library interface may be missing or the library is of another or an outdated version; or the installation could be incomplete or damaged. More...
 
#define ML_FILE_IO_ERROR   static_cast<MLErrorCode>(24)
 Reasons may be wrong path specifications, other applications using the same file, wrong file permissions, missing disk space, still non-existing files etc. More...
 
#define ML_AFTER_EFFECT   static_cast<MLErrorCode>(25)
 This is a typical error occurring when another previous error has left an incomplete or undefined state; look for previous errors, they may give more precise information. More...
 
#define ML_BAD_INDEX   static_cast<MLErrorCode>(26)
 The index given to the algorithm is out of range; sometimes this is a programming error or a sloppy implemented (user) interface which passes invalid user inputs. More...
 
#define ML_OUT_OF_RANGE   static_cast<MLErrorCode>(27)
 Any coordinate or value is out of range, often a voxel address which is outside of an image or it is even a programming error or an image with invalid contents. More...
 
#define ML_MISSING_VOXEL_TYPE_OPERATIONS   static_cast<MLErrorCode>(28)
 A voxel data type does not implement required arithmetic operations; often this is a programming error or it indicates that a module does not support calculations on the connected input voxel types. More...
 
#define ML_BAD_FIELD_TYPE   static_cast<MLErrorCode>(29)
 The passed parameter is not derived from the class field or is not of the expected field type; this can be a programming error. More...
 
#define ML_BAD_FIELD_POINTER_OR_NO_MEMORY   static_cast<MLErrorCode>(30)
 The passed parameter is not of an expected (field) type or the allocation of memory failed. More...
 
#define ML_FIELD_CREATION_ERROR_OR_NO_MEMORY   static_cast<MLErrorCode>(31)
 A field could not be created (for example because the field type is still not registered in the runtime type system or the corresponding shared library is still not loaded) or the field creation failed due to lack of memory. More...
 
#define ML_TYPE_INITIALIZATION_ERROR   static_cast<MLErrorCode>(32)
 A (runtime or voxel) type could not be initialized correctly. More...
 
#define ML_CONSTRUCTOR_EXCEPTION   static_cast<MLErrorCode>(33)
 Creating an object failed due to a programming error in a constructor or due to a lack of memory. More...
 
#define ML_DESTRUCTOR_EXCEPTION   static_cast<MLErrorCode>(34)
 The destruction of a C++ object failed, for example due to a programming error or since it was destroyed from other buggy code. More...
 
#define ML_TABLE_FULL   static_cast<MLErrorCode>(35)
 A table is full and nothing can be inserted any more. More...
 
#define ML_EXTERNAL_ERROR   static_cast<MLErrorCode>(36)
 Error messages from other libraries are delivered with this error code if more specific error information from the external library is not available. More...
 
#define ML_BAD_BASE_FIELD   static_cast<MLErrorCode>(37)
 The (runtime) type of a Base field is not the expected one, the Base field pointer is invalid (NULL) or it is not (derived from) a Base field. More...
 
#define ML_BAD_BASE_FIELD_CONTENT   static_cast<MLErrorCode>(38)
 The content of the Base field referenced by a Base field pointer is invalid, it should not be NULL or the pointer it does not point to an object derived from Base. More...
 
#define ML_TYPE_NOT_REGISTERED   static_cast<MLErrorCode>(39)
 The required or used type is (still) not registered; probably you forgot to call "YourClassName::initClass" in your initialization file or a missing linked library which contains the type has not been loaded yet; maybe a library dependency has been forgotten in the project (make) file or types are initialized in the wrong order in a library init file. More...
 
#define ML_LIBRARY_INIT_ERROR   static_cast<MLErrorCode>(40)
 The initialization code of a library failed; this is a typical error if the ML, an application or a linked library has detected an initialization problem; this, for example can result from invalid version number (a binary incompatibility), by forgotten recompilations of self defined libraries, paths to (outdated) linked libraries or the usage of incompatible library and application installers. More...
 
#define ML_BAD_POINTER_OR_0   static_cast<MLErrorCode>(41)
 A pointer is NULL or a value is NULL or 0 where it should not be; this sometimes indicates a memory allocation error, a programming error, a forgotten NULL pointer check at function entries or also bad function results or objects which have not been found. More...
 
#define ML_BAD_STATE   static_cast<MLErrorCode>(42)
 The current state of an object is not appropriate for an operation; perhaps it is not initialized or in a valid but inadequate state; it also might indicate that the program ran into an undefined state which should not be possible. More...
 
#define ML_TOO_MANY_PUSHES_OR_ADDS   static_cast<MLErrorCode>(43)
 Too many elements were pushed or added onto a stack, array or another container type. More...
 
#define ML_TOO_MANY_POPS_OR_REMOVES   static_cast<MLErrorCode>(44)
 Too many elements were removed from a stack, an array or another container type. More...
 
#define ML_STACK_TABLE_OR_BUFFER_EMPTY   static_cast<MLErrorCode>(45)
 The access to a table, stack or container or its elements failed, because it is empty. More...
 
#define ML_STACK_TABLE_OR_BUFFER_NOT_EMPTY   static_cast<MLErrorCode>(46)
 A table, stack, or another container was expected to be empty, but it isn't. More...
 
#define ML_ELEMENT_NOT_FOUND   static_cast<MLErrorCode>(47)
 An expected entry or element was not found. More...
 
#define ML_INVALID_FILE_NAME   static_cast<MLErrorCode>(48)
 The specified file name is not valid, for example, because it is empty or it contains invalid characters or path specifications or simply does not specify a correct file. More...
 
#define ML_INVALID_FILE_DESCRIPTOR   static_cast<MLErrorCode>(49)
 The descriptor used to manage a file is invalid or denotes a closed file. More...
 
#define ML_FILE_NOT_OPEN   static_cast<MLErrorCode>(50)
 The specified file is not open. More...
 
#define ML_NO_OR_INVALID_PERMISSIONS   static_cast<MLErrorCode>(51)
 The operation cannot or could not be executed because the user or process does not have appropriate permissions or the permissions of the object to manipulate are not set correctly. More...
 
#define ML_DISK_OR_RESSOURCE_FULL   static_cast<MLErrorCode>(52)
 There are not enough resources left to execute the desired operation; this typically indicates a full disc or even not memory for the operation. More...
 
#define ML_FILE_OR_DATA_STRUCTURE_CORRUPTED   static_cast<MLErrorCode>(53)
 The content of a file or another data structure is not organized as expected by the program; this may indicate a broken/corrupted file, an overwritten data structure or sometimes a newer and still unknown version of a file; it also could indicate a file or data structure created from another application which uses same named types or files. More...
 
#define ML_INVALID_VERSION   static_cast<MLErrorCode>(54)
 The version of a data structure of file is invalid, maybe a newer version than expected; an update of the software could help. More...
 
#define ML_UNKNOWN_OR_INVALID_COMPRESSION_SCHEME   static_cast<MLErrorCode>(55)
 The compression scheme is invalid, too old, too new or not known on your system; on another system a compression scheme could have been used to store a file which cannot be loaded on the local system, because the (de)compressor is not known on the local system; it could also indicate a corrupted data structure or file, or even a missing or not installed library . More...
 
#define ML_TYPE_ALREADY_REGISTERED   static_cast<MLErrorCode>(56)
 This error occurs on an attempt to register a type whose name is already registered; this could happen for example if backup copies of modules or libraries are detected by the system and tried to be loaded, a type initialization is called more than once, older library paths are set next to the current ones or even in the case when two developers independently developed types or classes with the same name. More...
 
#define ML_TYPE_IS_ABSTRACT   static_cast<MLErrorCode>(57)
 The runtime type to be used is abstract and cannot be used (for example an object of that type cannot be created then). More...
 
#define ML_TYPE_NOT_DERIVED_FROM_EXPECTED_PARENT_CLASS   static_cast<MLErrorCode>(58)
 The used class type is not of the expected type and/or is not derived from the expected parent/base class. More...
 
#define ML_OPERATION_INTERRUPTED   static_cast<MLErrorCode>(59)
 The operation was interrupted, either by a user or another signal. More...
 
#define ML_BAD_PAGE_ID   static_cast<MLErrorCode>(60)
 This error comments the trial to use an identifier or index to an (image) page which does not exist or which is out of range. More...
 
#define ML_OUT_OF_RESSOURCES   static_cast<MLErrorCode>(61)
 There are not enough resources to execute the desired operation; this can happen for example if the number of open files, processes, threads and so on is exceeded, or the operating system does not have sufficient memory for it. More...
 
#define ML_OBJECT_OR_FILE_EXISTS   static_cast<MLErrorCode>(62)
 The object or file to be created already exists. More...
 
#define ML_OBJECT_OR_FILE_DOES_NOT_EXIST   static_cast<MLErrorCode>(63)
 The expected object or file does not exist or is not found. More...
 
#define ML_DEADLOCK_WOULD_OCCURR   static_cast<MLErrorCode>(64)
 The operation cannot be executed, because it would lead to a dead lock. More...
 
#define ML_COULD_NOT_OPEN_FILE   static_cast<MLErrorCode>(65)
 The file could not be opened, for example, because the permissions are not sufficient, resources for opening are not available, the file could not be found or the file is already open. More...
 
#define ML_COULD_NOT_CREATE_OPEN_OR_MODIFY_FILE   ML_COULD_NOT_OPEN_FILE
 More flexible error description for ML_COULD_NOT_OPEN_FILE because it is often needed when permissions are missing or full resources occur. More...
 
#define ML_LIBRARY_UNLOAD_ERROR   static_cast<MLErrorCode>(66)
 This error occurs if unloading of a module or library failed. More...
 
#define ML_LIBRARY_UNLOAD_EXCEPTION   static_cast<MLErrorCode>(67)
 This error occurs if unloading of a module or library caused a crash or threw an exception. More...
 
#define ML_NOT_SUPPORTED_ON_THIS_SYSTEM   static_cast<MLErrorCode>(68)
 This error occurs if a functionality is not supported on the current system. More...
 
#define ML_OBJECT_STILL_REFERENCED   static_cast<MLErrorCode>(69)
 The object to be removed is still referenced, for example a dll to be removed is still used. More...
 
#define ML_REQUEST_OUTSIDE_OF_IMAGE   static_cast<MLErrorCode>(70)
 The request was completely outside of the image. More...
 
#define MLNumDefaultErrorCodes   static_cast<MLErrorCode>(71)
 Number of predefined/compiled ML error codes, not to be used as an error code. More...
 
ML String Prefixes
#define ML_PREFIX   "ML"
 Library identification prefix for messages from the ML. More...
 
#define ML_CONSTANT_PREFIX   "ML_"
 Prefix for environment variables and debugging constants used in the ML. More...
 
Color plane names for CDimInfo image property
#define ML_LUMINANCE   "LUMINANCE"
 Gray, min is black. More...
 
#define ML_NEGATIVE   "NEGATIVE"
 Gray, min is white. More...
 
#define ML_PALETTE   "PALETTE"
 Palette or partial palette image, e.g., luminance with trace colors. More...
 
#define ML_RED   "RED"
 Red channel code for RGB/RGBA color model. More...
 
#define ML_GREEN   "GREEN"
 Green channel code for RGB/RGBA color model. More...
 
#define ML_BLUE   "BLUE"
 Blue channel code for RGB/RGBA color model. More...
 
#define ML_ALPHA   "ALPHA"
 Alpha (transparency) channel code for RGB/RGBA color model. More...
 
#define ML_CYAN   "CYAN"
 Cyan channel code for CMY* color models. More...
 
#define ML_MAGENTA   "MAGENTA"
 Magenta channel code for CMY* color models. More...
 
#define ML_YELLOW   "YELLOW"
 Yellow channel code for CMY* color models. More...
 
#define ML_BLACK   "BLACK"
 Black channel code for CMY* color models. More...
 
#define ML_HUE   "HUE"
 Hue channel code for HSV/HLS color models. More...
 
#define ML_SATURATION   "SATURATION"
 Saturation channel code for HSV/HLS color models. More...
 
#define ML_VALUE   "VALUE"
 Value channel code for HSV/HLS color models. In HSV, pure colors and white have V=1. More...
 
#define ML_LIGHTNESS   "LIGHTNESS"
 Lightness channel code for HSV/HLS color models. In HLS, white has L=1, pure colors have L=0.5. More...
 
#define ML_YIQ_Y   "YIQ_Y"
 YIQ Y channel code for YIQ color model (used in US TV standard). More...
 
#define ML_YIQ_I   "YIQ_I"
 YIQ I channel code for YIQ color model (used in US TV standard). More...
 
#define ML_YIQ_Q   "YIQ_Q"
 YIQ Q channel code for YIQ color model (used in US TV standard). More...
 
#define ML_CIE_X   "CIE_X"
 C channel code for CIE-XYZ and CIE-LUV color models (Standardized color models approximately matching the human color perception). More...
 
#define ML_CIE_Y   "CIE_Y"
 I channel code for CIE_XYZ color model. See ML_CIE_X for further information. More...
 
#define ML_CIE_Z   "CIE_Z"
 E channel code for CIE_XYZ color model. See ML_CIE_X for further information. More...
 
#define ML_LUV_L   "LUV_L"
 LI channel code for CIE_LUV color model. See ML_CIE_X for further information. More...
 
#define ML_LUV_U   "LUV_U"
 U channel code for CIE_LUV color model. See ML_CIE_X for further information. More...
 
#define ML_LUV_V   "LUV_V"
 V channel code for CIE_LUV color model. See ML_CIE_X for further information. More...
 
#define ML_UNKNOWN   "UNKNOWN"
 Code for unknown image plane/color channel content. More...
 
U-dimension names for UDimInfo image property.
#define ML_REAL   "REAL_PART"
 Real part of a complex number. More...
 
#define ML_IMAG   "IMAG_PART"
 Imaginary part of a complex number. More...
 
#define ML_V0   "V0"
 Name for the first component of a vector. More...
 
#define ML_V1   "V1"
 Name for the second component of a vector. More...
 
#define ML_V2   "V2"
 Name for the third component of a vector. More...
 
#define ML_V3   "V3"
 Name for the fourth component of a vector. More...
 
#define ML_V4   "V4"
 Name for the fifth component of a vector. More...
 
#define ML_V5   "V5"
 Name for the sixth component of a vector. More...
 
#define ML_MAGNITUDE   "MAGNITUDE"
 First/magnitude component of polar coordinate. More...
 
#define ML_ANGLE   "ANGLE"
 Second/angle component of polar coordinate. More...
 
MIN/MAX/QUOTE MACROS
#define ML_QUOTE_INTERNAL(A)   #A
 Defines a quotation macro to get a string from a macro parameter. More...
 
#define ML_QUOTE(A)   ML_QUOTE_INTERNAL(A)
 
#define ML_LERP(a, l, h)   ((l)+(((h)-(l))*(a)))
 The ML specific MIN macro. More...
 
Defines min/max for 64 bit types if still not done.
#define ML_INT64_MIN   INT64_MIN
 
#define ML_INT64_MAX   INT64_MAX
 
Defines min/max for unsigned 64 bit types if still not done.
#define ML_UINT64_MIN   static_cast<MLuint64>(0)
 
#define ML_UINT64_MAX   UINT64_MAX
 
A helper macro assigning all addresses of implemented functions pointers to function members.
#define ML_TYPE_ASSIGN_FUNCTION_POINTERS()
 

Typedefs

typedef MLint32 MLDataType
 MLDataType. More...
 
typedef MLuint32 MLThreadId
 
typedef MLint32 MLErrorCode
 Type of an ML Error code. More...
 
typedef double(* MLDblFuncPtr) (double)
 A function pointer type to a function which returns a double and takes a double as argument. More...
 
typedef void MLMessageCB(void *usrData, MLErrorCode errCode, MLMessageType messageType, const char *messStr, int line, const char **infos)
 Handling/setting/getting of ML messages callbacks. More...
 
typedef 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 MLNotifyChangedObjectType. More...
 
Function types for callback functions (see corresponding classes Sensor, Host and mlAPI.)
typedef void MLSensorCB(void *usrData, void *sensor)
 
typedef void MLHostProgressCB(void *usrData, const char *info1, const char *info2)
 
typedef MLint32 MLHostBreakCheckCB(void *usrData, void **hitField)
 
typedef void MLRequestProgressCB(void *usrData, double progress)
 

Enumerations

enum  MLDataTypeIds {
  MLint8Type = 0 , MLuint8Type = 1 , MLint16Type = 2 , MLuint16Type = 3 ,
  MLint32Type = 4 , MLuint32Type = 5 , MLfloatType = 6 , MLdoubleType = 7 ,
  MLint64Type = 8 , MLuint64Type = 9 , MLComplexfType , MLComplexdType ,
  MLQuaternionfType , MLQuaterniondType , MLVector2fType , MLVector2dType ,
  MLVector3fType , MLVector3dType , MLVector4fType , MLVector4dType ,
  MLVector5fType , MLVector5dType , MLVector6fType , MLVector6dType ,
  MLVector7fType , MLVector7dType , MLVector8fType , MLVector8dType ,
  MLVector9fType , MLVector9dType , MLVector10fType , MLVector10dType ,
  MLVector16fType , MLVector16dType , MLVector32fType , MLVector32dType ,
  MLVector64fType , MLVector64dType , MLMatrix2fType , MLMatrix2dType ,
  MLMatrix3fType , MLMatrix3dType , MLMatrix4fType , MLMatrix4dType ,
  MLMatrix5fType , MLMatrix5dType , MLMatrix6fType , MLMatrix6dType ,
  MLVector2i8Type , MLVector2i16Type , MLVector2i32Type , MLVector2i64Type ,
  MLVector3i8Type , MLVector3i16Type , MLVector3i32Type , MLVector3i64Type ,
  MLVector4i8Type , MLVector4i16Type , MLVector4i32Type , MLVector4i64Type ,
  MLVector5i8Type , MLVector5i16Type , MLVector5i32Type , MLVector5i64Type ,
  MLVector6i8Type , MLVector6i16Type , MLVector6i32Type , MLVector6i64Type ,
  MLVector7i8Type , MLVector7i16Type , MLVector7i32Type , MLVector7i64Type ,
  MLVector8i8Type , MLVector8i16Type , MLVector8i32Type , MLVector8i64Type ,
  MLVector9i8Type , MLVector9i16Type , MLVector9i32Type , MLVector9i64Type ,
  MLVector10i8Type , MLVector10i16Type , MLVector10i32Type , MLVector10i64Type ,
  MLVector16i8Type , MLVector16i16Type , MLVector16i32Type , MLVector16i64Type ,
  MLVector32i8Type , MLVector32i16Type , MLVector32i32Type , MLVector32i64Type ,
  MLVector64i8Type , MLVector64i16Type , MLVector64i32Type , MLVector64i64Type ,
  MLldoubleType
}
 MLDataType identifiers. More...
 
enum  MLMemoryErrorHandling { ML_RETURN_NULL = 0x0 , ML_FATAL_MEMORY_ERROR = 0x1 , ML_THROW_NO_MEMORY = 0x2 , ML_FATAL_MEMORY_ERROR_AND_THROW_NO_MEMORY = 0x3 }
 Enumerator to specify memory error handling. More...
 
enum  MLCheckBits { ML_FINAL_RUNTIME_CHECK_BIT = 0x1 , ML_NO_CHECKS_BITS = 0x0 , ML_ALL_CHECKS_BITS = 0x1 }
 Enumerator describing runtime and final checks in the ML. More...
 
enum  MLMessageType {
  ML_WARNING = 0x01 , ML_ERROR = 0x02 , ML_FATAL = 0x04 , ML_DEBUG = 0x08 ,
  ML_COUT = 0x10 , ML_CERR = 0x20 , ML_INFORMATION = 0x40 , ML_OTHER_MESSAGE = 0x80 ,
  ML_ALL_MESSAGES = 0xff
}
 Message types handled by the ErrorOutput class. More...
 
enum  MLTerminator {
  ML_CONTINUE = 0 , ML_ABORT , ML_EXIT0 , ML_EXITCODE ,
  MLNumTerminators
}
 Termination types for error handling. More...
 
enum  MLEventFilterApplicationMessage { ML_EVENTFILTER_ADD_CB =0 , ML_EVENTFILTER_REMOVE_CB }
 Enum to describe the significance of the call, e.g., whether an 'add' or a 'remove' of a function is requested. More...
 
enum  MLSign { ML_ZERO_SIGN = 0 , ML_NEGATIVE_SIGN , ML_POSITIVE_SIGN }
 Definition of possible signs as enumerator. More...
 
enum  MLArrayIndex {
  ML_VX = 0 , ML_VY = 1 , ML_VZ = 2 , ML_VW = 3 ,
  ML_VC = 3 , ML_VT = 4 , ML_VU = 5
}
 Indexes for axes, arrays and vectors. More...
 
Enum types to specify identification codes for notifications sent from any ML class.
enum  MLNotifyChangedClassType {
  ML_NOTIFY_NO_OBJECT = 0x00000000 , ML_NOTIFY_ERROR_OUTPUT = 0x00010000 , ML_NOTIFY_API = 0x00020000 , ML_NOTIFY_RUNTIME = 0x00040000 ,
  ML_NOTIFY_CACHE = 0x00080000 , ML_NOTIFY_HOST = 0x00100000 , ML_NOTIFY_MODULE = 0x00200000 , ML_NOTIFY_LAST_CLASS = 0x00400000
}
 Codes for ML classes which may change: More...
 
enum  MLNotifyChangedObjectType {
  ML_NOTIFY_NO_OBJECT_TYPE = 0x0000 | ML_NOTIFY_NO_OBJECT , ML_NOTIFY_ERROR_OUTPUT_ERROR_OUTPUT_CB = 0x0001 | ML_NOTIFY_ERROR_OUTPUT , ML_NOTIFY_ERROR_OUTPUT_FULL_DEBUGGING = 0x0002 | ML_NOTIFY_ERROR_OUTPUT , ML_NOTIFY_ERROR_OUTPUT_TERMINATION_TYPE = 0x0004 | ML_NOTIFY_ERROR_OUTPUT ,
  ML_NOTIFY_ERROR_OUTPUT_MESSAGE_FILTER = 0x0008 | ML_NOTIFY_ERROR_OUTPUT , ML_NOTIFY_ERROR_OUTPUT_DEBUG_ENV_NAMES = 0x0010 | ML_NOTIFY_ERROR_OUTPUT , ML_NOTIFY_ERROR_OUTPUT_OTHER_CHANGES = 0x0020 | ML_NOTIFY_ERROR_OUTPUT , ML_NOTIFY_API_EXCEPTIONS = 0x0001 | ML_NOTIFY_API ,
  ML_NOTIFY_API_CHECKS_BITS = 0x0002 | ML_NOTIFY_API , ML_NOTIFY_RUNTIME_TYPE_ADDED = 0x0001 | ML_NOTIFY_RUNTIME , ML_NOTIFY_RUNTIME_TYPE_REMOVED = 0x0002 | ML_NOTIFY_RUNTIME , ML_NOTIFY_CACHE_CLEAR = 0x0001 | ML_NOTIFY_CACHE ,
  ML_NOTIFY_CACHE_MEM_OPT_LEVEL = 0x0002 | ML_NOTIFY_CACHE , ML_NOTIFY_CACHE_FLUSH = 0x0004 | ML_NOTIFY_CACHE , ML_NOTIFY_CACHE_MAX_SIZE = 0x0008 | ML_NOTIFY_CACHE , ML_NOTIFY_CACHE_MONITORING_LEVEL = 0x0010 | ML_NOTIFY_CACHE ,
  ML_NOTIFY_HOST_MAX_NUM_THREADS = 0x0001 | ML_NOTIFY_HOST , ML_NOTIFY_HOST_BREAK_CHECK_CB = 0x0002 | ML_NOTIFY_HOST , ML_NOTIFY_HOST_PROGRESS_CB = 0x0004 | ML_NOTIFY_HOST , ML_NOTIFY_HOST_USE_CLASSIC_HOST = 0x0008 | ML_NOTIFY_HOST ,
  ML_NOTIFY_FIELD_HANDLED = 0x0001 | ML_NOTIFY_MODULE , ML_NOTIFY_MODULE_INSTANTIATED = 0x0002 | ML_NOTIFY_MODULE , ML_NOTIFY_MODULE_DELETED = 0x0004 | ML_NOTIFY_MODULE
}
 Objects of the ML which call the registered functions when changed. More...
 

Functions

void ML_UTILS_EXPORT ml::logTypeComponentsFromStringError (const char *function)
 

Defines 8 bit signed integer data type and its pointer type if still not done.

#define ML_INT8_MIN   -128
 
#define ML_INT8_MAX   0x7F
 
typedef char MLint8
 
typedef char * MLint8Ptr
 

Defines 8 bit unsigned integer data type and its pointer type if still not done.

#define ML_UINT8_MIN   0x00
 
#define ML_UINT8_MAX   0xFF
 
typedef unsigned char MLuint8
 
typedef unsigned char * MLuint8Ptr
 

Defines 16 bit signed integer data type and its pointer type if still not done.

#define ML_INT16_MIN   -32768
 
#define ML_INT16_MAX   0x7FFF
 
typedef signed short MLint16
 
typedef signed short * MLint16Ptr
 

Defines 16 bit unsigned integer data type and its pointer type if still not done.

#define ML_UINT16_MIN   0x0000
 
#define ML_UINT16_MAX   0xFFFF
 
typedef unsigned short MLuint16
 
typedef unsigned short * MLuint16Ptr
 

Defines 32 bit signed integer data type and its pointer type if still not done.

#define ML_INT32_MIN   (static_cast<MLint32>(0x80000000L))
 
#define ML_INT32_MAX   (static_cast<MLint32>(0x7FFFFFFFL))
 
typedef signed int MLint32
 
typedef signed int * MLint32Ptr
 

Defines 32 bit unsigned integer data type and its pointer type if still not done.

#define ML_UINT32_MIN   (static_cast<MLuint32>(0x00000000L))
 
#define ML_UINT32_MAX   (static_cast<MLuint32>(0xFFFFFFFFL))
 
typedef unsigned int MLuint32
 
typedef unsigned int * MLuint32Ptr
 

Defines float type and its pointer type if still not done.

#define ML_FLOAT_MIN   FLT_MIN
 
#define ML_FLOAT_MAX   FLT_MAX
 
#define ML_FLOAT_EPSILON   FLT_EPSILON
 
#define ML_FLOAT_DIG   (FLT_DIG+2)
 
typedef float MLfloat
 
typedef float * MLfloatPtr
 

Defines double type and its pointer type if still not done.

#define ML_DOUBLE_MIN   DBL_MIN
 
#define ML_DOUBLE_MAX   DBL_MAX
 
#define ML_DOUBLE_EPSILON   DBL_EPSILON
 
#define ML_DOUBLE_DIG   DBL_DIG
 
typedef double MLdouble
 
typedef double * MLdoublePtr
 

Defines long double type and its pointer type if still not done.

#define ML_LDOUBLE_MIN   LDBL_MIN
 
#define ML_LDOUBLE_MAX   LDBL_MAX
 
#define ML_LDOUBLE_EPSILON   LDBL_EPSILON
 
#define ML_LDOUBLE_DIG   LDBL_DIG
 
typedef long double MLldouble
 
typedef long double * MLldoublePtr
 

64 signed and unsigned integer support with min and max defines

#define INT64_MIN   0x8000000000000000I64
 If still not done define INT64_MIN and INT64_MAX. More...
 
#define INT64_MAX   0x7FFFFFFFFFFFFFFFI64
 
#define UINT64_MIN   static_cast<MLuint64>(0)
 If still not done, define UINT64_MIN and UINT64_MAX. More...
 
#define UINT64_MAX   0xFFFFFFFFFFFFFFFFUI64
 
typedef INT64 MLint64
 Include 64 bit integer support for Windows or Unix. More...
 
typedef INT64 * MLint64Ptr
 Introduce platform independent 64 bit signed integer pointer type. More...
 
typedef UINT64 MLuint64
 Introduce platform independent 64 bit unsigned integer type. More...
 
typedef UINT64 * MLuint64Ptr
 Introduce platform independent 64 bit unsigned integer pointer type. More...
 

Typedef of an integer type using 64 bit.

#define ML_INT_MIN   ML_INT64_MIN
 Minimum possible value of MLint. More...
 
#define ML_INT_MAX   ML_INT64_MAX
 Maximum possible value of MLint. More...
 
#define ML_UINT_MIN   UINT64_MIN
 Minimum possible value of MLuint. More...
 
#define ML_UINT_MAX   UINT64_MAX
 Maximum possible value of MLuint. More...
 
typedef MLint64 MLint
 A signed ML integer type with at least 64 bits used for index calculations on very large images even on 32 bit systems (typically used for positions and coordinates in/of images). More...
 
typedef MLint64MLintPtr
 A pointer to the signed ML integer type MLint. More...
 
typedef MLuint64 MLuint
 An unsigned ML integer type with at least 64 bits used for index calculations on very large images even on 32 bit systems (sometimes needed for positions and coordinates in/of images; note that normally the signed MLint should be used for safe signed indexing arithmetics in the ML, because images can be larger than 2^32 even on 32 bit systems). More...
 
typedef MLuint64MLuintPtr
 A pointer to the unsigned ML integer type MLuint. More...
 

Support for signed and unsigned size and offset types.

#define _ML_USIZE_T
 Marks unsigned offset and size types as defined. More...
 
#define ML_USIZE_T_MIN   ( static_cast<size_t>(0))
 The minimum value of size_t. More...
 
#define ML_USIZE_T_MAX   (~static_cast<size_t>(0))
 The maximum value of size_t. More...
 
#define ML_SIZE_T_MIN   ML_USIZE_T_MIN
 For convenience the minimum value of size_t without "U" which is probably more the expected naming. More...
 
#define ML_SIZE_T_MAX   ML_USIZE_T_MAX
 For convenience the maximum value of size_t without "U" which is probably more the expected naming. More...
 
#define _ML_SIZE_T
 Marks signed offset and size types as defined. More...
 
#define ML_SSIZE_T_MIN   (static_cast<MLssize_t>(1) << (sizeof(MLssize_t)*8-1))
 The minimum value of ML_SSIZE_T. More...
 
#define ML_SSIZE_T_MAX   (static_cast<MLssize_t>(ML_USIZE_T_MAX ^ ML_SSIZE_T_MIN))
 The maximum value of ML_SSIZE_T. More...
 
typedef MLuint64 MLuoffset
 Unsigned ML offset type which is a 32 bit unsigned integer on 32 bit platforms and 64 bit one on 64 bit platforms. More...
 
typedef 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 bit platforms. More...
 
typedef MLint MLsoffset
 Signed ML offset type which is a 32 bit signed integer on 32 bit platforms and a 64 bit integer on 64 bit platforms. More...
 
typedef 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 platforms. More...
 

Internal Application API (used by MeVisLab)

#define ML_CALC_FTYPE   MLdouble
 The floating point type used when data types have to convert something internally in a certain floating point type. More...
 
#define ML_CALC_ITYPE   MLint
 The integer type used when data types have to convert something internally in a certain integer type. More...
 
enum  MLTypeGroupIds { MLNoTypeGroup = -1 , MLScalarTypeGroup , MLVectorTypeGroup , MLMatrixTypeGroup }
 Some predefined type groups. More...
 
typedef 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 from the application. More...
 
typedef 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 from the application. More...
 
typedef 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 from the application. More...
 
typedef 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 from the application, it should return 0 for false and 1 for true. More...
 
typedef MLint32 MLEventFilterCB(void *usrData, void *event)
 Callback function type for events that are passed to the user. More...
 
typedef void MLEventFilterApplicationHookCB(void *applicationUsrData, MLEventFilterApplicationMessage type, MLEventFilterCB *cb, void *usrData, MLuint32 fromMessageId, MLuint32 toMessageId)
 Internal application event filter callback type. More...
 
typedef MLuint64 MLTypePropertyBits
 Structure to define a bit mask which identifies all implemented functions for a data type. More...
 
typedef unsigned char MLTypeData
 This is the pointer type used to point to the data of MLType data instances. More...
 
typedef MLint32 MLTypeGroup
 This is an identifier to differentiate types like matrices, vectors and complex/quaternion types, which may have the same number of components, but different semantics. More...
 

Macro Definition Documentation

◆ _ML_DOUBLE

#define _ML_DOUBLE   MLdouble

Set MLdouble as define(d).

Definition at line 231 of file mlTypeDefs.h.

◆ _ML_FLOAT

#define _ML_FLOAT   MLfloat

Set MLfloat as define(d).

Definition at line 216 of file mlTypeDefs.h.

◆ _ML_INT16

#define _ML_INT16   MLint16

Set MLint16 as define(d).

Definition at line 138 of file mlTypeDefs.h.

◆ _ML_INT32

#define _ML_INT32   MLint32

Set MLint32 as define(d).

Definition at line 180 of file mlTypeDefs.h.

◆ _ML_INT64

#define _ML_INT64   MLint64

Sets MLint64 as define(d).

Definition at line 558 of file mlTypeDefs.h.

◆ _ML_INT8

#define _ML_INT8   MLint8

Set MLint8 as define(d).

Definition at line 109 of file mlTypeDefs.h.

◆ _ML_LDOUBLE

#define _ML_LDOUBLE   MLldouble

Set MLldouble as define(d).

Definition at line 246 of file mlTypeDefs.h.

◆ _ML_SIZE_T

#define _ML_SIZE_T

Marks signed offset and size types as defined.

Definition at line 647 of file mlTypeDefs.h.

◆ _ML_UINT16

#define _ML_UINT16   MLuint16

Set MLuint16 as define(d).

Definition at line 155 of file mlTypeDefs.h.

◆ _ML_UINT32

#define _ML_UINT32   MLuint32

Set MLuint32 as define(d).

Definition at line 200 of file mlTypeDefs.h.

◆ _ML_UINT64

#define _ML_UINT64   MLuint64

Sets MLuint64 as define(d).

Definition at line 568 of file mlTypeDefs.h.

◆ _ML_UINT8

#define _ML_UINT8   MLuint8

Set MLuint8 as define(d).

Definition at line 121 of file mlTypeDefs.h.

◆ _ML_USIZE_T

#define _ML_USIZE_T

Marks unsigned offset and size types as defined.

Definition at line 622 of file mlTypeDefs.h.

◆ INT64_MAX

#define INT64_MAX   0x7FFFFFFFFFFFFFFFI64

Definition at line 509 of file mlTypeDefs.h.

◆ INT64_MIN

#define INT64_MIN   0x8000000000000000I64

If still not done define INT64_MIN and INT64_MAX.

Definition at line 506 of file mlTypeDefs.h.

◆ ML_ALPHA

#define ML_ALPHA   "ALPHA"

Alpha (transparency) channel code for RGB/RGBA color model.

Definition at line 281 of file mlTypeDefs.h.

◆ ML_ANGLE

#define ML_ANGLE   "ANGLE"

Second/angle component of polar coordinate.

Definition at line 354 of file mlTypeDefs.h.

◆ ML_BLACK

#define ML_BLACK   "BLACK"

Black channel code for CMY* color models.

Definition at line 290 of file mlTypeDefs.h.

◆ ML_BLUE

#define ML_BLUE   "BLUE"

Blue channel code for RGB/RGBA color model.

Definition at line 279 of file mlTypeDefs.h.

◆ ML_CALC_FTYPE

#define ML_CALC_FTYPE   MLdouble

The floating point type used when data types have to convert something internally in a certain floating point type.

Standard by the compiler is double but long double could also be interesting; however it would be slower.

Definition at line 1686 of file mlTypeDefs.h.

◆ ML_CALC_ITYPE

#define ML_CALC_ITYPE   MLint

The integer type used when data types have to convert something internally in a certain integer type.

Standard by the compiler is int but int64 could also be interesting; however it would be slower.

Definition at line 1693 of file mlTypeDefs.h.

◆ ML_CIE_X

#define ML_CIE_X   "CIE_X"

C channel code for CIE-XYZ and CIE-LUV color models (Standardized color models approximately matching the human color perception).

Definition at line 311 of file mlTypeDefs.h.

◆ ML_CIE_Y

#define ML_CIE_Y   "CIE_Y"

I channel code for CIE_XYZ color model. See ML_CIE_X for further information.

Definition at line 313 of file mlTypeDefs.h.

◆ ML_CIE_Z

#define ML_CIE_Z   "CIE_Z"

E channel code for CIE_XYZ color model. See ML_CIE_X for further information.

Definition at line 315 of file mlTypeDefs.h.

◆ ML_CYAN

#define ML_CYAN   "CYAN"

Cyan channel code for CMY* color models.

Definition at line 284 of file mlTypeDefs.h.

◆ ML_DOUBLE_DIG

#define ML_DOUBLE_DIG   DBL_DIG

Definition at line 228 of file mlTypeDefs.h.

◆ ML_DOUBLE_EPSILON

#define ML_DOUBLE_EPSILON   DBL_EPSILON

Definition at line 227 of file mlTypeDefs.h.

◆ ML_DOUBLE_MAX

#define ML_DOUBLE_MAX   DBL_MAX

Definition at line 226 of file mlTypeDefs.h.

◆ ML_DOUBLE_MIN

#define ML_DOUBLE_MIN   DBL_MIN

Definition at line 225 of file mlTypeDefs.h.

◆ ML_FLOAT_DIG

#define ML_FLOAT_DIG   (FLT_DIG+2)

Definition at line 213 of file mlTypeDefs.h.

◆ ML_FLOAT_EPSILON

#define ML_FLOAT_EPSILON   FLT_EPSILON

Definition at line 211 of file mlTypeDefs.h.

◆ ML_FLOAT_MAX

#define ML_FLOAT_MAX   FLT_MAX

Definition at line 210 of file mlTypeDefs.h.

◆ ML_FLOAT_MIN

#define ML_FLOAT_MIN   FLT_MIN

Definition at line 209 of file mlTypeDefs.h.

◆ ML_GREEN

#define ML_GREEN   "GREEN"

Green channel code for RGB/RGBA color model.

Definition at line 277 of file mlTypeDefs.h.

◆ ML_HUE

#define ML_HUE   "HUE"

Hue channel code for HSV/HLS color models.

Definition at line 293 of file mlTypeDefs.h.

◆ ML_IMAG

#define ML_IMAG   "IMAG_PART"

Imaginary part of a complex number.

Definition at line 336 of file mlTypeDefs.h.

◆ ML_INT16_MAX

#define ML_INT16_MAX   0x7FFF

Definition at line 135 of file mlTypeDefs.h.

◆ ML_INT16_MIN

#define ML_INT16_MIN   -32768

Definition at line 134 of file mlTypeDefs.h.

◆ ML_INT32_MAX

#define ML_INT32_MAX   (static_cast<MLint32>(0x7FFFFFFFL))

Definition at line 177 of file mlTypeDefs.h.

◆ ML_INT32_MIN

#define ML_INT32_MIN   (static_cast<MLint32>(0x80000000L))

Definition at line 176 of file mlTypeDefs.h.

◆ ML_INT64_MAX

#define ML_INT64_MAX   INT64_MAX

Definition at line 555 of file mlTypeDefs.h.

◆ ML_INT64_MIN

#define ML_INT64_MIN   INT64_MIN

Definition at line 554 of file mlTypeDefs.h.

◆ ML_INT8_MAX

#define ML_INT8_MAX   0x7F

Definition at line 106 of file mlTypeDefs.h.

◆ ML_INT8_MIN

#define ML_INT8_MIN   -128

Definition at line 105 of file mlTypeDefs.h.

◆ ML_INT_MAX

#define ML_INT_MAX   ML_INT64_MAX

Maximum possible value of MLint.

Definition at line 587 of file mlTypeDefs.h.

◆ ML_INT_MIN

#define ML_INT_MIN   ML_INT64_MIN

Minimum possible value of MLint.

Definition at line 584 of file mlTypeDefs.h.

◆ ML_LDOUBLE_DIG

#define ML_LDOUBLE_DIG   LDBL_DIG

Definition at line 243 of file mlTypeDefs.h.

◆ ML_LDOUBLE_EPSILON

#define ML_LDOUBLE_EPSILON   LDBL_EPSILON

Definition at line 242 of file mlTypeDefs.h.

◆ ML_LDOUBLE_MAX

#define ML_LDOUBLE_MAX   LDBL_MAX

Definition at line 241 of file mlTypeDefs.h.

◆ ML_LDOUBLE_MIN

#define ML_LDOUBLE_MIN   LDBL_MIN

Definition at line 240 of file mlTypeDefs.h.

◆ ML_LIGHTNESS

#define ML_LIGHTNESS   "LIGHTNESS"

Lightness channel code for HSV/HLS color models. In HLS, white has L=1, pure colors have L=0.5.

Definition at line 299 of file mlTypeDefs.h.

◆ ML_LUMINANCE

#define ML_LUMINANCE   "LUMINANCE"

Gray, min is black.

Definition at line 266 of file mlTypeDefs.h.

◆ ML_LUV_L

#define ML_LUV_L   "LUV_L"

LI channel code for CIE_LUV color model. See ML_CIE_X for further information.

Definition at line 317 of file mlTypeDefs.h.

◆ ML_LUV_U

#define ML_LUV_U   "LUV_U"

U channel code for CIE_LUV color model. See ML_CIE_X for further information.

Definition at line 319 of file mlTypeDefs.h.

◆ ML_LUV_V

#define ML_LUV_V   "LUV_V"

V channel code for CIE_LUV color model. See ML_CIE_X for further information.

Definition at line 321 of file mlTypeDefs.h.

◆ ML_M_PI

#define ML_M_PI   3.14159265358979323846 /* pi */

Pi as ML constant for backward compatibility.

Definition at line 455 of file mlTypeDefs.h.

◆ ML_M_PI_2

#define ML_M_PI_2   1.57079632679489661923 /* pi/2 */

Pi/2 as ML constant for backward compatibility.

Definition at line 459 of file mlTypeDefs.h.

◆ ML_MAGENTA

#define ML_MAGENTA   "MAGENTA"

Magenta channel code for CMY* color models.

Definition at line 286 of file mlTypeDefs.h.

◆ ML_MAGNITUDE

#define ML_MAGNITUDE   "MAGNITUDE"

First/magnitude component of polar coordinate.

Definition at line 352 of file mlTypeDefs.h.

◆ ML_NEGATIVE

#define ML_NEGATIVE   "NEGATIVE"

Gray, min is white.

Definition at line 268 of file mlTypeDefs.h.

◆ ML_PALETTE

#define ML_PALETTE   "PALETTE"

Palette or partial palette image, e.g., luminance with trace colors.

Definition at line 270 of file mlTypeDefs.h.

◆ ML_REAL

#define ML_REAL   "REAL_PART"

Real part of a complex number.

Definition at line 334 of file mlTypeDefs.h.

◆ ML_RED

#define ML_RED   "RED"

Red channel code for RGB/RGBA color model.

Definition at line 275 of file mlTypeDefs.h.

◆ ML_SATURATION

#define ML_SATURATION   "SATURATION"

Saturation channel code for HSV/HLS color models.

Definition at line 295 of file mlTypeDefs.h.

◆ ML_SIZE_T_MAX

#define ML_SIZE_T_MAX   ML_USIZE_T_MAX

For convenience the maximum value of size_t without "U" which is probably more the expected naming.

Definition at line 640 of file mlTypeDefs.h.

◆ ML_SIZE_T_MIN

#define ML_SIZE_T_MIN   ML_USIZE_T_MIN

For convenience the minimum value of size_t without "U" which is probably more the expected naming.

Definition at line 637 of file mlTypeDefs.h.

◆ ML_SSIZE_T_MAX

#define ML_SSIZE_T_MAX   (static_cast<MLssize_t>(ML_USIZE_T_MAX ^ ML_SSIZE_T_MIN))

The maximum value of ML_SSIZE_T.

Definition at line 665 of file mlTypeDefs.h.

◆ ML_SSIZE_T_MIN

#define ML_SSIZE_T_MIN   (static_cast<MLssize_t>(1) << (sizeof(MLssize_t)*8-1))

The minimum value of ML_SSIZE_T.

Definition at line 661 of file mlTypeDefs.h.

◆ ML_TYPE_ASSIGN_FUNCTION_POINTERS

#define ML_TYPE_ASSIGN_FUNCTION_POINTERS ( )

Definition at line 1700 of file mlTypeDefs.h.

◆ ML_UINT16_MAX

#define ML_UINT16_MAX   0xFFFF

Definition at line 152 of file mlTypeDefs.h.

◆ ML_UINT16_MIN

#define ML_UINT16_MIN   0x0000

Definition at line 151 of file mlTypeDefs.h.

◆ ML_UINT32_MAX

#define ML_UINT32_MAX   (static_cast<MLuint32>(0xFFFFFFFFL))

Definition at line 197 of file mlTypeDefs.h.

◆ ML_UINT32_MIN

#define ML_UINT32_MIN   (static_cast<MLuint32>(0x00000000L))

Definition at line 196 of file mlTypeDefs.h.

◆ ML_UINT64_MAX

#define ML_UINT64_MAX   UINT64_MAX

Definition at line 565 of file mlTypeDefs.h.

◆ ML_UINT64_MIN

#define ML_UINT64_MIN   static_cast<MLuint64>(0)

Definition at line 564 of file mlTypeDefs.h.

◆ ML_UINT8_MAX

#define ML_UINT8_MAX   0xFF

Definition at line 118 of file mlTypeDefs.h.

◆ ML_UINT8_MIN

#define ML_UINT8_MIN   0x00

Definition at line 117 of file mlTypeDefs.h.

◆ ML_UINT_MAX

#define ML_UINT_MAX   UINT64_MAX

Maximum possible value of MLuint.

Definition at line 603 of file mlTypeDefs.h.

◆ ML_UINT_MIN

#define ML_UINT_MIN   UINT64_MIN

Minimum possible value of MLuint.

Definition at line 600 of file mlTypeDefs.h.

◆ ML_UNDEFINED_THREADID

#define ML_UNDEFINED_THREADID   0

MLThreadId. Defines the datatype for a thread id for comparing threads to each other.

Definition at line 703 of file mlTypeDefs.h.

◆ ML_UNKNOWN

#define ML_UNKNOWN   "UNKNOWN"

Code for unknown image plane/color channel content.

Definition at line 324 of file mlTypeDefs.h.

◆ ML_USIZE_T_MAX

#define ML_USIZE_T_MAX   (~static_cast<size_t>(0))

The maximum value of size_t.

Definition at line 634 of file mlTypeDefs.h.

◆ ML_USIZE_T_MIN

#define ML_USIZE_T_MIN   ( static_cast<size_t>(0))

The minimum value of size_t.

Definition at line 631 of file mlTypeDefs.h.

◆ ML_V0

#define ML_V0   "V0"

Name for the first component of a vector.

Definition at line 339 of file mlTypeDefs.h.

◆ ML_V1

#define ML_V1   "V1"

Name for the second component of a vector.

Definition at line 341 of file mlTypeDefs.h.

◆ ML_V2

#define ML_V2   "V2"

Name for the third component of a vector.

Definition at line 343 of file mlTypeDefs.h.

◆ ML_V3

#define ML_V3   "V3"

Name for the fourth component of a vector.

Definition at line 345 of file mlTypeDefs.h.

◆ ML_V4

#define ML_V4   "V4"

Name for the fifth component of a vector.

Definition at line 347 of file mlTypeDefs.h.

◆ ML_V5

#define ML_V5   "V5"

Name for the sixth component of a vector.

Definition at line 349 of file mlTypeDefs.h.

◆ ML_VALUE

#define ML_VALUE   "VALUE"

Value channel code for HSV/HLS color models. In HSV, pure colors and white have V=1.

Definition at line 297 of file mlTypeDefs.h.

◆ ML_YELLOW

#define ML_YELLOW   "YELLOW"

Yellow channel code for CMY* color models.

Definition at line 288 of file mlTypeDefs.h.

◆ ML_YIQ_I

#define ML_YIQ_I   "YIQ_I"

YIQ I channel code for YIQ color model (used in US TV standard).

Definition at line 304 of file mlTypeDefs.h.

◆ ML_YIQ_Q

#define ML_YIQ_Q   "YIQ_Q"

YIQ Q channel code for YIQ color model (used in US TV standard).

Definition at line 306 of file mlTypeDefs.h.

◆ ML_YIQ_Y

#define ML_YIQ_Y   "YIQ_Y"

YIQ Y channel code for YIQ color model (used in US TV standard).

Definition at line 302 of file mlTypeDefs.h.

◆ UINT64_MAX

#define UINT64_MAX   0xFFFFFFFFFFFFFFFFUI64

Definition at line 522 of file mlTypeDefs.h.

◆ UINT64_MIN

#define UINT64_MIN   static_cast<MLuint64>(0)

If still not done, define UINT64_MIN and UINT64_MAX.

Definition at line 519 of file mlTypeDefs.h.

Typedef Documentation

◆ MLApplicationGetBoolPropertyCB

typedef 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 from the application, it should return 0 for false and 1 for true.

Definition at line 1341 of file mlTypeDefs.h.

◆ MLApplicationGetDoublePropertyCB

typedef 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 from the application.

Definition at line 1337 of file mlTypeDefs.h.

◆ MLApplicationGetInt32PropertyCB

typedef 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 from the application.

Definition at line 1334 of file mlTypeDefs.h.

◆ MLApplicationGetStringPropertyCB

typedef 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 from the application.

The returned char pointer may be short-lived and should be copied immediately!

Definition at line 1331 of file mlTypeDefs.h.

◆ MLDblFuncPtr

typedef double(* MLDblFuncPtr) (double)

A function pointer type to a function which returns a double and takes a double as argument.

Definition at line 1282 of file mlTypeDefs.h.

◆ MLdouble

typedef double MLdouble

Definition at line 223 of file mlTypeDefs.h.

◆ MLdoublePtr

typedef double* MLdoublePtr

Definition at line 224 of file mlTypeDefs.h.

◆ MLEventFilterApplicationHookCB

typedef void MLEventFilterApplicationHookCB(void *applicationUsrData, MLEventFilterApplicationMessage type, MLEventFilterCB *cb, void *usrData, MLuint32 fromMessageId, MLuint32 toMessageId)

Internal application event filter callback type.

type decides whether the pair cb and usrData shall be added or removed from the windows handler. cb is the callback which is passed from the calls of MLAddEventFilter or MLRemoveEventFilterCB. usrData is the callback data which is passed from the calls of MLAddEventFilter or MLRemoveEventFilterCB. fromMessageId and toMessageId define the range of the message ids that are passed to the filter, see MLAddEventFilterCB.

Definition at line 1389 of file mlTypeDefs.h.

◆ MLEventFilterCB

typedef MLint32 MLEventFilterCB(void *usrData, void *event)

Callback function type for events that are passed to the user.

The event parameter event is a MSG* for WIN32 and a XEvent* for X11. The return value decides if the event is further processed by the underlying windows system, in the case of MeVisLab QT. By default one should return 0 when the event is not used/handled by the user and 1 if the event was handled the callback.

Definition at line 1352 of file mlTypeDefs.h.

◆ MLfloat

typedef float MLfloat

Definition at line 207 of file mlTypeDefs.h.

◆ MLfloatPtr

typedef float* MLfloatPtr

Definition at line 208 of file mlTypeDefs.h.

◆ MLHostBreakCheckCB

typedef MLint32 MLHostBreakCheckCB(void *usrData, void **hitField)

Definition at line 1317 of file mlTypeDefs.h.

◆ MLHostProgressCB

typedef void MLHostProgressCB(void *usrData, const char *info1, const char *info2)

Definition at line 1316 of file mlTypeDefs.h.

◆ MLint

typedef MLint64 MLint

A signed ML integer type with at least 64 bits used for index calculations on very large images even on 32 bit systems (typically used for positions and coordinates in/of images).

Definition at line 578 of file mlTypeDefs.h.

◆ MLint16

typedef signed short MLint16

Definition at line 131 of file mlTypeDefs.h.

◆ MLint16Ptr

typedef signed short* MLint16Ptr

Definition at line 132 of file mlTypeDefs.h.

◆ MLint32

typedef signed int MLint32

Definition at line 167 of file mlTypeDefs.h.

◆ MLint32Ptr

typedef signed int* MLint32Ptr

Definition at line 168 of file mlTypeDefs.h.

◆ MLint64

typedef INT64 MLint64

Include 64 bit integer support for Windows or Unix.

Introduce platform independent 64 bit signed integer type.

Definition at line 500 of file mlTypeDefs.h.

◆ MLint64Ptr

typedef INT64* MLint64Ptr

Introduce platform independent 64 bit signed integer pointer type.

Definition at line 502 of file mlTypeDefs.h.

◆ MLint8

typedef char MLint8

Definition at line 103 of file mlTypeDefs.h.

◆ MLint8Ptr

typedef char* MLint8Ptr

Definition at line 104 of file mlTypeDefs.h.

◆ MLintPtr

typedef MLint64* MLintPtr

A pointer to the signed ML integer type MLint.

Definition at line 581 of file mlTypeDefs.h.

◆ MLldouble

typedef long double MLldouble

Definition at line 238 of file mlTypeDefs.h.

◆ MLldoublePtr

typedef long double* MLldoublePtr

Definition at line 239 of file mlTypeDefs.h.

◆ MLMessageCB

typedef void MLMessageCB(void *usrData, MLErrorCode errCode, MLMessageType messageType, const char *messStr, int line, const char **infos)

Handling/setting/getting of ML messages callbacks.

Callback function type for application defined error handler.

Definition at line 1289 of file mlTypeDefs.h.

◆ MLNotifyCB

typedef 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 MLNotifyChangedObjectType.

This registered function will be called with the registered user data usrData and the changed object type objType when an ML object changes. Additional objects or information may be passed with pointers objectData1 and objectData2 which depend on the type of call; in most cases these pointers are NULL, however.

Definition at line 1307 of file mlTypeDefs.h.

◆ MLRequestProgressCB

typedef void MLRequestProgressCB(void *usrData, double progress)

Definition at line 1318 of file mlTypeDefs.h.

◆ MLSensorCB

typedef void MLSensorCB(void *usrData, void *sensor)

Definition at line 1315 of file mlTypeDefs.h.

◆ MLsoffset

typedef MLint MLsoffset

Signed ML offset type which is a 32 bit signed integer on 32 bit platforms and a 64 bit integer on 64 bit platforms.

Definition at line 650 of file mlTypeDefs.h.

◆ MLssize_t

typedef 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 platforms.

Definition at line 654 of file mlTypeDefs.h.

◆ MLThreadId

Definition at line 706 of file mlTypeDefs.h.

◆ MLTypeData

typedef unsigned char MLTypeData

This is the pointer type used to point to the data of MLType data instances.

Definition at line 1436 of file mlTypeDefs.h.

◆ MLTypeGroup

This is an identifier to differentiate types like matrices, vectors and complex/quaternion types, which may have the same number of components, but different semantics.

Definition at line 1447 of file mlTypeDefs.h.

◆ MLTypePropertyBits

Structure to define a bit mask which identifies all implemented functions for a data type.

Definition at line 1411 of file mlTypeDefs.h.

◆ MLuint

typedef MLuint64 MLuint

An unsigned ML integer type with at least 64 bits used for index calculations on very large images even on 32 bit systems (sometimes needed for positions and coordinates in/of images; note that normally the signed MLint should be used for safe signed indexing arithmetics in the ML, because images can be larger than 2^32 even on 32 bit systems).

Definition at line 594 of file mlTypeDefs.h.

◆ MLuint16

typedef unsigned short MLuint16

Definition at line 148 of file mlTypeDefs.h.

◆ MLuint16Ptr

typedef unsigned short* MLuint16Ptr

Definition at line 149 of file mlTypeDefs.h.

◆ MLuint32

typedef unsigned int MLuint32

Definition at line 191 of file mlTypeDefs.h.

◆ MLuint32Ptr

typedef unsigned int* MLuint32Ptr

Definition at line 192 of file mlTypeDefs.h.

◆ MLuint64

typedef UINT64 MLuint64

Introduce platform independent 64 bit unsigned integer type.

Definition at line 513 of file mlTypeDefs.h.

◆ MLuint64Ptr

typedef UINT64* MLuint64Ptr

Introduce platform independent 64 bit unsigned integer pointer type.

Definition at line 515 of file mlTypeDefs.h.

◆ MLuint8

typedef unsigned char MLuint8

Definition at line 115 of file mlTypeDefs.h.

◆ MLuint8Ptr

typedef unsigned char* MLuint8Ptr

Definition at line 116 of file mlTypeDefs.h.

◆ MLuintPtr

typedef MLuint64* MLuintPtr

A pointer to the unsigned ML integer type MLuint.

Definition at line 597 of file mlTypeDefs.h.

◆ MLuoffset

Unsigned ML offset type which is a 32 bit unsigned integer on 32 bit platforms and 64 bit one on 64 bit platforms.

Definition at line 625 of file mlTypeDefs.h.

◆ MLusize_t

typedef 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 bit platforms.

Definition at line 628 of file mlTypeDefs.h.

Enumeration Type Documentation

◆ MLArrayIndex

Indexes for axes, arrays and vectors.

Enumerator
ML_VX 

Array index for x components (entry 0)

ML_VY 

Array index for y components (entry 1)

ML_VZ 

Array index for z components (entry 2)

ML_VW 

Array index for w (forth components of homogeneous vectors, entry 3)

ML_VC 

Array index for c (color) components (entry 3)

ML_VT 

Array index for t (time) components (entry 4)

ML_VU 

Array index for u (unit/user dimension) components (entry 5)

Definition at line 1262 of file mlTypeDefs.h.

◆ MLCheckBits

Enumerator describing runtime and final checks in the ML.

Enumerator
ML_FINAL_RUNTIME_CHECK_BIT 

Final checks in the RuntimeType system are activated.

ML_NO_CHECKS_BITS 

All checks are deactivated.

ML_ALL_CHECKS_BITS 

All available checks are activated.

Definition at line 788 of file mlTypeDefs.h.

◆ MLEventFilterApplicationMessage

Enum to describe the significance of the call, e.g., whether an 'add' or a 'remove' of a function is requested.

Enumerator
ML_EVENTFILTER_ADD_CB 
ML_EVENTFILTER_REMOVE_CB 

Definition at line 1245 of file mlTypeDefs.h.

◆ MLMemoryErrorHandling

Enumerator to specify memory error handling.

Enumerator
ML_RETURN_NULL 

On allocation failure NULL is returned without error handling.

ML_FATAL_MEMORY_ERROR 

On allocation failure a fatal error print is done and NULL is returned.

ML_THROW_NO_MEMORY 

On allocation failure a throw(ML_NO_MEMORY) is executed.

ML_FATAL_MEMORY_ERROR_AND_THROW_NO_MEMORY 

On allocation failure a fatal error is posted and ML_NO_MEMORY is thrown.

Definition at line 778 of file mlTypeDefs.h.

◆ MLMessageType

Message types handled by the ErrorOutput class.

Enumerator
ML_WARNING 
ML_ERROR 
ML_FATAL 
ML_DEBUG 
ML_COUT 
ML_CERR 
ML_INFORMATION 
ML_OTHER_MESSAGE 
ML_ALL_MESSAGES 

Definition at line 798 of file mlTypeDefs.h.

◆ MLNotifyChangedClassType

Codes for ML classes which may change:

Enumerator
ML_NOTIFY_NO_OBJECT 

0x0000 = No object

ML_NOTIFY_ERROR_OUTPUT 

0x0001 = ErrorOutput

ML_NOTIFY_API 

0x0002 = API

ML_NOTIFY_RUNTIME 

0x0004 = Runtime

ML_NOTIFY_CACHE 

0x0008 = Cache

ML_NOTIFY_HOST 

0x0010 = Host

ML_NOTIFY_MODULE 

0x0020 = Module

ML_NOTIFY_LAST_CLASS 

Definition at line 1176 of file mlTypeDefs.h.

◆ MLNotifyChangedObjectType

Objects of the ML which call the registered functions when changed.

The highest 16 bits contains the code for the class which changes. The lowest 16 bits contains the object which changes. Note to ML_MODULE_DELETED and ML_NOTIFY_RUNTIME_TYPE_REMOVED: If called then the deleted module or runtime type pointers, which are passed as first parameters, are still not valid any more.

Enumerator
ML_NOTIFY_NO_OBJECT_TYPE 
ML_NOTIFY_ERROR_OUTPUT_ERROR_OUTPUT_CB 
ML_NOTIFY_ERROR_OUTPUT_FULL_DEBUGGING 
ML_NOTIFY_ERROR_OUTPUT_TERMINATION_TYPE 
ML_NOTIFY_ERROR_OUTPUT_MESSAGE_FILTER 
ML_NOTIFY_ERROR_OUTPUT_DEBUG_ENV_NAMES 
ML_NOTIFY_ERROR_OUTPUT_OTHER_CHANGES 
ML_NOTIFY_API_EXCEPTIONS 
ML_NOTIFY_API_CHECKS_BITS 
ML_NOTIFY_RUNTIME_TYPE_ADDED 
ML_NOTIFY_RUNTIME_TYPE_REMOVED 
ML_NOTIFY_CACHE_CLEAR 
ML_NOTIFY_CACHE_MEM_OPT_LEVEL 
ML_NOTIFY_CACHE_FLUSH 
ML_NOTIFY_CACHE_MAX_SIZE 
ML_NOTIFY_CACHE_MONITORING_LEVEL 
ML_NOTIFY_HOST_MAX_NUM_THREADS 
ML_NOTIFY_HOST_BREAK_CHECK_CB 
ML_NOTIFY_HOST_PROGRESS_CB 
ML_NOTIFY_HOST_USE_CLASSIC_HOST 
ML_NOTIFY_FIELD_HANDLED 
ML_NOTIFY_MODULE_INSTANTIATED 
ML_NOTIFY_MODULE_DELETED 

Definition at line 1200 of file mlTypeDefs.h.

◆ MLSign

enum MLSign

Definition of possible signs as enumerator.

Enumerator
ML_ZERO_SIGN 

Enumerator for no negative and no positive sign (=0).

ML_NEGATIVE_SIGN 

Negative sign enumerator.

ML_POSITIVE_SIGN 

Positive sign enumerator.

Definition at line 1254 of file mlTypeDefs.h.

◆ MLTerminator

Termination types for error handling.

Selectors what the ML shall do if a debug, error, warning, or information is received.

Enumerator
ML_CONTINUE 

Tries to ignore the message and to continue.

ML_ABORT 

Uses abort() to terminate the application which supports easily to start the debugger.

ML_EXIT0 

Terminates the application with exit(0), not recommended for use in normal code.

ML_EXITCODE 

Terminates the application with exit(ErrorCode), not recommended for use in normal code.

MLNumTerminators 

Definition at line 1162 of file mlTypeDefs.h.

◆ MLTypeGroupIds

Some predefined type groups.

Enumerator
MLNoTypeGroup 
MLScalarTypeGroup 
MLVectorTypeGroup 
MLMatrixTypeGroup 

Definition at line 1452 of file mlTypeDefs.h.