ML Reference
ml Namespace Reference

Main documentation file for ML users and developers. More...

Namespaces

 detail
 
 internal
 
 library
 
 ScopeGuardDetail
 
 taskSystem
 
 TypedProcessing
 
 Unicode
 
 ValuePersistence
 

Classes

class  ClassicHost
 Classic ML host used internally to calculate getTile and processAllPages requests. More...
 
class  GetTileJobBase
 Base class for TileRequest based jobs. More...
 
class  GetTileJob
 Public interface for requesting a tile from a an ML PagedImage using the PageRequestProcessor. More...
 
class  MultiThreadedPageRequestProcessor
 A multi-threaded processor that takes one or even multiple tile requests and can process them iteratively. More...
 
class  PageRequest
 A PageRequest represents the request for the calculation of a single page of a PagedImage. More...
 
class  PageRequestCursor
 A cursor to create page and tile requests in an iterative manner, to allow breaking/resuming at any time and to avoid a recursive tree traversal which can not be easily resumed. More...
 
class  PageRequestQueueInterface
 Virtual interface for queuing PageRequests that are ready for processing. More...
 
class  PageRequestProcessor
 Abstract base class for page request processors. More...
 
class  PageRequestProcessorBase
 Base class for single and multi-threaded processor. More...
 
class  ProcessAllPagesJob
 Public interface for processing all pages of a temporary output image. More...
 
class  ProcessingTimeLine
 Stores a processing time line for multiple threads. More...
 
class  SingleThreadedPageRequestProcessor
 A single-threaded processor that takes one or even multiple tile requests and can process them iteratively. More...
 
class  TileRequest
 A TileRequest either represents the input sub image that is needed by a PageRequest or if it is a root TileRequest, it represents the request by a user to get that tile. More...
 
class  OutputConnector
 Class to manage an output connection for a Module module. More...
 
class  InputConnector
 Class to manage an input connection of a Module module. More...
 
class  Engine
 Base class for all ML Engines which are derived from Module, which have no inputs or outputs and which implements field connections or operations on fields. More...
 
class  Field
 Base class for all fields used in the ML. More...
 
class  FieldContainer
 Defines the class FieldContainer to encapsulate a vector of fields for (see class Field). More...
 
class  BoolField
 Field to encapsulate a boolean value. More...
 
class  IntField
 Field to encapsulate an integer value. More...
 
class  EnumField
 Field to encapsulate an enumerated value. More...
 
class  EnumValues
 Helper class that stores a list of typed enum values and their string names. More...
 
class  TypedEnumField
 TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int. More...
 
class  FloatField
 Field to encapsulate a float value. More...
 
class  ProgressField
 Field to encapsulate an increasing float value from range [0,1]. More...
 
class  DoubleField
 Field to encapsulate a double value. More...
 
class  StringField
 Field to encapsulate a string value. More...
 
class  NotifyField
 Field without value for notifications. More...
 
class  OutputConnectorField
 Field to encapsulate a pointer to an output connector which represents a module output. More...
 
class  InputConnectorField
 Field to encapsulate a pointer to an input connector which represents a module input. More...
 
class  BaseField
 Field to encapsulate a pointer to an ML base object. More...
 
class  TypedBaseField
 Templated version of BaseField which only stores the template type as pointer. More...
 
class  SoNodeField
 Field to encapsulate a pointer to an SoNode instance of OpenInventor. More...
 
class  PointerField
 Field to encapsulate a void pointer to arbitrary data. More...
 
class  Vector2Field
 Field to encapsulate a vector of 2 double values. More...
 
class  Vector3Field
 Field to encapsulate a vector of 3 double values. More...
 
class  Vector4Field
 Field to encapsulate a vector of 4 double values. More...
 
class  Vector5Field
 Field to encapsulate a vector of 5 double values. More...
 
class  Vector6Field
 Field to encapsulate a vector of 6 double values. More...
 
class  Vector10Field
 Field to encapsulate a vector of 10 double values. More...
 
class  ColorField
 Field to encapsulate a vector of 3 float values representing an (rgb) color with all properties of Vector3Field. More...
 
class  Matrix2Field
 Field encapsulating a 2x2 matrix. More...
 
class  Matrix3Field
 Field encapsulating a 3x3 matrix. More...
 
class  MatrixField
 Field to encapsulate a 4x4 matrix, same as Matrix4Field for backward compatibility. More...
 
class  Matrix4Field
 Field to encapsulate a 4x4 matrix. More...
 
class  Matrix5Field
 Field encapsulating a 5x5 matrix. More...
 
class  Matrix6Field
 Field encapsulating a 6x6 matrix. More...
 
class  MLDataTypeField
 Field to encapsulate an MLDataType value. More...
 
class  ImageVectorField
 Field to encapsulate an ML vector ImageVector with 6 integer components. More...
 
class  SubImageBoxField
 Field to encapsulate an ML integer SubimgBox. More...
 
class  SubImageBoxdField
 Field to encapsulate an ML double SubimgBox. More...
 
class  UniversalTypeField
 Field to encapsulate any of the registered ML types. More...
 
class  RotationField
 Field to encapsulate a vector of 4 double values representing a rotation with all properties of Vector4Field. More...
 
class  PlaneField
 Field to encapsulate a vector of 4 double values representing a plane with all properties of Vector4Field. More...
 
class  FieldSensor
 Class to define and to manage field sensors. More...
 
class  Host
 The Host is the central image processing class in the ML. More...
 
class  ImageProperties
 This class represents basic image properties: More...
 
class  InputSubImageProperties
 Defines the class InputSubImageProperties which is a simple container for some properties which can be defined for an input subimage which is to be delivered to the corresponding call of the module's calculateOutputSubImage method. More...
 
class  ListField
 
class  IntListField
 
class  DoubleListField
 
class  Vector2ListField
 
class  Vector3ListField
 
class  Vector4ListField
 
class  MedicalImageProperties
 This class encapsulates basic medical image properties: More...
 
class  MemoryImage
 A memory cache for the complete output image of an output connector. More...
 
class  Module
 Base class for an image processing module of the ML. More...
 
class  ModuleDiagnosisStackScope
 
class  UserThreadData
 Base class for thread local data that is passed to CalculateOutputImageHandler::calculateOutputSubImage. More...
 
class  CalculateOutputImageHandler
 Base class for the calculation of pages of an output image (PagedImage) of a Module. More...
 
class  ModuleTools
 Class containing some helper functionality for Module programming and/or for the Module class itself. More...
 
class  PagedImage
 Class which represents an image, which manages properties of an image and image data which is located in pages. More...
 
class  PageIDIterator
 A class that allows to incrementally iterate over all ids of pages have an intersection with a given box on a given PagedImage. More...
 
class  ProcessAllPagesHandler
 Base class for handlers that are used for the Module::processAllPages facility. More...
 
class  OrderedSingleInputProcessAllPagesHandler
 A ProcessAllPages handler that offers ordered tile delivery on a single input image. More...
 
class  OrderedProcessAllPagesHandler
 A ProcessAllPages handler that offers ordered tile delivery on any number of input images. More...
 
class  TScaleShiftData
 Class to define a first order linear transformation. More...
 
class  MLTStdTypeInfos
 Template class to register the standard integer classes as voxel types in the ML. More...
 
class  StringConversion
 The class StringConversion provides static methods to convert ML objects to and from strings. More...
 
class  SubImage
 This class manages/represents a rectangular 6d image region which is organized linearly in memory. More...
 
class  TSubImageBox
 This class defines a rectangular subimage region of standard ML dimensions. More...
 
class  SubImageBoxd
 SubImageBoxd - SubImageBox with coordinates of float data type. More...
 
class  TreeNodeException
 The class TreeNodeException is the base class for all exceptions thrown by the class TreeNode and all derived classes. More...
 
class  TreeNode
 The class TreeNode is the abstract base class for the import/export of ML objects. More...
 
class  TSubImageCursor
 Predeclaration for cursor. More...
 
class  ConstTSubImageCursor
 Predeclaration for const cursor. More...
 
class  TSubImage
 This template class manages/represents a rectangular 6d image region in memory which is organized linearly. More...
 
class  TSubImageCursorBase
 Base class for all TSubImage Cursors. More...
 
class  TSubImageWithCursor
 A class that offers a TSubImage with a TSubImageCursor. More...
 
class  VariableType
 Base class for all variable types, mainly for doxygen documentation purpose. More...
 
class  TypedProcessAllPagesHandler
 TypedProcessAllPagesHandler can be used as a base class for an own ProcessAllPages handler and supports up to 4 type variable types. More...
 
class  TypedCalculateOutputImageHandler
 TypedCalculateOutputImageHandler can be used as a base class for an own CalculateOutputImageHandler and supports up to 4 variable types. More...
 
struct  TypeTraits
 TypeTraits for scalar ML Datatypes. More...
 
struct  DataTypeSelector
 Helper template so select a data type from its type id. More...
 
class  TQuaternion
 Declaration of complex type traits: More...
 
class  Tvec2
 Declaration of float vector type traits: More...
 
class  Tvec3
 Forward declarations to resolve header file dependencies. More...
 
class  Tvec4
 Forward declarations to resolve header file dependencies. More...
 
class  Tvec5
 Forward declarations to resolve header file dependencies. More...
 
class  Tvec6
 A six dimensional vector class for floating point types. More...
 
class  Tvec7
 An seven dimensional vector class for floating point types. More...
 
class  Tvec8
 An eight dimensional vector class for floating point types. More...
 
class  Tvec9
 An nine dimensional vector class for floating point types. More...
 
class  Tvec10
 An ten dimensional vector class for floating point types. More...
 
class  Tvec16
 A 16 dimensional vector class for floating point types. More...
 
class  Tvec32
 A 32 dimensional vector class for floating point types. More...
 
class  Tvec64
 A 64 dimensional vector class for floating point types. More...
 
class  Tmat2
 Declaration of matrix type traits: More...
 
class  Tmat3
 A three by three matrix class of three row vectors. More...
 
class  Tmat4
 A four by four matrix class consisting of 4 row vectors. More...
 
class  Tmat5
 A five by five matrix class of five row vectors. More...
 
class  Tmat6
 A six by six matrix class of six row vectors. More...
 
class  TVectorNDBase
 Declaration of integer vector type traits: More...
 
class  FloatingPointVector
 Template class for vector arithmetic with floating point data types. More...
 
class  FloatingPointMatrix
 Base class of all matrix classes which holds the data buffer and provides some general access methods. More...
 
class  AbstractPersistenceStream
 AbstactPersistenceStream is the base class for AbstractPersistenceOutputStream and AbstractPersistenceInputStream and implements the methods that are common for both these classes. More...
 
class  AbstractPersistenceOutputStream
 Class for writing object data to a stream. More...
 
class  AbstractPersistenceInputStream
 Class for reading object data from a stream. More...
 
class  PersistenceStreamException
 This class represents the exceptions that can be thrown while reading from or writing to the persistence stream. More...
 
class  PersistenceStreamIOException
 Derived class. More...
 
class  PersistenceStreamFormatException
 Derived class. More...
 
class  PersistenceStreamInternalError
 Derived class. This exception usually denotes programming errors. More...
 
class  ApplicationProperties
 Static class that defines an interface to access properties of the host application. More...
 
struct  ArgumentList0
 Empty argument to allow running with 0 arguments. More...
 
struct  ArgumentList1
 ArgumentList with 1 argument. More...
 
struct  ArgumentList2
 ArgumentList with 2 arguments. More...
 
struct  ArgumentList3
 ArgumentList with 3 arguments. More...
 
struct  ArgumentList4
 ArgumentList with 4 arguments. More...
 
struct  ArgumentList5
 ArgumentList with 5 arguments. More...
 
class  Barrier
 A barrier class that handles synchronization of multiple threads Thread-safety: This class is thread-safe. More...
 
class  ScopedBarrierWaiter
 A helper class that ensures barrier waiting even when an exception occurs. More...
 
class  Base
 Class representing general ML objects that support import/export via strings (setPersistentState() and getPersistentState()), arbitrary tree structures (using addStateToTree() and readStateFromTree()) or a data stream (using writeTo() and readFrom()). More...
 
class  CompilerInfo
 
class  ComputerModelInfo
 
class  ConstantStringValue
 Shared container for the string value and its hash. More...
 
class  ConstantString
 A ConstantString which contains a std::string and its hash. More...
 
struct  Is
 In combination with the in function it returns true, if a passed values is one of a set of possible values. More...
 
class  ContainerProxy
 This template implements a proxy for container that contain a collection of items that are normally accessed with a get by index method. More...
 
struct  tree_node
 
class  CPUInfo
 Singleton class that provides hardware specific information. More...
 
class  DateTime
 Class for performing date/time arithmetic, comparisons and formatting. More...
 
class  ErrorOutput
 Class to handle all ML debug prints, errors, warnings, and information. More...
 
class  ErrorOutputInfos
 Struct which contains all information about errors, fatal errors, warnings, information or debug prints. More...
 
class  EventSource
 EventSourceBase class adds event listener handling to Base. More...
 
class  BaseEvent
 BaseEvent is the base class for all events emitted from EventSourceBase. More...
 
class  EventSourceDeletedEvent
 EventSourceRemovedEvent is used to indicate when the EventSourceBase object is removed. More...
 
class  ImagePropertyExtension
 Base class from which one can derive own image properties. More...
 
class  ImagePropertyExtensionContainer
 This class is a container for extended image properties derived from ImagePropertyExtension. More...
 
class  Memory
 Basic memory management class for the ML. More...
 
class  MemoryInfo
 Singleton class that provides hardware specific information. More...
 
class  Notify
 Class to handle all ML Notify prints, errors and warnings. More...
 
class  RefCountedBase
 RefCountedBase class adds intrusive reference counting support to the Base class. More...
 
class  Runtime
 This class contains the runtime system of the ML. More...
 
class  RuntimeDict
 This file declares the class RuntimeDict, which manages a set of instances of class RuntimeTypes. More...
 
class  RuntimeType
 RuntimeType contains type and inheritance information of a class and a static dictionary with information on all created instances of RuntimeType. More...
 
class  StringSwitch
 
struct  Overload
 
class  TimeCounter
 Class to measure precise time intervals. More...
 
class  TraceBuffer
 This class manages a list and a stack of pointers to permanent strings. More...
 
class  Trace
 This class simply implements a constructor and a destructor. More...
 
class  WaitCondition
 WaitCondition implements a wait condition for thread synchronization. More...
 
class  WMIInterface
 Interface to the Windows Management Instrumentation http://msdn.microsoft.com/en-us/library/aa394582.aspx. More...
 
class  FloatingPointVectorDataContainerBase
 Base class of the FloatingPointVector class which holds the data buffer. More...
 
class  TVector6DBase
 TVector6DBase is the data container class for TVector providing specialized 6D container functionality for vectors of dimension MLMaxImageDimension. More...
 
class  TImageVector
 ImageVector is the 6D TVector specialization used by the ML for all image indexing. More...
 
class  TVector
 ML integer image vector class to be specialized for different purposes. More...
 
class  Line
 Class to define the geometry primitive "Line" consisting of a position and a direction. More...
 
class  Plane
 Class defining a plane in 3D. More...
 
class  Rotation
 Class to handle Rotations (internally the rotation is stored as a unit quaternion) More...
 
class  Vector2DataContainer
 Specialized base class for the FloatingPointVectorDataContainerBase. More...
 
class  Vector3DataContainer
 Specialized base class for the FloatingPointVectorDataContainerBase. More...
 

Typedefs

typedef void TileRequestFinishedCB(void *data, TileRequest *request)
 Callback for a finished TileRequest. More...
 
typedef NotifyField TriggerField
 TriggerField is an alias for the NotifyField, which is easier to find for Open Inventor users which are used to the "SoSFTrigger" field. More...
 
typedef void CalculateOutputImagePropertiesCB(void *userData, PagedImage *outImage)
 Callback for the calculation of the output image properties for outputImage. More...
 
typedef TScaleShiftData< MLdoubleScaleShiftData
 Double version of TScaleShiftData for maximum reasonable precision. More...
 
typedef TSubImageBox< MLintSubImageBox
 Define the standard SubImageBox type used in the ML. Its size varies with the size of the MLint type. More...
 
using AtomicCounter = std::atomic_int32_t
 AtomicCounter is a thread-safe integer counter. More...
 
typedef void BaseEventCallback(void *, BaseEvent *)
 
typedef std::vector< ImagePropertyExtension * > ImagePropertyExtensionVector
 Define the STL container type of ImagePropertyExtension objects. More...
 
typedef boost::recursive_mutex RecursiveMutex
 Defines a recursive mutex. More...
 
typedef boost::recursive_mutex::scoped_lock RecursiveLock
 Defines a lock for locking a recursive mutex. More...
 
typedef boost::mutex Mutex
 Defines a non-recursive mutex. More...
 
typedef boost::mutex::scoped_lock Lock
 Defines a lock for locking a non-recursive mutex. More...
 
using low_executor = detail::executor< execute_low >
 
using default_executor = detail::executor< execute_default >
 
using high_executor = detail::executor< execute_high >
 
template<template< class... > class Op, class... Args>
using is_detected = typename internal::detector< internal::nonesuch, void, Op, Args... >::value_t
 
template<template< class... > class Op, class... Args>
using detected_t = typename internal::detector< internal::nonesuch, void, Op, Args... >::type
 
typedef boost::thread Thread
 
typedef MLuint16 MLGlobalTraceBufferType
 The type used in the MLGlobalTraceBuffer. More...
 
typedef TImageVector< MLintImageVector
 Defines the standard ImageVector type which is used by the ML for indexing and coordinates. More...
 
typedef int VectorDimIdxType
 Signed integer type used as count and index type to traverse the array of the TVector. More...
 
Deprecated
Deprecated:
Use Matrix5Field instead of Mat5Field.
typedef Vector10Field Vec10fField
 
typedef Matrix2Field Mat2Field
 
typedef Matrix3Field Mat3Field
 
typedef Matrix4Field Mat4Field
 
typedef Matrix5Field Mat5Field
 
Specializations for float, double and long double.
typedef Tmat2< MLfloatMatrix2f
 A 2x2 matrix of type float. More...
 
typedef Tmat2< MLdoubleMatrix2d
 A 2x2 matrix of type double. More...
 
typedef Tmat2< MLldoubleMatrix2ld
 A 2x2 matrix of type long double. More...
 
typedef Tmat2< MLdoubleMatrix2
 The standard 2x2 matrix of type double. More...
 
typedef Tmat3< MLfloatMatrix3f
 A 3x3 matrix of type float. More...
 
typedef Tmat3< MLdoubleMatrix3d
 A 3x3 matrix of type double. More...
 
typedef Tmat3< MLldoubleMatrix3ld
 A 3x3 matrix of type long double. More...
 
typedef Tmat3< MLdoubleMatrix3
 The standard 3x3 matrix of type double. More...
 
typedef Tmat4< MLfloatMatrix4f
 A 4x4 matrix of type float. More...
 
typedef Tmat4< MLdoubleMatrix4d
 A 4x4 matrix of type double. More...
 
typedef Tmat4< MLldoubleMatrix4ld
 A 4x4 matrix of type long double. More...
 
typedef Tmat4< MLdoubleMatrix4
 The standard 4x4 matrix of type double. More...
 
typedef Tmat5< MLfloatMatrix5f
 A 5x5 matrix of type float. More...
 
typedef Tmat5< MLdoubleMatrix5d
 A 5x5 matrix of type double. More...
 
typedef Tmat5< MLldoubleMatrix5ld
 A 5x5 matrix of type long double. More...
 
typedef Tmat5< MLdoubleMatrix5
 The standard 5x5 matrix of type double. More...
 
typedef Tmat6< MLfloatMatrix6f
 A 6x6 matrix of type float. More...
 
typedef Tmat6< MLdoubleMatrix6d
 A 6x6 matrix of type double. More...
 
typedef Tmat6< MLldoubleMatrix6ld
 A 6x6 matrix of type long double. More...
 
typedef Tmat6< MLdoubleMatrix6
 The standard 6x6 matrix of type double. More...
 
typedef Tvec10< MLfloatVector10f
 A vector with 10 components of type float. More...
 
typedef Tvec10< MLdoubleVector10d
 A vector with 10 components of type double. More...
 
typedef Tvec10< MLldoubleVector10ld
 A vector with 10 components of type long double. More...
 
typedef Tvec10< MLdoubleVector10
 A vector with 10 components of type double. More...
 
typedef Tvec16< MLfloatVector16f
 A vector with 16 components of type float. More...
 
typedef Tvec16< MLdoubleVector16d
 A vector with 16 components of type double. More...
 
typedef Tvec16< MLldoubleVector16ld
 A vector with 16 components of type long double. More...
 
typedef Tvec16< MLdoubleVector16
 A vector with 16 components of type double. More...
 
typedef Tvec2< MLfloatVector2f
 A vector with 2 components of type float. More...
 
typedef Tvec2< MLdoubleVector2d
 A vector with 2 components of type double. More...
 
typedef Tvec2< MLldoubleVector2ld
 A vector with 2 components of type long double. More...
 
typedef Tvec2< MLdoubleVector2
 A vector with 2 components of type double. More...
 
typedef Tvec3< MLfloatVector3f
 A vector with 3 components of type float. More...
 
typedef Tvec3< MLdoubleVector3d
 A vector with 3 components of type double. More...
 
typedef Tvec3< MLldoubleVector3ld
 A vector with 3 components of type long double. More...
 
typedef Tvec3< MLdoubleVector3
 A vector with 3 components of type double. More...
 
typedef Tvec32< MLfloatVector32f
 A vector with 32 components of type float. More...
 
typedef Tvec32< MLdoubleVector32d
 A vector with 32 components of type double. More...
 
typedef Tvec32< MLldoubleVector32ld
 A vector with 32 components of type long double. More...
 
typedef Tvec32< MLdoubleVector32
 A vector with 32 components of type double. More...
 
typedef Tvec4< MLfloatVector4f
 A vector with 4 components of type float. More...
 
typedef Tvec4< MLdoubleVector4d
 A vector with 4 components of type double. More...
 
typedef Tvec4< MLldoubleVector4ld
 A vector with 4 components of type long double. More...
 
typedef Tvec4< MLdoubleVector4
 A vector with 4 components of type double. More...
 
typedef Tvec5< MLfloatVector5f
 A vector with 5 components of type float. More...
 
typedef Tvec5< MLdoubleVector5d
 A vector with 5 components of type double. More...
 
typedef Tvec5< MLldoubleVector5ld
 A vector with 5 components of type long double. More...
 
typedef Tvec5< MLdoubleVector5
 A vector with 5 components of type double. More...
 
typedef Tvec6< MLfloatVector6f
 A vector with 6 components of type float. More...
 
typedef Tvec6< MLdoubleVector6d
 A vector with 6 components of type double. More...
 
typedef Tvec6< MLldoubleVector6ld
 A vector with 6 components of type long double. More...
 
typedef Tvec6< MLdoubleVector6
 A vector with 6 components of type double. More...
 
typedef Tvec64< MLfloatVector64f
 A vector with 64 components of type float. More...
 
typedef Tvec64< MLdoubleVector64d
 A vector with 64 components of type double. More...
 
typedef Tvec64< MLldoubleVector64ld
 A vector with 64 components of type long double. More...
 
typedef Tvec64< MLdoubleVector64
 A vector with 64 components of type double. More...
 
typedef Tvec7< MLfloatVector7f
 A vector with 7 components of type float. More...
 
typedef Tvec7< MLdoubleVector7d
 A vector with 7 components of type double. More...
 
typedef Tvec7< MLldoubleVector7ld
 A vector with 7 components of type long double. More...
 
typedef Tvec7< MLdoubleVector7
 A vector with 7 components of type double. More...
 
typedef Tvec8< MLfloatVector8f
 A vector with 8 components of type float. More...
 
typedef Tvec8< MLdoubleVector8d
 A vector with 8 components of type double. More...
 
typedef Tvec8< MLldoubleVector8ld
 A vector with 8 components of type long double. More...
 
typedef Tvec8< MLdoubleVector8
 A vector with 8 components of type double. More...
 
typedef Tvec9< MLfloatVector9f
 A vector with 9 components of type float. More...
 
typedef Tvec9< MLdoubleVector9d
 A vector with 9 components of type double. More...
 
typedef Tvec9< MLldoubleVector9ld
 A vector with 9 components of type long double. More...
 
typedef Tvec9< MLdoubleVector9
 A vector with 9 components of type double. More...
 
Specializations for float, double, and long double.
typedef TQuaternion< MLfloatQuaternionf
 A smaller Quaternion type as specialization from TQuaternion. More...
 
typedef TQuaternion< MLdoubleQuaterniond
 The default Quaternion type used in the ML as specialization from TQuaternion. More...
 
typedef TQuaternion< MLldoubleQuaternionld
 A large Quaternion type for further extensions of the ML as specialization from TQuaternion. More...
 
typedef TQuaternion< MLdoubleQuaternion
 Define the default Quaternion type which is used by the ML; it uses double as component type. More...
 

Enumerations

enum  {
  TNE_VoidImplementation , TNE_NotSupported , TNE_ChildNotFound , TNE_AddingBase ,
  TNE_ReadingBase , TNE_ReadingUChar , TNE_ReadingChar , TNE_ReadingUShort ,
  TNE_ReadingShort , TNE_ReadingUInt , TNE_ReadingInt , TNE_ReadingULong ,
  TNE_ReadingLong , TNE_ReadingFloat , TNE_ReadingDouble , TNE_ReadingLDouble ,
  TNE_ReadingString , TNE_ReadingVector2 , TNE_ReadingVector3 , TNE_ReadingVector4 ,
  TNE_ReadingVector6 , TNE_ReadingImageVector , TNE_ReadingMatrix3 , TNE_ReadingMatrix4 ,
  TNE_ReadingSubImageBox , TNE_ReadingSubImageBoxd , TNE_InvalidReadNext , TNE_InvalidParentNode ,
  TNE_FileNotFound , TNE_ReadingFile , TNE_WritingFile , TNE_UnsupportedClassVersion ,
  TNE_UserDefined , TNE_Unknown , TNE_ReadingMLint64 , TNE_ReadingMLuint64 ,
  TNE_COUNT
}
 TreeNode exceptions. More...
 
enum  { ML_INTEGER_TYPE = 0x01 , ML_FLOAT_TYPE = 0x02 , ML_SIGNED_TYPE = 0x04 }
 
enum  { MLMaxImageDimension = 6 }
 The default dimension of images in the ML. More...
 

Functions

MLEXPORT void MLInitFields ()
 Initialize all standard fields of the ML. More...
 
MLEXPORT void MLInitListFields ()
 Initialize all multi fields of the ML. More...
 
template<typename T >
TSubImage< T > * tsubimg_cast (SubImage *subImg)
 
template<typename T >
const TSubImage< T > * tsubimg_cast (const SubImage *subImg)
 
template<typename T >
TSubImage< T > & tsubimg_cast (SubImage &subImg)
 
template<typename T >
const TSubImage< T > & tsubimg_cast (const SubImage &subImg)
 
template<typename... T>
TSubImageVariant< T... > createTSubImageVariant (const SubImage *subImage)
 
template<typename... T>
TSubImageVariantPair< T... > createTSubImageVariantPair (SubImage &output, const SubImage *input)
 
template<std::size_t N, typename... T>
TSubImageVariantArray< N, T... > createTSubImageVariantArray (const SubImage *inputs)
 
template<std::size_t N, typename... T>
TSubImageVariantArrayPair< N, T... > createTSubImageVariantArrayPair (SubImage &output, const SubImage *inputs)
 
ArgumentList0 MLGenerateArgumentList ()
 Creates argument list with 0 arguments. More...
 
template<class Arg1 >
ArgumentList1< Arg1 > MLGenerateArgumentList (const Arg1 &arg1)
 Create argument list with 1 argument. More...
 
template<class Arg1 , class Arg2 >
ArgumentList2< Arg1, Arg2 > MLGenerateArgumentList (const Arg1 &arg1, const Arg2 &arg2)
 Creates argument list with 2 arguments. More...
 
template<class Arg1 , class Arg2 , class Arg3 >
ArgumentList3< Arg1, Arg2, Arg3 > MLGenerateArgumentList (const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3)
 Creates argument list with 3 arguments. More...
 
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
ArgumentList4< Arg1, Arg2, Arg3, Arg4 > MLGenerateArgumentList (const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4)
 Creates argument list with 4 arguments. More...
 
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
ArgumentList5< Arg1, Arg2, Arg3, Arg4, Arg5 > MLGenerateArgumentList (const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5)
 Creates argument list with 5 arguments. More...
 
template<class Object , class Method >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList0 &)
 Calls a method on given object with 0 arguments. More...
 
template<class Object , class Method , class Arg1 >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList1< Arg1 > &args)
 Calls a method on given object with 1 argument. More...
 
template<class Object , class Method , class Arg1 , class Arg2 >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList2< Arg1, Arg2 > &args)
 Calls a method on given object with 2 arguments. More...
 
template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList3< Arg1, Arg2, Arg3 > &args)
 Calls a method on given object with 3 arguments. More...
 
template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList4< Arg1, Arg2, Arg3, Arg4 > &args)
 Calls a method on given object with 4 arguments. More...
 
template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList5< Arg1, Arg2, Arg3, Arg4, Arg5 > &args)
 Calls a method on given object with 5 arguments. More...
 
std::size_t hash_value (ConstantString const &b)
 
template<class T >
constexpr Is< T > is (T d)
 
template<typename Range1 , typename Range2 , typename BinaryPredicate >
constexpr Range2::const_iterator is_rotated (const Range1 &range1, const Range2 &range2, BinaryPredicate p)
 
template<typename Range1 , typename Range2 >
constexpr Range2::const_iterator is_rotated (const Range1 &range1, const Range2 &range2)
 
template<typename T >
void flatten (const tree_node< T > &tree, std::vector< T > &flatten_elements)
 
template<typename T >
void insert_set_sorted (tree_node< T > &tree, T newValue, T zero={})
 
ML_UTILS_EXPORT float roundf (float x)
 
ML_UTILS_EXPORT double round (double x)
 
ML_UTILS_EXPORT int iroundf (float x)
 
ML_UTILS_EXPORT int iround (double x)
 
ML_UTILS_EXPORT long lroundf (float x)
 
ML_UTILS_EXPORT long lround (double x)
 
template<typename T , std::size_t N>
constexpr T convertTo (const char(&t)[N])
 
template<typename T >
constexpr bool almostEqualRelativeAndAbs (T x, T y, T absoluteEpsilon, T relativeEpsilon=std::numeric_limits< T >::epsilon())
 
void ML_UTILS_EXPORT printTemplateFatalError (const char *location, MLErrorCode reason, const std::string_view &handling)
 
void ML_UTILS_EXPORT printTemplateError (const char *location, MLErrorCode reason, const std::string_view &handling)
 
void ML_UTILS_EXPORT printTemplateWarning (const char *location, MLErrorCode reason, const std::string_view &handling)
 
void intrusive_ptr_add_ref (const ml::RefCountedBase *p)
 
void intrusive_ptr_release (const ml::RefCountedBase *p)
 
template<typename T >
bool vector_contains (const std::vector< T > &vec, const T &value)
 Helper template that searches for value in given vector vec and returns true if it was found. More...
 
template<typename T >
bool vector_remove (std::vector< T > &vec, const T &value)
 Helper template that removes the first occurrence of value in given vector vec and returns true if it was found. More...
 
template<typename T >
void vector_remove_all (std::vector< T > &vec, const T &value)
 Helper template that removes all occurrences of value in given vector vec. More...
 
template<typename T >
bool vector_replace_by_NULL (std::vector< T > &vec, const T &value)
 Helper template that replaces the first occurrence of value in given vector vec with NULL and returns true if it was found. More...
 
void ML_UTILS_EXPORT execute_low (stlab::task< void()> f)
 
void ML_UTILS_EXPORT execute_default (stlab::task< void()> f)
 
void ML_UTILS_EXPORT execute_high (stlab::task< void()> f)
 
void ML_UTILS_EXPORT pre_exit ()
 
template<class... Ts>
 Overload (Ts...) -> Overload< Ts... >
 
void ML_UTILS_EXPORT logTypeComponentsFromStringError (const char *function)
 
template<typename DT >
DT abs (DT val)
 
ML_UTILS_EXPORT std::wstring convertUTF8ToWString (const char *text)
 
ML_UTILS_EXPORT std::wstring convertUTF8ToWString (const std::string &text)
 
ML_UTILS_EXPORT std::string convertToUTF8String (const wchar_t *text)
 
ML_UTILS_EXPORT std::string convertToUTF8String (const std::wstring &text)
 
template<class OBJ_TYPE >
void MLSwap (OBJ_TYPE &obj1, OBJ_TYPE &obj2)
 Swaps two objects obj1 and obj2. More...
 
template<class BASE_TYPE >
BASE_TYPE MLInverseMatHelper (const BASE_TYPE &origMat, bool *isInvertible, const typename BASE_TYPE::ComponentType, const char *const ZeroDetErrString, const BASE_TYPE &Identity, const size_t Dim)
 Computes an N dimensional inverse from given default parameters. More...
 
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tmat3< DT > &a, const Tvec3< DT2 > &v)
 Normal multiplication of 3x3 matrix a with 3d vector v with a Tvec3 as result. More...
 
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tvec3< DT > &v, const Tmat3< DT2 > &a)
 Normal multiplication of 3d vector v with 3x3 matrix with a Tvec3 as result. More...
 
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tmat4< DT > &a, const Tvec3< DT2 > &v)
 Interprets v as a 4d homogeneous point and multiply the 4x4 matrix M with it and return a Tvec3 after normalizing the result by dividing by the fourth component. More...
 
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tvec3< DT > &v, const Tmat4< DT2 > &a)
 Interprets v as a 4d homogeneous point and multiply it with the 4x4 matrix M and return a Tvec3 after normalizing the result by dividing by the fourth component. More...
 
template<class DT , class DT2 >
Tvec3< DT > operator^ (const Tvec3< DT > &a, const Tvec3< DT2 > &b)
 Returns a vector orthogonal to a and b. More...
 
template<class DT >
Tvec4< DT > operator* (const Tmat4< DT > &a, const Tvec4< DT > &v)
 Multiplies 4x4 matrix a with vector v. More...
 
template<class DT >
Tvec4< DT > operator* (const Tvec4< DT > &v, const Tmat4< DT > &a)
 Multiplies vector v with 4x4 matrix a. More...
 
template<class DT >
Tvec5< DT > operator* (const Tmat5< DT > &a, const Tvec5< DT > &v)
 Multiplies 5x5 matrix a with vector v. More...
 
template<class DT >
Tvec5< DT > operator* (const Tvec5< DT > &v, const Tmat5< DT > &a)
 Multiplies vector v with 5x5 matrix a. More...
 
Casting of SubImage to TSubImage<T>

The tsubimage_cast allows to cast a SubImage (pointer or reference) to a typed TSubImage<T> (pointer or reference).

If the cast is not possible because the datatype of the SubImage does not match the T of tsubimage_cast<T>, a fatal ML error occurs.

Usage:

TSubImage<MLfloat>& tsubimg = tsubimage_cast<MLfloat>(subimg);
template<typename T >
TSubImage< T > & tsubimage_cast (SubImage &subImg)
 
template<typename T >
const TSubImage< T > & tsubimage_cast (const SubImage &subImg)
 
template<typename T >
TSubImage< T > * tsubimage_cast (SubImage *subImg)
 
template<typename T >
const TSubImage< T > * tsubimage_cast (const SubImage *subImg)
 
mlMin/mlMax Templates in ML namespace
template<typename T >
mlMin (T a, T b)
 Defines ML specific min template since min template is platform dependent. More...
 
template<typename T >
mlMax (T a, T b)
 Defines ML specific max template since max template is platform dependent. More...
 
template<typename T >
mlAbs (T a)
 Defines ML specific abs template since only type depended library functions exists. More...
 
MLuint8 mlAbs (MLuint8 a)
 Implement mlAbs specializations to avoid comparison < 0 warnings on unsigned types. More...
 
MLuint16 mlAbs (MLuint16 a)
 
MLuint32 mlAbs (MLuint32 a)
 
MLuint64 mlAbs (MLuint64 a)
 
Standalone functions for FloatingPointVector.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator+= (FloatingPointVector< T, size, DataContainer > &op1, const FloatingPointVector< T, size, DataContainer > &buffer)
 Arithmetic assignment: Component wise addition. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator-= (FloatingPointVector< T, size, DataContainer > &op1, const FloatingPointVector< T, size, DataContainer > &buffer)
 Arithmetic assignment: Component wise subtraction of buffer from *this. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator*= (FloatingPointVector< T, size, DataContainer > &op1, MLdouble value)
 Arithmetic assignment: Component wise multiplication *this with specialized MLdouble scalar value. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator*= (FloatingPointVector< T, size, DataContainer > &op1, const FloatingPointVector< T, size, DataContainer > &op2)
 Arithmetic assignment: Component wise multiplication *this with a vector of the same size. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator/= (FloatingPointVector< T, size, DataContainer > &op1, MLdouble value)
 Arithmetic assignment: Component wise division of *this by scalar value. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator/= (FloatingPointVector< T, size, DataContainer > &op1, const FloatingPointVector< T, size, DataContainer > &op2)
 Arithmetic assignment: Component wise division of *this by the values of a vector of the same size. More...
 
template<class T , size_t size, class DataContainer >
bool operator! (const FloatingPointVector< T, size, DataContainer > &a)
 Returns whether all components are 0. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator+ (FloatingPointVector< T, size, DataContainer > lhs, const FloatingPointVector< T, size, DataContainer > &rhs)
 Return value is the component wise addition of lhs and rhs. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator- (FloatingPointVector< T, size, DataContainer > lhs, const FloatingPointVector< T, size, DataContainer > &rhs)
 Return value is the component wise subtraction of rhs from lhs. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator+ (const FloatingPointVector< T, size, DataContainer > &buffer)
 Unary plus, for completeness and for those who really want to use that... More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator- (const FloatingPointVector< T, size, DataContainer > &buffer)
 Unary minus, all components of the vector are multiplied with -1. More...
 
template<class T , size_t size, class DataContainer >
operator* (const FloatingPointVector< T, size, DataContainer > &a, const FloatingPointVector< T, size, DataContainer > &b)
 Dot product, returns a.dot(b). More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator* (FloatingPointVector< T, size, DataContainer > lhs, MLdouble rhs)
 Component wise multiplication of lhs with rhs. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator* (MLdouble lhs, FloatingPointVector< T, size, DataContainer > rhs)
 Component wise multiplication of rhs with lhs. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator/ (FloatingPointVector< T, size, DataContainer > lhs, MLdouble rhs)
 Component wise division of lhs by specialized rhs of type MLdouble. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compMin (FloatingPointVector< T, size, DataContainer > buffer1, const FloatingPointVector< T, size, DataContainer > &buffer2)
 Component wise minimum of buffer1 and buffer2. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compMax (FloatingPointVector< T, size, DataContainer > buffer1, const FloatingPointVector< T, size, DataContainer > &buffer2)
 Component wise maximum of buffer1 and buffer2. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compAbs (FloatingPointVector< T, size, DataContainer > vec)
 Returns a vector with all components from vec without negative sign. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqr (FloatingPointVector< T, size, DataContainer > vec)
 Returns a vector with all components from vec squared. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqrt (FloatingPointVector< T, size, DataContainer > vec)
 Returns a vector with all components from vec square-rooted. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compDiv (FloatingPointVector< T, size, DataContainer > vec, const FloatingPointVector< T, size, DataContainer > &d)
 Component wise division of vec / d. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clampMin (FloatingPointVector< T, size, DataContainer > vec, const FloatingPointVector< T, size, DataContainer > &m)
 Returns a new vector with all components from vec clamped to minimum m. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clampMax (FloatingPointVector< T, size, DataContainer > vec, const FloatingPointVector< T, size, DataContainer > &m)
 Returns a new vector with all components from vec clamped to maximum m. More...
 
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clamp (FloatingPointVector< T, size, DataContainer > vec, const FloatingPointVector< T, size, DataContainer > &lower, const FloatingPointVector< T, size, DataContainer > &upper)
 Returns a new vector with all components from vec clamped to range [lower, upper]. More...
 
template<class T , size_t size, class DataContainer >
compMul (const FloatingPointVector< T, size, DataContainer > &vec)
 Returns the product of all components. More...
 
Functions and operators for class Tmat2.

Helper macro only locally defined for Tmat2 matrix multiplication.

template<class DT >
Tmat2< DT > operator* (const Tmat2< DT > &a, const Tmat2< DT > &b)
 
template<class DT >
bool operator== (const Tmat2< DT > &a, const Tmat2< DT > &b)
 a == b ? Return true if yes. More...
 
template<class DT >
bool operator!= (const Tmat2< DT > &a, const Tmat2< DT > &b)
 a != b ? Return true if yes. More...
 
Standalone functions and operators for class Tmat2.
template<class DT >
Tmat2< DT > operator- (const Tmat2< DT > &a)
 Returns a matrix a with all values negated. More...
 
template<class DT >
Tmat2< DT > operator+ (const Tmat2< DT > &a, const Tmat2< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat2< DT > operator- (const Tmat2< DT > &a, const Tmat2< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat2< DT > operator* (const Tmat2< DT > &a, DT d)
 Returns the component wise multiplication of matrix a with scalar d. More...
 
template<class DT >
Tmat2< DT > operator* (const DT d, const Tmat2< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a. More...
 
template<class DT >
Tmat2< DT > operator/ (const Tmat2< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 
template<class DT >
Tvec2< DT > operator* (const Tmat2< DT > &a, const Tvec2< DT > &v)
 Normal multiplication of 2x2 matrix a with 2D vector v with a Tvec2as result. More...
 
template<class DT >
Tvec2< DT > operator* (const Tvec2< DT > &v, const Tmat2< DT > &a)
 Normal multiplication of 2D vector v with 2x2 matrix with a Tvec2as result. More...
 
Global operators and functions of class Tmat3.
template<class DT >
Tmat3< DT > operator- (const Tmat3< DT > &a)
 Returns a matrix a with all values negated. More...
 
template<class DT >
Tmat3< DT > operator+ (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat3< DT > operator- (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat3< DT > operator* (const Tmat3< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d. More...
 
template<class DT >
Tmat3< DT > operator* (const DT d, const Tmat3< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a. More...
 
template<class DT >
Tmat3< DT > operator/ (const Tmat3< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 
Special Functions
template<class DT >
Tmat3< DT > operator* (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Matrix 3 product. More...
 
template<class DT >
bool operator== (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a == b ? Return true if yes, otherwise false. More...
 
template<class DT >
bool operator!= (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a != b ? Return true if yes, otherwise false. More...
 
template<class DT >
Tmat3< DT > identity2D ()
 Returns a 3x3 homogeneous identity2D matrix; synonym for Tmat3<DT>::getIdentity(). More...
 
template<class DT >
Tmat3< DT > translation2D (const Tvec2< DT > &v)
 Returns a 2D translation matrix as 3D homogeneous matrix where the translation is located in the right column. More...
 
template<class DT >
Tmat3< DT > rotation2D (const Tvec2< DT > &Center, const DT angleDeg)
 Returns a 2D rotation matrix as 3D homogeneous matrix where center specifies the center of rotation. More...
 
template<class DT >
Tmat3< DT > scaling2D (const Tvec2< DT > &scaleVector)
 Returns a 2D scale matrix as 3D homogeneous matrix. More...
 
template<class DT >
Tmat5< DT > operator* (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Matrix product. More...
 
template<class DT >
bool operator== (const Tmat5< DT > &a, const Tmat5< DT > &b)
 a == b ? Return true if yes, otherwise false. More...
 
template<class DT >
bool operator!= (const Tmat5< DT > &a, const Tmat5< DT > &b)
 a != b ? Return true if yes, otherwise false. More...
 
template<class DT >
Tmat6< DT > operator* (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Matrix product. More...
 
template<class DT >
bool operator== (const Tmat6< DT > &a, const Tmat6< DT > &b)
 a == b ? Return true if yes, otherwise false. More...
 
template<class DT >
bool operator!= (const Tmat6< DT > &a, const Tmat6< DT > &b)
 a != b ? Return true if yes, otherwise false. More...
 
template<class DT >
Tvec6< DT > operator* (const Tmat6< DT > &a, const Tvec6< DT > &v)
 Multiplies 6x6 matrix a with vector v. More...
 
template<class DT >
Tvec6< DT > operator* (const Tvec6< DT > &v, const Tmat6< DT > &a)
 Multiplies vector v with 6x6 matrix a. More...
 
Functions and operators for class Tmat4.
template<class DT >
Tmat4< DT > operator* (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a * b. More...
 
template<class DT >
bool operator== (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a == b ? Return true if yes. More...
 
template<class DT >
bool operator!= (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a != b ? Return true if yes. More...
 
Global functions and operators for class Tmat4.
template<class DT >
Tmat4< DT > operator- (const Tmat4< DT > &a)
 Returns the matrix a with all values negated. More...
 
template<class DT >
Tmat4< DT > operator+ (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat4< DT > operator- (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat4< DT > operator* (const Tmat4< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d. More...
 
template<class DT >
Tmat4< DT > operator* (const DT d, const Tmat4< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a. More...
 
template<class DT >
Tmat4< DT > operator/ (const Tmat4< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 
Tmat4<DT> member functions
template<class DT >
Tmat4< DT > identity3D ()
 Returns a 4x4 homogeneous identity3D matrix; synonym for Tmat4<DT>::getIdentity(). More...
 
template<class DT >
Tmat4< DT > translation3D (const Tvec3< DT > &v)
 Returns a 4x4 homogeneous translation matrix with default identity matrix contents and the upper three components in right column given by 3D vector v. More...
 
template<class DT >
Tmat4< DT > rotation3D (Tvec3< DT > Axis, const DT angleRad)
 Returns a 4x4 homogeneous 3D rotation matrix describing a rotation with angle angleRad around axis Axis where center specifies the center of rotation. More...
 
template<class DT >
Tmat4< DT > scaling3D (const Tvec3< DT > &scaleVector)
 Scaling 3D. More...
 
template<class DT >
Tmat4< DT > perspective3D (const DT d)
 Creates a 4x4 homogeneous perspective projection matrix with perspective shortening value given by d which must differ from zero to avoid errors. More...
 
Standalone operators of class Tmat5.
template<class DT >
Tmat5< DT > operator- (const Tmat5< DT > &a)
 Returns a matrix a with all values negated. More...
 
template<class DT >
Tmat5< DT > operator+ (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat5< DT > operator- (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat5< DT > operator* (const Tmat5< DT > &a, const DT d)
 Returns the component wise product of matrix a with scalar d. More...
 
template<class DT >
Tmat5< DT > operator* (const DT d, const Tmat5< DT > &a)
 Returns the component wise product of scalar d with matrix a. More...
 
template<class DT >
Tmat5< DT > operator/ (const Tmat5< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 
Standalone operators of class Tmat6.
template<class DT >
Tmat6< DT > operator- (const Tmat6< DT > &a)
 Returns a matrix a with all values negated. More...
 
template<class DT >
Tmat6< DT > operator+ (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat6< DT > operator- (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat6< DT > operator* (const Tmat6< DT > &a, const DT d)
 Returns the component wise product of matrix a with scalar d. More...
 
template<class DT >
Tmat6< DT > operator* (const DT d, const Tmat6< DT > &a)
 Returns the component wise product of scalar d with matrix a. More...
 
template<class DT >
Tmat6< DT > operator/ (const Tmat6< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 

Variables

const MLint _ML_STD_SLEN =64
 Length of strings for component descriptions and class names. More...
 
ML_UTILS_EXPORT ErrorOutput MLErrorOutput
 This is a singleton used for all ML Error input and output;. More...
 
ML_UTILS_EXPORT Notify MLNotify
 Singleton which contains all registered callback functions of the ML. More...
 
template<template< class... > class Op, class... Args>
constexpr bool is_detected_v = is_detected<Op, Args...>::value
 
ML_UTILS_EXPORT TraceBuffer< MLGlobalTraceBufferTypeMLGlobalTraceBuffer
 This is a global singleton of the TraceBuffer class. More...
 
Values to be used in the setup of a TypedCalculateOutputImageHandler/TypedProcessAllPagesHandler
const int MLVariableType0 = _ML_SWITCH_SELECT_OFFSET
 Defines to use the result type of variable type 0. More...
 
const int MLVariableType1 = _ML_SWITCH_SELECT_OFFSET+1
 Defines to use the result type of variable type 1. More...
 
const int MLVariableType2 = _ML_SWITCH_SELECT_OFFSET+2
 Defines to use the result type of variable type 2. More...
 
const int MLVariableType3 = _ML_SWITCH_SELECT_OFFSET+3
 Defines to use the result type of variable type 3. More...
 
const int MLGenericType = _ML_SWITCH_SELECT_OFFSET+10
 Defines special index to use a generic type. More...
 

Detailed Description

Main documentation file for ML users and developers.

Template class for a 9D vector for floating point types, derived from FloatingPointVector.

Template class for a 8D vector for floating point types, derived from FloatingPointVector.

Template class for a 7D vector for floating point types, derived from FloatingPointVector.

Template class for a 64D vector for floating point types, derived from FloatingPointVector.

Template class for a 6D vector for floating point types, derived from FloatingPointVector.

Template class for a 5D vector for floating point types, derived from FloatingPointVector.

Template class for a 4D vector for floating point types, derived from FloatingPointVector.

Template class for a 32D vector for floating point types, derived from FloatingPointVector.

Template class for a 3D vector for floating point types, derived from FloatingPointVector.

Template class for a 2D vector for floating point types, derived from FloatingPointVector.

Template class for a 16D vector for floating point types, derived from FloatingPointVector.

Template class for a 10D vector for floating point types, derived from FloatingPointVector.

Defines a class to represent a Rotation.

Template class for quaternion numerics.

Defines a class to handle the geometry primitive "Plane".

Template class for a 6x6 matrix of 6 rows of Tvec6 vectors.

Template class for a 5x5 matrix of 5 rows of Tvec5 vectors.

Template class for a 4x4 matrix of 4 rows of Tvec4 vectors.

Template class for a 2x2 matrix of 2 rows of Tvec2 vectors.

Template class for a 3x3 matrix of 3 rows of Tvec3 vectors.

Main documentation file for mlLinearAlgebra library.

Defines the geometry primitive "Line".

Template class TVector for integer types.

Template class TImageVector for 6D integer types and the specialization ImageVector which is typically used in ML as indexing and coordinate type.

Template base class for floating point matrices.

Platform independent class to manage a wait condition that can be used with a mutex to do signalling between threads.

Define the namespace name like in the ML. Default is ml.

File containing the library documentation of project mlUtils.

Defines named constants for Unicode code points.

Class to manage a buffer for a stack and a list of string pointers for tracing debug and release code.

Class to measure precise time intervals in seconds.

Platform independent class to manage a thread.

A switch()-like statement whose cases are string literals.

This file declares the class RuntimeType, which contains runtime-generated type and inheritance information of associated classes.

This file declares the class RuntimeDict, which manages a set of instances of class RuntimeTypes.

This class contains the global runtime system of the ML.

RefCountedBase class that adds reference counting to Base.

Class to notify registered instances about ML changes.

Platform independent class to manage a mutex for safe operations on code sections which must be used only by one thread at a time.

Singleton class that provides information about system memory.

Basic memory management class for the ML.

Implementation of basic cross-platform math routines.

This file defines the class ImagePropertyExtensionContainer.

This file defines the class ImagePropertyExtension which is used as a base class for extended image property objects which can be appended to the ImagePropertyExtensionContainer inside MedicalImageProperties.

Define EventSource class that adds event listener handling to Base and a BaseEvent class needed for that.

Information container for error, debug or tracing information.

Central error handling and redirection class for the ML.

Defines the class DateTime for processing date and time values.

Singleton class that provides information about CPU.

A light-weight shared constant string (not thread safe!)

Gather compiler information.

Platform independent class to manage a barrier that is used to make a group of threads wait for each other.

Platform independent class to manage threadsafe atomic counting.

Template classes for storing up to five arguments in a ArgumentList and calling a method with a given argument list.

Defines an interface to access properties of the host application.

These abstract classes define an interface to allow the storing and restoring of structured objects.

Define template functions for converting values to/from string.

This file defines the class TSubImage to administrate/manage/access typed images or subimages which reside in memory.

This abstract class defines an interface to allow the storing and restoring of complex objects.

Class to define a subimage region with Vector6 corners It represents a 6D box like image region defined by 2 6d corner points.

Define the template class TSubImageBox and the specialization SubImageBox.

This file defines the class SubImage to administrate/manage/access images or subimages which reside in memory.

This class provides static methods to convert ML objects to and from strings.

Template class to register the standard integer data types as voxel types in the ML.

Defines the class TScaleShiftData).

Defines the class ProcessAllPagesHandler.

Defines the class PageIDIterator.

Contains the class PagedImage which represents an fragmented image which manages properties of an image and image data which is located in pages.

Some tools for Module programming.

Defines the class MemoryImage which manages memory mapped images in ML output connectors.

This file defines the classes ImageProperties and MedicalImageProperties.

Define classes for multi-valued fields.

Define a template class for multi-valued fields.

Defines the class InSubImageProps which is a simple container for some properties which can be defined for an input subimage which is to be delivered to the corresponding call of the module's calculateOutputSubImage method.

This file defines the classes ImageProperties.

Defines the class Host for the processing of image processing graphs (see class PagedImage and Module).

Defines the class FieldSensor to realize the concept of field sensors which can observe fields.

Defines the base class Field from which many classes are derived like StringField and IntField for unified access to image processing parameters of ML Module subclasses.

Defined and implements an engine, an ML module implementing only operations on fields.

This file contains definitions of input and output connectors for mlModule class which are necessary to connect ML modules.

Defines the class TileRequest.

Defines the class ProcessingTimeLine.

Defines the class ProcessAllPagesJob.

Defines the class.

Defines the class PageRequestCursor.

Defines the class PageRequest.

Defines the class GetTileJob.

Implements the classic host processing for getTile/processAllPages Thread-safety: This class is not thread-safe and should only be used from the main thread.

It contains source code documentation, release notes and known problems pages.

With field sensors functions can be registered which shall be called when a corresponding field is modified.

Note that this file needs to be included explicitly, because it is part of the hidden C++ API of the ML. Do not use it, because it is part of the ML internals. If you need functionality see wrapped functionality in Module and PagedImage.

Thread-safety: This class is not thread-safe and should only be used from the main thread.

They describe properties of images and sometimes of subimages.

Note that this file needs to be included explicitly, it not part of mlModuleIncludes.h.

The image data can be partially available or not. This class has the following properties:

  • The image is composed from a number of numbered pages of an identical data type and extent. Pages can be available or not.
  • The properties of the image are inherited from the class MedicalImageProperties.
  • New properties of the pages are:
    • page extents
    • page number
    • the location within the entire image.
    • a reference to the memory chunk of type MLWeakMemoryBlockHandle
  • The PagedImage owns methods to create, remove, or copy pages and to copy page contents to a subimage corresponding to them.
  • It also contains a MemoryImage which can be used to maintain the entire image as a continuous memory area.

NOTE: Only one instance should be created of this class!

The struct ErrorOutputInfos is passed to any call of a user registered function of type ErrorOutputCB to notify about detailed debug, error or other runtime information. It passes the registered userData pointer for the callback function, a completely composed information string for convenience and a structure of type ErrorOutputInfos to the function. The struct contains

  • a type identifier (information, warning, error, fatal error or debug),
  • a prefix string for the library which created the information,
  • a prefix string with arbitrary information printed before a function,
  • the function name
  • the error code
  • the reason/info string,
  • the string with information about the handling of the error,
  • the file name,
  • the line number and
  • the time stamp when message was received by the error handler of the error/warning/information/debug position.

Objects/classes derived from the abstract class ImagePropertyExtension can be added to this container to define extensions of the MedicalimageProperties of an ML paged image.

This is a class where any instance can register itself with a callback. The callback will be called if any state flag in the ML changes. So these instances can update themselves if the ML changes. Note that the notify callbacks maybe called from within any environment. So critical sections (to avoid parallel execution) could be active or field notifications could be disabled. So e.g., updating fields within such a callback may fail or critical sections could block. Anyway, the caller should try to avoid that in general.

It manages a dictionary of runtime types, it can create and remove runtime types. This class contains only static components and must be initialized with init() and destroyed with destroy() on ML initialization/destruction.

See also classes RuntimeType and RuntimeDict.

The class Runtime uses one global instance of this class for the runtime type system of the ML.

See also classes Runtime and RuntimeType.

To track these information, the macros defined in RuntimeSubClass.h have to be inserted in the declaration and implementation of the associated classes.

The StringSwitch class is a simple form of a switch() statement that determines whether the given string matches one of the given string literals. The template type parameter T is the type of the value that will be returned from the string-switch expression. For example, the following code switches on the name of a color in argv[i]: (The code was taken from the LLVM project and modified for MBS' environment)

Color color = StringSwitch<Color>(argv[i]) .Case("red", Red) .Case("orange", Orange) .Case("yellow", Yellow) .Case("green", Green) .Case("blue", Blue) .Case("indigo", Indigo) .Cases("violet", "purple", Violet) .StartsWith("white", White) .EndsWith("gray", Gray) .Default(UnknownColor);

Another class Trace to be used in tracing macros is also implemented here. Note:

  • Both classes are implemented in one file to avoid tricky circular header dependencies which cannot be solved by moving code into .cpp files for performance reasons.

Macro to put all following stuff into the namespace ml to avoid collisions with symbols of other libraries. Use END_NAMESPACE_ML to close the namespace. Closes the namespace for all ML stuff after the usage of ML_UTILS_START_NAMESPACE.

Implementation of a Quaternion with common operations; for definition and examples see http://en.wikipedia.org/wiki/Quaternion as reference page. It is also the source of many comments. More sources: http://www.fraktalstudio.de/ifunct_d.htm http://home.pcisys.net/~bestwork.1/QRW/QuaternionQuantumMechanics.htm

Typedef Documentation

◆ BaseEventCallback

typedef void ml::BaseEventCallback(void *, BaseEvent *)

Definition at line 25 of file mlEventSource.h.

◆ CalculateOutputImagePropertiesCB

typedef void ml::CalculateOutputImagePropertiesCB(void *userData, PagedImage *outImage)

Callback for the calculation of the output image properties for outputImage.

Definition at line 27 of file mlModuleInterfaces.h.

◆ default_executor

Definition at line 57 of file mlTaskSystem.h.

◆ detected_t

template<template< class... > class Op, class... Args>
using ml::detected_t = typedef typename internal::detector<internal::nonesuch, void, Op, Args...>::type

Definition at line 80 of file mlTemplateHelpers.h.

◆ high_executor

Definition at line 58 of file mlTaskSystem.h.

◆ ImagePropertyExtensionVector

Define the STL container type of ImagePropertyExtension objects.

Definition at line 99 of file mlImagePropertyExtension.h.

◆ ImageVector

Defines the standard ImageVector type which is used by the ML for indexing and coordinates.

Definition at line 300 of file mlImageVector.h.

◆ is_detected

template<template< class... > class Op, class... Args>
using ml::is_detected = typedef typename internal::detector<internal::nonesuch, void, Op, Args...>::value_t

Definition at line 74 of file mlTemplateHelpers.h.

◆ Lock

typedef boost::mutex::scoped_lock ml::Lock

Defines a lock for locking a non-recursive mutex.

Definition at line 41 of file mlMutex.h.

◆ low_executor

Definition at line 56 of file mlTaskSystem.h.

◆ Mat2Field

Definition at line 2208 of file mlFields.h.

◆ Mat3Field

Definition at line 2300 of file mlFields.h.

◆ Mat4Field

Definition at line 2435 of file mlFields.h.

◆ Mat5Field

Definition at line 2528 of file mlFields.h.

◆ Matrix2

The standard 2x2 matrix of type double.

Definition at line 518 of file mlMatrix2.h.

◆ Matrix2d

A 2x2 matrix of type double.

Definition at line 514 of file mlMatrix2.h.

◆ Matrix2f

A 2x2 matrix of type float.

Definition at line 512 of file mlMatrix2.h.

◆ Matrix2ld

A 2x2 matrix of type long double.

Definition at line 516 of file mlMatrix2.h.

◆ Matrix3

The standard 3x3 matrix of type double.

Definition at line 711 of file mlMatrix3.h.

◆ Matrix3d

A 3x3 matrix of type double.

Definition at line 707 of file mlMatrix3.h.

◆ Matrix3f

A 3x3 matrix of type float.

Definition at line 705 of file mlMatrix3.h.

◆ Matrix3ld

A 3x3 matrix of type long double.

Definition at line 709 of file mlMatrix3.h.

◆ Matrix4

The standard 4x4 matrix of type double.

Definition at line 726 of file mlMatrix4.h.

◆ Matrix4d

A 4x4 matrix of type double.

Definition at line 722 of file mlMatrix4.h.

◆ Matrix4f

A 4x4 matrix of type float.

Definition at line 720 of file mlMatrix4.h.

◆ Matrix4ld

A 4x4 matrix of type long double.

Definition at line 724 of file mlMatrix4.h.

◆ Matrix5

The standard 5x5 matrix of type double.

Definition at line 705 of file mlMatrix5.h.

◆ Matrix5d

A 5x5 matrix of type double.

Definition at line 701 of file mlMatrix5.h.

◆ Matrix5f

A 5x5 matrix of type float.

Definition at line 699 of file mlMatrix5.h.

◆ Matrix5ld

A 5x5 matrix of type long double.

Definition at line 703 of file mlMatrix5.h.

◆ Matrix6

The standard 6x6 matrix of type double.

Definition at line 636 of file mlMatrix6.h.

◆ Matrix6d

A 6x6 matrix of type double.

Definition at line 632 of file mlMatrix6.h.

◆ Matrix6f

A 6x6 matrix of type float.

Definition at line 630 of file mlMatrix6.h.

◆ Matrix6ld

A 6x6 matrix of type long double.

Definition at line 634 of file mlMatrix6.h.

◆ MLGlobalTraceBufferType

The type used in the MLGlobalTraceBuffer.

Definition at line 238 of file mlTrace.h.

◆ Quaternion

Define the default Quaternion type which is used by the ML; it uses double as component type.

Definition at line 933 of file mlQuaternion.h.

◆ Quaterniond

The default Quaternion type used in the ML as specialization from TQuaternion.

Definition at line 927 of file mlQuaternion.h.

◆ Quaternionf

A smaller Quaternion type as specialization from TQuaternion.

Definition at line 924 of file mlQuaternion.h.

◆ Quaternionld

A large Quaternion type for further extensions of the ML as specialization from TQuaternion.

Definition at line 930 of file mlQuaternion.h.

◆ RecursiveLock

typedef boost::recursive_mutex::scoped_lock ml::RecursiveLock

Defines a lock for locking a recursive mutex.

Definition at line 34 of file mlMutex.h.

◆ ScaleShiftData

Double version of TScaleShiftData for maximum reasonable precision.

Definition at line 326 of file mlScaleShiftData.h.

◆ SubImageBox

Define the standard SubImageBox type used in the ML. Its size varies with the size of the MLint type.

Definition at line 285 of file mlSubImageBox.h.

◆ Thread

typedef boost::thread ml::Thread

Definition at line 26 of file mlThread.h.

◆ TileRequestFinishedCB

typedef void ml::TileRequestFinishedCB(void *data, TileRequest *request)

Callback for a finished TileRequest.

Definition at line 34 of file mlTileRequest.h.

◆ TriggerField

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

Definition at line 1077 of file mlFields.h.

◆ Vec10fField

Definition at line 2053 of file mlFields.h.

◆ Vector10

A vector with 10 components of type double.

Definition at line 103 of file mlVector10.h.

◆ Vector10d

A vector with 10 components of type double.

Definition at line 99 of file mlVector10.h.

◆ Vector10f

A vector with 10 components of type float.

Definition at line 97 of file mlVector10.h.

◆ Vector10ld

A vector with 10 components of type long double.

Definition at line 101 of file mlVector10.h.

◆ Vector16

A vector with 16 components of type double.

Definition at line 110 of file mlVector16.h.

◆ Vector16d

A vector with 16 components of type double.

Definition at line 106 of file mlVector16.h.

◆ Vector16f

A vector with 16 components of type float.

Definition at line 104 of file mlVector16.h.

◆ Vector16ld

A vector with 16 components of type long double.

Definition at line 108 of file mlVector16.h.

◆ Vector2

A vector with 2 components of type double.

Definition at line 159 of file mlVector2.h.

◆ Vector2d

A vector with 2 components of type double.

Definition at line 155 of file mlVector2.h.

◆ Vector2f

A vector with 2 components of type float.

Definition at line 153 of file mlVector2.h.

◆ Vector2ld

A vector with 2 components of type long double.

Definition at line 157 of file mlVector2.h.

◆ Vector3

A vector with 3 components of type double.

Definition at line 300 of file mlVector3.h.

◆ Vector32

A vector with 32 components of type double.

Definition at line 134 of file mlVector32.h.

◆ Vector32d

A vector with 32 components of type double.

Definition at line 130 of file mlVector32.h.

◆ Vector32f

A vector with 32 components of type float.

Definition at line 128 of file mlVector32.h.

◆ Vector32ld

A vector with 32 components of type long double.

Definition at line 132 of file mlVector32.h.

◆ Vector3d

A vector with 3 components of type double.

Definition at line 296 of file mlVector3.h.

◆ Vector3f

A vector with 3 components of type float.

Definition at line 294 of file mlVector3.h.

◆ Vector3ld

A vector with 3 components of type long double.

Definition at line 298 of file mlVector3.h.

◆ Vector4

A vector with 4 components of type double.

Definition at line 162 of file mlVector4.h.

◆ Vector4d

A vector with 4 components of type double.

Definition at line 158 of file mlVector4.h.

◆ Vector4f

A vector with 4 components of type float.

Definition at line 156 of file mlVector4.h.

◆ Vector4ld

A vector with 4 components of type long double.

Definition at line 160 of file mlVector4.h.

◆ Vector5

A vector with 5 components of type double.

Definition at line 207 of file mlVector5.h.

◆ Vector5d

A vector with 5 components of type double.

Definition at line 203 of file mlVector5.h.

◆ Vector5f

A vector with 5 components of type float.

Definition at line 201 of file mlVector5.h.

◆ Vector5ld

A vector with 5 components of type long double.

Definition at line 205 of file mlVector5.h.

◆ Vector6

A vector with 6 components of type double.

Definition at line 194 of file mlVector6.h.

◆ Vector64

A vector with 64 components of type double.

Definition at line 159 of file mlVector64.h.

◆ Vector64d

A vector with 64 components of type double.

Definition at line 155 of file mlVector64.h.

◆ Vector64f

A vector with 64 components of type float.

Definition at line 153 of file mlVector64.h.

◆ Vector64ld

A vector with 64 components of type long double.

Definition at line 157 of file mlVector64.h.

◆ Vector6d

A vector with 6 components of type double.

Definition at line 190 of file mlVector6.h.

◆ Vector6f

A vector with 6 components of type float.

Definition at line 188 of file mlVector6.h.

◆ Vector6ld

A vector with 6 components of type long double.

Definition at line 192 of file mlVector6.h.

◆ Vector7

A vector with 7 components of type double.

Definition at line 98 of file mlVector7.h.

◆ Vector7d

A vector with 7 components of type double.

Definition at line 94 of file mlVector7.h.

◆ Vector7f

A vector with 7 components of type float.

Definition at line 92 of file mlVector7.h.

◆ Vector7ld

A vector with 7 components of type long double.

Definition at line 96 of file mlVector7.h.

◆ Vector8

A vector with 8 components of type double.

Definition at line 99 of file mlVector8.h.

◆ Vector8d

A vector with 8 components of type double.

Definition at line 95 of file mlVector8.h.

◆ Vector8f

A vector with 8 components of type float.

Definition at line 93 of file mlVector8.h.

◆ Vector8ld

A vector with 8 components of type long double.

Definition at line 97 of file mlVector8.h.

◆ Vector9

A vector with 9 components of type double.

Definition at line 102 of file mlVector9.h.

◆ Vector9d

A vector with 9 components of type double.

Definition at line 98 of file mlVector9.h.

◆ Vector9f

A vector with 9 components of type float.

Definition at line 96 of file mlVector9.h.

◆ Vector9ld

A vector with 9 components of type long double.

Definition at line 100 of file mlVector9.h.

◆ VectorDimIdxType

typedef int ml::VectorDimIdxType

Signed integer type used as count and index type to traverse the array of the TVector.

Definition at line 28 of file mlIntegerVector.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

TreeNode exceptions.

They have been placed outside of the class to prevent the user from having to add TreeNodeException:: at the beginning of each code. Do not forget to edit the array TreeNodeException::_stdErrorMsg[] when modifying the enum.

Enumerator
TNE_VoidImplementation 
TNE_NotSupported 
TNE_ChildNotFound 
TNE_AddingBase 
TNE_ReadingBase 
TNE_ReadingUChar 
TNE_ReadingChar 
TNE_ReadingUShort 
TNE_ReadingShort 
TNE_ReadingUInt 
TNE_ReadingInt 
TNE_ReadingULong 
TNE_ReadingLong 
TNE_ReadingFloat 
TNE_ReadingDouble 
TNE_ReadingLDouble 
TNE_ReadingString 
TNE_ReadingVector2 
TNE_ReadingVector3 
TNE_ReadingVector4 
TNE_ReadingVector6 
TNE_ReadingImageVector 
TNE_ReadingMatrix3 
TNE_ReadingMatrix4 
TNE_ReadingSubImageBox 
TNE_ReadingSubImageBoxd 
TNE_InvalidReadNext 
TNE_InvalidParentNode 
TNE_FileNotFound 
TNE_ReadingFile 
TNE_WritingFile 
TNE_UnsupportedClassVersion 
TNE_UserDefined 
TNE_Unknown 
TNE_ReadingMLint64 
TNE_ReadingMLuint64 
TNE_COUNT 

Definition at line 44 of file mlTreeNode.h.

◆ anonymous enum

anonymous enum
Enumerator
ML_INTEGER_TYPE 
ML_FLOAT_TYPE 
ML_SIGNED_TYPE 

Definition at line 84 of file mlTypeTraits.h.

◆ anonymous enum

anonymous enum

The default dimension of images in the ML.

Enumerator
MLMaxImageDimension 

Definition at line 29 of file mlImageVector.h.

Function Documentation

◆ abs()

template<typename DT >
DT ml::abs ( DT  val)
inline

Definition at line 120 of file mlTypeDefTraits.h.

Referenced by ml::Tmat3< DT >::jacobi().

◆ almostEqualRelativeAndAbs()

template<typename T >
constexpr bool ml::almostEqualRelativeAndAbs ( x,
y,
absoluteEpsilon,
relativeEpsilon = std::numeric_limits<T>::epsilon() 
)
constexpr

Definition at line 43 of file mlNumericHelpers.h.

◆ clamp()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clamp ( FloatingPointVector< T, size, DataContainer >  vec,
const FloatingPointVector< T, size, DataContainer > &  lower,
const FloatingPointVector< T, size, DataContainer > &  upper 
)
inline

Returns a new vector with all components from vec clamped to range [lower, upper].

Not that this does not hold if components in lower are greater than their corresponding ones in upper. See FloatingPointVector<T, size, DataContainer>::clamp().

Definition at line 570 of file mlFloatingPointVector.h.

◆ clampMax()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clampMax ( FloatingPointVector< T, size, DataContainer >  vec,
const FloatingPointVector< T, size, DataContainer > &  m 
)
inline

Returns a new vector with all components from vec clamped to maximum m.

See FloatingPointVector<T, size, DataContainer>::clampMax().

Definition at line 555 of file mlFloatingPointVector.h.

◆ clampMin()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > clampMin ( FloatingPointVector< T, size, DataContainer >  vec,
const FloatingPointVector< T, size, DataContainer > &  m 
)
inline

Returns a new vector with all components from vec clamped to minimum m.

See FloatingPointVector<T, size, DataContainer>::clampMin().

Definition at line 542 of file mlFloatingPointVector.h.

◆ compAbs()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compAbs ( FloatingPointVector< T, size, DataContainer >  vec)
inline

Returns a vector with all components from vec without negative sign.

Definition at line 494 of file mlFloatingPointVector.h.

Referenced by ml::TVector< TVectorBase >::compAbs().

◆ compDiv()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compDiv ( FloatingPointVector< T, size, DataContainer >  vec,
const FloatingPointVector< T, size, DataContainer > &  d 
)
inline

Component wise division of vec / d.

Division by zeros are not handled and must be avoided by caller.

Definition at line 529 of file mlFloatingPointVector.h.

◆ compMax()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compMax ( FloatingPointVector< T, size, DataContainer >  buffer1,
const FloatingPointVector< T, size, DataContainer > &  buffer2 
)
inline

◆ compMin()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compMin ( FloatingPointVector< T, size, DataContainer >  buffer1,
const FloatingPointVector< T, size, DataContainer > &  buffer2 
)
inline

◆ compMul()

template<class T , size_t size, class DataContainer >
T compMul ( const FloatingPointVector< T, size, DataContainer > &  vec)
inline

Returns the product of all components.

Definition at line 584 of file mlFloatingPointVector.h.

Referenced by ml::TVector< TVectorBase >::compMul(), ml::ImageProperties::getNumVoxels(), and ml::TSubImageBox< intT >::getNumVoxels().

◆ compSqr()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqr ( FloatingPointVector< T, size, DataContainer >  vec)
inline

Returns a vector with all components from vec squared.

Definition at line 505 of file mlFloatingPointVector.h.

◆ compSqrt()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqrt ( FloatingPointVector< T, size, DataContainer >  vec)
inline

Returns a vector with all components from vec square-rooted.

Definition at line 517 of file mlFloatingPointVector.h.

◆ convertTo()

template<typename T , std::size_t N>
constexpr T ml::convertTo ( const char(&)  t[N])
constexpr

Definition at line 25 of file mlNumericHelpers.h.

◆ convertToUTF8String() [1/2]

ML_UTILS_EXPORT std::string ml::convertToUTF8String ( const std::wstring &  text)

◆ convertToUTF8String() [2/2]

ML_UTILS_EXPORT std::string ml::convertToUTF8String ( const wchar_t *  text)

◆ convertUTF8ToWString() [1/2]

ML_UTILS_EXPORT std::wstring ml::convertUTF8ToWString ( const char *  text)

◆ convertUTF8ToWString() [2/2]

ML_UTILS_EXPORT std::wstring ml::convertUTF8ToWString ( const std::string &  text)

◆ createTSubImageVariant()

template<typename... T>
TSubImageVariant<T...> ml::createTSubImageVariant ( const SubImage subImage)

Creates from the provided SubImage a variant of any of the provided types T containing the TSubImage<T>

Example:

void ExampleModule::calculateOutputSubImage(SubImage *outSubImage, int outIndex,
SubImage *inputSubImage)
{
MLuint64, MLint64, MLfloat, MLdouble>(inputSubImage);
MLuint64, MLint64, MLfloat, MLdouble>(outSubImage);
auto visitor = [this, outIndex](auto &out, const auto &in)
{ calculateOutputSubImage(out, outIndex, in); };
std::visit(visitor, output, input);
}
template <typename T, typename U>
void ExampleModule::calculateOutputSubImage(TSubImage<T> &outputSubImage,
int outputIndex,
const TSubImage<U> &inputSubImage)
{
// do the output image calculation here
}
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
Definition: mlTypeDefs.h:513
unsigned int MLuint32
Definition: mlTypeDefs.h:191
unsigned char MLuint8
Definition: mlTypeDefs.h:115
double MLdouble
Definition: mlTypeDefs.h:223
unsigned short MLuint16
Definition: mlTypeDefs.h:148
signed short MLint16
Definition: mlTypeDefs.h:131
char MLint8
Definition: mlTypeDefs.h:103
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
signed int MLint32
Definition: mlTypeDefs.h:167
float MLfloat
Definition: mlTypeDefs.h:207
TSubImageVariant< T... > createTSubImageVariant(const SubImage *subImage)
Parameters
imageThe input SubImage

Definition at line 242 of file mlTSubImageVariant.h.

◆ createTSubImageVariantArray()

template<std::size_t N, typename... T>
TSubImageVariantArray<N, T...> ml::createTSubImageVariantArray ( const SubImage inputs)

Creates from input SubImages an array of variant of any of the provided types T containing the TSubImage<T>

Example:

void ExampleModule::calculateOutputSubImage(SubImage *outSubImage,
int outIndex,
SubImage *inSubImage)
{
auto inputs =
MLuint64, MLint64, MLfloat, MLdouble>(outSubImage);
auto visitor = [this, outIndex](auto &out, const auto &in)
{ calculateOutputSubImage(out, outIndex, in); };
std::visit(visitor, output, inputs);
}
template <typename T, typename U, std::size_t N>
void ExampleModule::calculateOutputSubImage(TSubImage<T> &outputSubImage,
int outputIndex,
const std::array<TSubImage<U>, N> &inputSubImage)
{
// do the output image calculation here
}
TSubImageVariantArray< N, T... > createTSubImageVariantArray(const SubImage *inputs)
Parameters
inputA C-array of size N of valid input pointers

Definition at line 316 of file mlTSubImageVariant.h.

◆ createTSubImageVariantArrayPair()

template<std::size_t N, typename... T>
TSubImageVariantArrayPair<N, T...> ml::createTSubImageVariantArrayPair ( SubImage output,
const SubImage inputs 
)

Creates from the provided output and input SubImages a variant of a pair of TSubImage and array of TSubImages. Input and output types are always the same

Example:

void ExampleModule::calculateOutputSubImage(SubImage *outputSubImage,
int outIndex,
SubImage *inputSubImages)
{
auto variantArrayPair =
MLint32, MLuint64, MLint64, MLfloat, MLdouble>(*outputSubImage,
inputSubImages);
auto visitor = [this, outIndex](auto &ip)
{ calculateOutputSubImage(ip.output, outIndex, ip.inputs); };
std::visit(visitor, variantArrayPair);
}
template <typename T, std::size_t N>
void ExampleModule::calculateOutputSubImage(TSubImage<T> &outputSubImage,
int outIndex,
const std::array<TSubImage<T>, N> &inputSubImages)
{
// do the output image calculation here
}
TSubImageVariantArrayPair< N, T... > createTSubImageVariantArrayPair(SubImage &output, const SubImage *inputs)
Parameters
outputThe output image
inputA C-array of size N of valid input pointers

Definition at line 355 of file mlTSubImageVariant.h.

References ml::SubImage::getDataType().

◆ createTSubImageVariantPair()

template<typename... T>
TSubImageVariantPair<T...> ml::createTSubImageVariantPair ( SubImage output,
const SubImage input 
)

Creates from the provided output and input SubImage a variant of any of the provided types T containing the TSubImage<T>. The input and output voxel type are always the same.

Example:

void ExampleModule::calculateOutputSubImage(SubImage* outputSubImage, int outIndex, SubImage* inputSubImage)
{
auto imagePair =
MLint64, MLfloat, MLdouble>(*outputSubImage, inputSubImage);
auto visitor = [this, outIndex](auto& ip) { calculateOutputSubImage(ip.output, outIndex, ip.input); };
std::visit(visitor, imagePair);
}
template <typename T>
void ExampleModule::calculateOutputSubImage(TSubImage<T>& outputSubImage, int, TSubImage<T>& inputSubImage0)
{
// do the output image calculation here
}
TSubImageVariantPair< T... > createTSubImageVariantPair(SubImage &output, const SubImage *input)
Parameters
outputThe output SubImage
inputA valid pointer to a single input image

Definition at line 276 of file mlTSubImageVariant.h.

◆ execute_default()

void ML_UTILS_EXPORT ml::execute_default ( stlab::task< void()>  f)

◆ execute_high()

void ML_UTILS_EXPORT ml::execute_high ( stlab::task< void()>  f)

◆ execute_low()

void ML_UTILS_EXPORT ml::execute_low ( stlab::task< void()>  f)

◆ flatten()

template<typename T >
void ml::flatten ( const tree_node< T > &  tree,
std::vector< T > &  flatten_elements 
)

Definition at line 33 of file mlContainers.h.

References ml::tree_node< T >::children, and ml::tree_node< T >::value.

◆ hash_value()

std::size_t ml::hash_value ( ConstantString const &  b)
inline

Definition at line 179 of file mlConstantString.h.

References ml::ConstantString::getHash().

◆ identity2D()

template<class DT >
Tmat3<DT> ml::identity2D ( )

Returns a 3x3 homogeneous identity2D matrix; synonym for Tmat3<DT>::getIdentity().

Definition at line 502 of file mlMatrix3.h.

◆ identity3D()

template<class DT >
Tmat4<DT> ml::identity3D ( )

Returns a 4x4 homogeneous identity3D matrix; synonym for Tmat4<DT>::getIdentity().

Definition at line 609 of file mlMatrix4.h.

◆ insert_set_sorted()

template<typename T >
void ml::insert_set_sorted ( tree_node< T > &  tree,
newValue,
zero = {} 
)

Definition at line 51 of file mlContainers.h.

◆ intrusive_ptr_add_ref()

void ml::intrusive_ptr_add_ref ( const ml::RefCountedBase p)
inline

Definition at line 66 of file mlRefCountedBase.h.

◆ intrusive_ptr_release()

void ml::intrusive_ptr_release ( const ml::RefCountedBase p)
inline

Definition at line 71 of file mlRefCountedBase.h.

◆ iround()

ML_UTILS_EXPORT int ml::iround ( double  x)

◆ iroundf()

ML_UTILS_EXPORT int ml::iroundf ( float  x)

◆ is()

template<class T >
constexpr Is<T> ml::is ( d)
constexpr

◆ is_rotated() [1/2]

template<typename Range1 , typename Range2 >
constexpr Range2::const_iterator ml::is_rotated ( const Range1 &  range1,
const Range2 &  range2 
)
constexpr

Definition at line 230 of file mlContainerHelpers.h.

◆ is_rotated() [2/2]

template<typename Range1 , typename Range2 , typename BinaryPredicate >
constexpr Range2::const_iterator ml::is_rotated ( const Range1 &  range1,
const Range2 &  range2,
BinaryPredicate  p 
)
constexpr

Definition at line 190 of file mlContainerHelpers.h.

◆ logTypeComponentsFromStringError()

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

◆ lround()

ML_UTILS_EXPORT long ml::lround ( double  x)

◆ lroundf()

ML_UTILS_EXPORT long ml::lroundf ( float  x)

◆ mlAbs() [1/5]

MLuint16 ml::mlAbs ( MLuint16  a)
inline

Definition at line 82 of file mlUtilsSystem.h.

◆ mlAbs() [2/5]

MLuint32 ml::mlAbs ( MLuint32  a)
inline

Definition at line 83 of file mlUtilsSystem.h.

◆ mlAbs() [3/5]

MLuint64 ml::mlAbs ( MLuint64  a)
inline

Definition at line 84 of file mlUtilsSystem.h.

◆ mlAbs() [4/5]

MLuint8 ml::mlAbs ( MLuint8  a)
inline

Implement mlAbs specializations to avoid comparison < 0 warnings on unsigned types.

Definition at line 81 of file mlUtilsSystem.h.

◆ mlAbs() [5/5]

template<typename T >
T ml::mlAbs ( a)

Defines ML specific abs template since only type depended library functions exists.

Definition at line 76 of file mlUtilsSystem.h.

◆ MLCallMethodWithArguments() [1/6]

template<class Object , class Method >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList0  
)

Calls a method on given object with 0 arguments.

Definition at line 108 of file mlArgumentList.h.

◆ MLCallMethodWithArguments() [2/6]

template<class Object , class Method , class Arg1 >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList1< Arg1 > &  args 
)

Calls a method on given object with 1 argument.

Definition at line 113 of file mlArgumentList.h.

References ml::ArgumentList1< Arg1 >::_arg1.

◆ MLCallMethodWithArguments() [3/6]

template<class Object , class Method , class Arg1 , class Arg2 >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList2< Arg1, Arg2 > &  args 
)

Calls a method on given object with 2 arguments.

Definition at line 118 of file mlArgumentList.h.

References ml::ArgumentList2< Arg1, Arg2 >::_arg1, and ml::ArgumentList2< Arg1, Arg2 >::_arg2.

◆ MLCallMethodWithArguments() [4/6]

template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList3< Arg1, Arg2, Arg3 > &  args 
)

Calls a method on given object with 3 arguments.

Definition at line 124 of file mlArgumentList.h.

References ml::ArgumentList3< Arg1, Arg2, Arg3 >::_arg1, ml::ArgumentList3< Arg1, Arg2, Arg3 >::_arg2, and ml::ArgumentList3< Arg1, Arg2, Arg3 >::_arg3.

◆ MLCallMethodWithArguments() [5/6]

template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList4< Arg1, Arg2, Arg3, Arg4 > &  args 
)

◆ MLCallMethodWithArguments() [6/6]

template<class Object , class Method , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
void ml::MLCallMethodWithArguments ( Object *  object,
Method  method,
const ArgumentList5< Arg1, Arg2, Arg3, Arg4, Arg5 > &  args 
)

◆ MLGenerateArgumentList() [1/6]

ArgumentList0 ml::MLGenerateArgumentList ( )
inline

Creates argument list with 0 arguments.

Definition at line 80 of file mlArgumentList.h.

◆ MLGenerateArgumentList() [2/6]

template<class Arg1 >
ArgumentList1<Arg1> ml::MLGenerateArgumentList ( const Arg1 &  arg1)
inline

Create argument list with 1 argument.

Definition at line 84 of file mlArgumentList.h.

◆ MLGenerateArgumentList() [3/6]

template<class Arg1 , class Arg2 >
ArgumentList2<Arg1, Arg2> ml::MLGenerateArgumentList ( const Arg1 &  arg1,
const Arg2 &  arg2 
)
inline

Creates argument list with 2 arguments.

Definition at line 89 of file mlArgumentList.h.

◆ MLGenerateArgumentList() [4/6]

template<class Arg1 , class Arg2 , class Arg3 >
ArgumentList3<Arg1, Arg2, Arg3> ml::MLGenerateArgumentList ( const Arg1 &  arg1,
const Arg2 &  arg2,
const Arg3 &  arg3 
)
inline

Creates argument list with 3 arguments.

Definition at line 93 of file mlArgumentList.h.

◆ MLGenerateArgumentList() [5/6]

template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
ArgumentList4<Arg1, Arg2, Arg3, Arg4> ml::MLGenerateArgumentList ( const Arg1 &  arg1,
const Arg2 &  arg2,
const Arg3 &  arg3,
const Arg4 &  arg4 
)
inline

Creates argument list with 4 arguments.

Definition at line 98 of file mlArgumentList.h.

◆ MLGenerateArgumentList() [6/6]

template<class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
ArgumentList5<Arg1, Arg2, Arg3, Arg4, Arg5> ml::MLGenerateArgumentList ( const Arg1 &  arg1,
const Arg2 &  arg2,
const Arg3 &  arg3,
const Arg4 &  arg4,
const Arg5 &  arg5 
)
inline

Creates argument list with 5 arguments.

Definition at line 102 of file mlArgumentList.h.

◆ MLInitFields()

MLEXPORT void ml::MLInitFields ( )

Initialize all standard fields of the ML.

◆ MLInitListFields()

MLEXPORT void ml::MLInitListFields ( )

Initialize all multi fields of the ML.

◆ MLInverseMatHelper()

template<class BASE_TYPE >
BASE_TYPE ml::MLInverseMatHelper ( const BASE_TYPE &  origMat,
bool *  isInvertible,
const typename BASE_TYPE::ComponentType  ,
const char *const  ZeroDetErrString,
const BASE_TYPE &  Identity,
const size_t  Dim 
)

Computes an N dimensional inverse from given default parameters.

The used algorithm is the Gauss-Jordan elimination with partial pivoting.

Parameters
origMatThe matrix to be inverted.
isInvertibleIf a non-NULL Boolean pointer is passed to isInvertible then true is returned in *isInvertible in the case of a successful inversion or false if the inversion is not possible (function return is the identity then). If a NULL pointer is passed as isInvertible the matrix must be invertible, otherwise errors will occur.
ZeroEpsilonUnused. Former versions used this as an epsilon value to compare to decide whether the determinant is zero or not. Now an MLValueIs0WOM check is used.
ZeroDetErrStringError to be posted if isInvertible is NULL and inverse cannot be calculated.
IdentityIdentity to be returned in case of errors.
DimThe dimension of the matrix.

Definition at line 60 of file mlLinearAlgebraTools.h.

References ML_BAD_PARAMETER, MLAbs(), MLSwap(), MLValueIs0WOM(), and printTemplateError().

Referenced by ml::Tmat3< DT >::inverse(), ml::Tmat4< DT >::inverse(), ml::Tmat5< DT >::inverse(), and ml::Tmat6< DT >::inverse().

◆ mlMax()

template<typename T >
T ml::mlMax ( a,
b 
)

Defines ML specific max template since max template is platform dependent.

See also ML_MIN and ML_MAX macros in mlTypeDefs.h.

Definition at line 73 of file mlUtilsSystem.h.

◆ mlMin()

template<typename T >
T ml::mlMin ( a,
b 
)

Defines ML specific min template since min template is platform dependent.

See also ML_MIN and ML_MAX macros in mlTypeDefs.h.

Definition at line 69 of file mlUtilsSystem.h.

◆ MLSwap()

template<class OBJ_TYPE >
void ml::MLSwap ( OBJ_TYPE &  obj1,
OBJ_TYPE &  obj2 
)

Swaps two objects obj1 and obj2.

It requires valid assignment operators on OBJ_TYP.

Definition at line 33 of file mlLinearAlgebraTools.h.

Referenced by MLInverseMatHelper().

◆ operator!()

template<class T , size_t size, class DataContainer >
bool operator! ( const FloatingPointVector< T, size, DataContainer > &  a)
inline

Returns whether all components are 0.

Definition at line 373 of file mlFloatingPointVector.h.

◆ operator!=() [1/5]

template<class DT >
bool ml::operator!= ( const Tmat2< DT > &  a,
const Tmat2< DT > &  b 
)
inline

a != b ? Return true if yes.

Definition at line 433 of file mlMatrix2.h.

◆ operator!=() [2/5]

template<class DT >
bool ml::operator!= ( const Tmat3< DT > &  a,
const Tmat3< DT > &  b 
)
inline

a != b ? Return true if yes, otherwise false.

Definition at line 486 of file mlMatrix3.h.

◆ operator!=() [3/5]

template<class DT >
bool ml::operator!= ( const Tmat4< DT > &  a,
const Tmat4< DT > &  b 
)
inline

a != b ? Return true if yes.

Definition at line 388 of file mlMatrix4.h.

◆ operator!=() [4/5]

template<class DT >
bool ml::operator!= ( const Tmat5< DT > &  a,
const Tmat5< DT > &  b 
)
inline

a != b ? Return true if yes, otherwise false.

Definition at line 686 of file mlMatrix5.h.

◆ operator!=() [5/5]

template<class DT >
bool ml::operator!= ( const Tmat6< DT > &  a,
const Tmat6< DT > &  b 
)

a != b ? Return true if yes, otherwise false.

Definition at line 596 of file mlMatrix6.h.

◆ operator*() [1/30]

template<class DT >
Tmat2<DT> ml::operator* ( const DT  d,
const Tmat2< DT > &  a 
)
inline

Returns the component wise multiplication of scalar d with matrix a.

Definition at line 474 of file mlMatrix2.h.

◆ operator*() [2/30]

template<class DT >
Tmat3<DT> ml::operator* ( const DT  d,
const Tmat3< DT > &  a 
)
inline

Returns the component wise multiplication of scalar d with matrix a.

Definition at line 302 of file mlMatrix3.h.

◆ operator*() [3/30]

template<class DT >
Tmat4<DT> ml::operator* ( const DT  d,
const Tmat4< DT > &  a 
)
inline

Returns the component wise multiplication of scalar d with matrix a.

Definition at line 429 of file mlMatrix4.h.

◆ operator*() [4/30]

template<class DT >
Tmat5<DT> ml::operator* ( const DT  d,
const Tmat5< DT > &  a 
)
inline

Returns the component wise product of scalar d with matrix a.

Definition at line 338 of file mlMatrix5.h.

◆ operator*() [5/30]

template<class DT >
Tmat6<DT> ml::operator* ( const DT  d,
const Tmat6< DT > &  a 
)
inline

Returns the component wise product of scalar d with matrix a.

Definition at line 335 of file mlMatrix6.h.

◆ operator*() [6/30]

template<class T , size_t size, class DataContainer >
T operator* ( const FloatingPointVector< T, size, DataContainer > &  a,
const FloatingPointVector< T, size, DataContainer > &  b 
)
inline

Dot product, returns a.dot(b).

Definition at line 430 of file mlFloatingPointVector.h.

Referenced by ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator->().

◆ operator*() [7/30]

template<class DT >
Tmat2<DT> ml::operator* ( const Tmat2< DT > &  a,
const Tmat2< DT > &  b 
)
inline

Definition at line 414 of file mlMatrix2.h.

References _ML_MAT2_RC.

◆ operator*() [8/30]

template<class DT >
Tvec2<DT> ml::operator* ( const Tmat2< DT > &  a,
const Tvec2< DT > &  v 
)
inline

Normal multiplication of 2x2 matrix a with 2D vector v with a Tvec2as result.

Definition at line 492 of file mlMatrix2.h.

◆ operator*() [9/30]

template<class DT >
Tmat2<DT> ml::operator* ( const Tmat2< DT > &  a,
DT  d 
)
inline

Returns the component wise multiplication of matrix a with scalar d.

Definition at line 467 of file mlMatrix2.h.

◆ operator*() [10/30]

template<class DT >
Tmat3<DT> ml::operator* ( const Tmat3< DT > &  a,
const DT  d 
)
inline

Returns the component wise multiplication of matrix a with scalar d.

Definition at line 295 of file mlMatrix3.h.

◆ operator*() [11/30]

template<class DT >
Tmat3<DT> ml::operator* ( const Tmat3< DT > &  a,
const Tmat3< DT > &  b 
)
inline

Matrix 3 product.

Definition at line 462 of file mlMatrix3.h.

References _ML_MAT3_RC.

◆ operator*() [12/30]

template<class DT , class DT2 >
Tvec3<DT> ml::operator* ( const Tmat3< DT > &  a,
const Tvec3< DT2 > &  v 
)
inline

Normal multiplication of 3x3 matrix a with 3d vector v with a Tvec3 as result.

Definition at line 230 of file mlVector3.h.

◆ operator*() [13/30]

template<class DT >
Tmat4<DT> ml::operator* ( const Tmat4< DT > &  a,
const DT  d 
)
inline

Returns the component wise multiplication of matrix a with scalar d.

Definition at line 422 of file mlMatrix4.h.

◆ operator*() [14/30]

template<class DT >
Tmat4<DT> ml::operator* ( const Tmat4< DT > &  a,
const Tmat4< DT > &  b 
)
inline

a * b.

Standard matrix multiplication.

Note
Hint on concatentation of matrices: b.transformPoint(a.transformPoint(v)) is equivalent to (b*a).transformPoint(v)

Definition at line 364 of file mlMatrix4.h.

References _ML_MAT4_RC.

◆ operator*() [15/30]

template<class DT , class DT2 >
Tvec3<DT> ml::operator* ( const Tmat4< DT > &  a,
const Tvec3< DT2 > &  v 
)
inline

Interprets v as a 4d homogeneous point and multiply the 4x4 matrix M with it and return a Tvec3 after normalizing the result by dividing by the fourth component.

It's up to the caller to guarantee that matrix a multiplied with a homogeneous 4d point results to a homogeneous point to avoid divisions by zero on normalizing the result.

Definition at line 256 of file mlVector3.h.

References ml::Tvec3< DT >::affinePoint().

◆ operator*() [16/30]

template<class DT >
Tvec4<DT> ml::operator* ( const Tmat4< DT > &  a,
const Tvec4< DT > &  v 
)
inline

Multiplies 4x4 matrix a with vector v.

Definition at line 135 of file mlVector4.h.

References _ML_VEC4_RC.

◆ operator*() [17/30]

template<class DT >
Tmat5<DT> ml::operator* ( const Tmat5< DT > &  a,
const DT  d 
)
inline

Returns the component wise product of matrix a with scalar d.

Definition at line 331 of file mlMatrix5.h.

◆ operator*() [18/30]

template<class DT >
Tmat5<DT> ml::operator* ( const Tmat5< DT > &  a,
const Tmat5< DT > &  b 
)

Matrix product.

Definition at line 655 of file mlMatrix5.h.

References _ML_MAT5_RC.

◆ operator*() [19/30]

template<class DT >
Tvec5<DT> ml::operator* ( const Tmat5< DT > &  a,
const Tvec5< DT > &  v 
)
inline

Multiplies 5x5 matrix a with vector v.

Definition at line 180 of file mlVector5.h.

References _ML_VEC5_RC.

◆ operator*() [20/30]

template<class DT >
Tmat6<DT> ml::operator* ( const Tmat6< DT > &  a,
const DT  d 
)
inline

Returns the component wise product of matrix a with scalar d.

Definition at line 328 of file mlMatrix6.h.

◆ operator*() [21/30]

template<class DT >
Tmat6<DT> ml::operator* ( const Tmat6< DT > &  a,
const Tmat6< DT > &  b 
)

Matrix product.

Definition at line 567 of file mlMatrix6.h.

References _ML_MAT6_RC.

◆ operator*() [22/30]

template<class DT >
Tvec6<DT> ml::operator* ( const Tmat6< DT > &  a,
const Tvec6< DT > &  v 
)
inline

Multiplies 6x6 matrix a with vector v.

Definition at line 607 of file mlMatrix6.h.

References _ML_MAT6_RC.

◆ operator*() [23/30]

template<class DT >
Tvec2<DT> ml::operator* ( const Tvec2< DT > &  v,
const Tmat2< DT > &  a 
)
inline

Normal multiplication of 2D vector v with 2x2 matrix with a Tvec2as result.

Definition at line 500 of file mlMatrix2.h.

References ml::Tmat2< DT >::transpose().

◆ operator*() [24/30]

template<class DT , class DT2 >
Tvec3<DT> ml::operator* ( const Tvec3< DT > &  v,
const Tmat3< DT2 > &  a 
)
inline

Normal multiplication of 3d vector v with 3x3 matrix with a Tvec3 as result.

Definition at line 242 of file mlVector3.h.

References ml::Tmat3< DT >::transpose().

◆ operator*() [25/30]

template<class DT , class DT2 >
Tvec3<DT> ml::operator* ( const Tvec3< DT > &  v,
const Tmat4< DT2 > &  a 
)
inline

Interprets v as a 4d homogeneous point and multiply it with the 4x4 matrix M and return a Tvec3 after normalizing the result by dividing by the fourth component.

It's up to the caller to guarantee that matrix a multiplied with a homogeneous 4d point results to a homogeneous point to avoid divisions by zero on normalizing the result.

Definition at line 271 of file mlVector3.h.

References ml::Tmat4< DT >::transpose().

◆ operator*() [26/30]

template<class DT >
Tvec4<DT> ml::operator* ( const Tvec4< DT > &  v,
const Tmat4< DT > &  a 
)
inline

Multiplies vector v with 4x4 matrix a.

Definition at line 145 of file mlVector4.h.

References ml::Tmat4< DT >::transpose().

◆ operator*() [27/30]

template<class DT >
Tvec5<DT> ml::operator* ( const Tvec5< DT > &  v,
const Tmat5< DT > &  a 
)
inline

Multiplies vector v with 5x5 matrix a.

Definition at line 190 of file mlVector5.h.

References ml::Tmat5< DT >::transpose().

◆ operator*() [28/30]

template<class DT >
Tvec6<DT> ml::operator* ( const Tvec6< DT > &  v,
const Tmat6< DT > &  a 
)
inline

Multiplies vector v with 6x6 matrix a.

Definition at line 617 of file mlMatrix6.h.

References ml::Tmat6< DT >::transpose().

◆ operator*() [29/30]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator* ( FloatingPointVector< T, size, DataContainer >  lhs,
MLdouble  rhs 
)
inline

Component wise multiplication of lhs with rhs.

Definition at line 440 of file mlFloatingPointVector.h.

◆ operator*() [30/30]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator* ( MLdouble  lhs,
FloatingPointVector< T, size, DataContainer >  rhs 
)
inline

Component wise multiplication of rhs with lhs.

Definition at line 450 of file mlFloatingPointVector.h.

◆ operator*=() [1/2]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator*= ( FloatingPointVector< T, size, DataContainer > &  op1,
const FloatingPointVector< T, size, DataContainer > &  op2 
)
inline

Arithmetic assignment: Component wise multiplication *this with a vector of the same size.

Definition at line 332 of file mlFloatingPointVector.h.

◆ operator*=() [2/2]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator*= ( FloatingPointVector< T, size, DataContainer > &  op1,
MLdouble  value 
)
inline

Arithmetic assignment: Component wise multiplication *this with specialized MLdouble scalar value.

Definition at line 321 of file mlFloatingPointVector.h.

◆ operator+() [1/7]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator+ ( const FloatingPointVector< T, size, DataContainer > &  buffer)
inline

Unary plus, for completeness and for those who really want to use that...

Definition at line 407 of file mlFloatingPointVector.h.

◆ operator+() [2/7]

template<class DT >
Tmat2<DT> ml::operator+ ( const Tmat2< DT > &  a,
const Tmat2< DT > &  b 
)
inline

Returns the component wise sum of matrix a and matrix b.

Definition at line 453 of file mlMatrix2.h.

◆ operator+() [3/7]

template<class DT >
Tmat3<DT> ml::operator+ ( const Tmat3< DT > &  a,
const Tmat3< DT > &  b 
)
inline

Returns the component wise sum of matrix a and matrix b.

Definition at line 281 of file mlMatrix3.h.

◆ operator+() [4/7]

template<class DT >
Tmat4<DT> ml::operator+ ( const Tmat4< DT > &  a,
const Tmat4< DT > &  b 
)
inline

Returns the component wise sum of matrix a and matrix b.

Definition at line 408 of file mlMatrix4.h.

◆ operator+() [5/7]

template<class DT >
Tmat5<DT> ml::operator+ ( const Tmat5< DT > &  a,
const Tmat5< DT > &  b 
)
inline

Returns the component wise sum of matrix a and matrix b.

Definition at line 317 of file mlMatrix5.h.

◆ operator+() [6/7]

template<class DT >
Tmat6<DT> ml::operator+ ( const Tmat6< DT > &  a,
const Tmat6< DT > &  b 
)
inline

Returns the component wise sum of matrix a and matrix b.

Definition at line 314 of file mlMatrix6.h.

◆ operator+() [7/7]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator+ ( FloatingPointVector< T, size, DataContainer >  lhs,
const FloatingPointVector< T, size, DataContainer > &  rhs 
)
inline

Return value is the component wise addition of lhs and rhs.

Definition at line 385 of file mlFloatingPointVector.h.

◆ operator+=()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator+= ( FloatingPointVector< T, size, DataContainer > &  op1,
const FloatingPointVector< T, size, DataContainer > &  buffer 
)
inline

Arithmetic assignment: Component wise addition.

Definition at line 299 of file mlFloatingPointVector.h.

◆ operator-() [1/12]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator- ( const FloatingPointVector< T, size, DataContainer > &  buffer)
inline

Unary minus, all components of the vector are multiplied with -1.

Definition at line 418 of file mlFloatingPointVector.h.

◆ operator-() [2/12]

template<class DT >
Tmat2<DT> ml::operator- ( const Tmat2< DT > &  a)
inline

Returns a matrix a with all values negated.

Definition at line 446 of file mlMatrix2.h.

◆ operator-() [3/12]

template<class DT >
Tmat2<DT> ml::operator- ( const Tmat2< DT > &  a,
const Tmat2< DT > &  b 
)
inline

Returns the component wise difference of matrix a and matrix b.

Definition at line 460 of file mlMatrix2.h.

◆ operator-() [4/12]

template<class DT >
Tmat3<DT> ml::operator- ( const Tmat3< DT > &  a)
inline

Returns a matrix a with all values negated.

Definition at line 274 of file mlMatrix3.h.

◆ operator-() [5/12]

template<class DT >
Tmat3<DT> ml::operator- ( const Tmat3< DT > &  a,
const Tmat3< DT > &  b 
)
inline

Returns the component wise difference of matrix a and matrix b.

Definition at line 288 of file mlMatrix3.h.

◆ operator-() [6/12]

template<class DT >
Tmat4<DT> ml::operator- ( const Tmat4< DT > &  a)
inline

Returns the matrix a with all values negated.

Definition at line 401 of file mlMatrix4.h.

◆ operator-() [7/12]

template<class DT >
Tmat4<DT> ml::operator- ( const Tmat4< DT > &  a,
const Tmat4< DT > &  b 
)
inline

Returns the component wise difference of matrix a and matrix b.

Definition at line 415 of file mlMatrix4.h.

◆ operator-() [8/12]

template<class DT >
Tmat5<DT> ml::operator- ( const Tmat5< DT > &  a)
inline

Returns a matrix a with all values negated.

Definition at line 310 of file mlMatrix5.h.

◆ operator-() [9/12]

template<class DT >
Tmat5<DT> ml::operator- ( const Tmat5< DT > &  a,
const Tmat5< DT > &  b 
)
inline

Returns the component wise difference of matrix a and matrix b.

Definition at line 324 of file mlMatrix5.h.

◆ operator-() [10/12]

template<class DT >
Tmat6<DT> ml::operator- ( const Tmat6< DT > &  a)
inline

Returns a matrix a with all values negated.

Definition at line 307 of file mlMatrix6.h.

◆ operator-() [11/12]

template<class DT >
Tmat6<DT> ml::operator- ( const Tmat6< DT > &  a,
const Tmat6< DT > &  b 
)
inline

Returns the component wise difference of matrix a and matrix b.

Definition at line 321 of file mlMatrix6.h.

◆ operator-() [12/12]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator- ( FloatingPointVector< T, size, DataContainer >  lhs,
const FloatingPointVector< T, size, DataContainer > &  rhs 
)
inline

Return value is the component wise subtraction of rhs from lhs.

Definition at line 396 of file mlFloatingPointVector.h.

◆ operator-=()

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator-= ( FloatingPointVector< T, size, DataContainer > &  op1,
const FloatingPointVector< T, size, DataContainer > &  buffer 
)
inline

Arithmetic assignment: Component wise subtraction of buffer from *this.

Definition at line 310 of file mlFloatingPointVector.h.

◆ operator/() [1/6]

template<class DT >
Tmat2<DT> ml::operator/ ( const Tmat2< DT > &  a,
const DT  d 
)
inline

Returns the component wise division of matrix a by scalar d.

Division by zero is not handled and must be avoided by caller.

Definition at line 482 of file mlMatrix2.h.

◆ operator/() [2/6]

template<class DT >
Tmat3<DT> ml::operator/ ( const Tmat3< DT > &  a,
const DT  d 
)
inline

Returns the component wise division of matrix a by scalar d.

Division by zero is not handled and must be avoided by caller.

Definition at line 310 of file mlMatrix3.h.

◆ operator/() [3/6]

template<class DT >
Tmat4<DT> ml::operator/ ( const Tmat4< DT > &  a,
const DT  d 
)
inline

Returns the component wise division of matrix a by scalar d.

Division by zero is not handled and must be avoided by caller.

Definition at line 437 of file mlMatrix4.h.

◆ operator/() [4/6]

template<class DT >
Tmat5<DT> ml::operator/ ( const Tmat5< DT > &  a,
const DT  d 
)
inline

Returns the component wise division of matrix a by scalar d.

Division by zero is not handled and must be avoided by caller.

Definition at line 346 of file mlMatrix5.h.

References ML_CHECK_FLOAT_THROW.

◆ operator/() [5/6]

template<class DT >
Tmat6<DT> ml::operator/ ( const Tmat6< DT > &  a,
const DT  d 
)
inline

Returns the component wise division of matrix a by scalar d.

Division by zero is not handled and must be avoided by caller.

Definition at line 343 of file mlMatrix6.h.

References ML_CHECK_FLOAT_THROW.

◆ operator/() [6/6]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > operator/ ( FloatingPointVector< T, size, DataContainer >  lhs,
MLdouble  rhs 
)
inline

Component wise division of lhs by specialized rhs of type MLdouble.

Definition at line 460 of file mlFloatingPointVector.h.

◆ operator/=() [1/2]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator/= ( FloatingPointVector< T, size, DataContainer > &  op1,
const FloatingPointVector< T, size, DataContainer > &  op2 
)
inline

Arithmetic assignment: Component wise division of *this by the values of a vector of the same size.

Division by zero is not handled and must be avoided by user.

Definition at line 359 of file mlFloatingPointVector.h.

◆ operator/=() [2/2]

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > & operator/= ( FloatingPointVector< T, size, DataContainer > &  op1,
MLdouble  value 
)
inline

Arithmetic assignment: Component wise division of *this by scalar value.

Division by zero is not handled and must be avoided by user.

Definition at line 344 of file mlFloatingPointVector.h.

◆ operator==() [1/5]

template<class DT >
bool ml::operator== ( const Tmat2< DT > &  a,
const Tmat2< DT > &  b 
)
inline

a == b ? Return true if yes.

Definition at line 425 of file mlMatrix2.h.

Referenced by ml::SubImageBoxd::operator!=(), and ml::TQuaternion< DT >::operator!=().

◆ operator==() [2/5]

template<class DT >
bool ml::operator== ( const Tmat3< DT > &  a,
const Tmat3< DT > &  b 
)
inline

a == b ? Return true if yes, otherwise false.

Definition at line 475 of file mlMatrix3.h.

◆ operator==() [3/5]

template<class DT >
bool ml::operator== ( const Tmat4< DT > &  a,
const Tmat4< DT > &  b 
)
inline

a == b ? Return true if yes.

Definition at line 378 of file mlMatrix4.h.

◆ operator==() [4/5]

template<class DT >
bool ml::operator== ( const Tmat5< DT > &  a,
const Tmat5< DT > &  b 
)
inline

a == b ? Return true if yes, otherwise false.

Definition at line 673 of file mlMatrix5.h.

◆ operator==() [5/5]

template<class DT >
bool ml::operator== ( const Tmat6< DT > &  a,
const Tmat6< DT > &  b 
)

a == b ? Return true if yes, otherwise false.

Definition at line 582 of file mlMatrix6.h.

◆ operator^()

template<class DT , class DT2 >
Tvec3<DT> ml::operator^ ( const Tvec3< DT > &  a,
const Tvec3< DT2 > &  b 
)
inline

Returns a vector orthogonal to a and b.

Definition at line 282 of file mlVector3.h.

◆ Overload()

template<class... Ts>
ml::Overload ( Ts...  ) -> Overload< Ts... >

◆ perspective3D()

template<class DT >
Tmat4<DT> ml::perspective3D ( const DT  d)
inline

Creates a 4x4 homogeneous perspective projection matrix with perspective shortening value given by d which must differ from zero to avoid errors.

Definition at line 674 of file mlMatrix4.h.

References ML_CHECK_FLOAT_THROW.

◆ pre_exit()

void ML_UTILS_EXPORT ml::pre_exit ( )

◆ printTemplateError()

◆ printTemplateFatalError()

void ML_UTILS_EXPORT ml::printTemplateFatalError ( const char *  location,
MLErrorCode  reason,
const std::string_view &  handling 
)

◆ printTemplateWarning()

void ML_UTILS_EXPORT ml::printTemplateWarning ( const char *  location,
MLErrorCode  reason,
const std::string_view &  handling 
)

◆ rotation2D()

template<class DT >
Tmat3<DT> ml::rotation2D ( const Tvec2< DT > &  Center,
const DT  angleDeg 
)

Returns a 2D rotation matrix as 3D homogeneous matrix where center specifies the center of rotation.

Definition at line 524 of file mlMatrix3.h.

◆ rotation3D()

template<class DT >
Tmat4<DT> ml::rotation3D ( Tvec3< DT >  Axis,
const DT  angleRad 
)

Returns a 4x4 homogeneous 3D rotation matrix describing a rotation with angle angleRad around axis Axis where center specifies the center of rotation.

Definition at line 634 of file mlMatrix4.h.

References ml::FloatingPointVector< T, size, DataContainer >::normalize().

◆ round()

ML_UTILS_EXPORT double ml::round ( double  x)

◆ roundf()

ML_UTILS_EXPORT float ml::roundf ( float  x)

◆ scaling2D()

template<class DT >
Tmat3<DT> ml::scaling2D ( const Tvec2< DT > &  scaleVector)
inline

Returns a 2D scale matrix as 3D homogeneous matrix.

Definition at line 539 of file mlMatrix3.h.

◆ scaling3D()

template<class DT >
Tmat4<DT> ml::scaling3D ( const Tvec3< DT > &  scaleVector)
inline

Scaling 3D.

Definition at line 660 of file mlMatrix4.h.

◆ translation2D()

template<class DT >
Tmat3<DT> ml::translation2D ( const Tvec2< DT > &  v)
inline

Returns a 2D translation matrix as 3D homogeneous matrix where the translation is located in the right column.

Definition at line 512 of file mlMatrix3.h.

◆ translation3D()

template<class DT >
Tmat4<DT> ml::translation3D ( const Tvec3< DT > &  v)
inline

Returns a 4x4 homogeneous translation matrix with default identity matrix contents and the upper three components in right column given by 3D vector v.

Definition at line 620 of file mlMatrix4.h.

◆ tsubimage_cast() [1/4]

template<typename T >
const TSubImage<T>& ml::tsubimage_cast ( const SubImage subImg)

◆ tsubimage_cast() [2/4]

template<typename T >
const TSubImage<T>* ml::tsubimage_cast ( const SubImage subImg)

◆ tsubimage_cast() [3/4]

template<typename T >
TSubImage<T>& ml::tsubimage_cast ( SubImage subImg)

◆ tsubimage_cast() [4/4]

template<typename T >
TSubImage<T>* ml::tsubimage_cast ( SubImage subImg)

◆ tsubimg_cast() [1/4]

template<typename T >
const TSubImage<T>& ml::tsubimg_cast ( const SubImage subImg)
Deprecated:
Use tsubimage_cast instead.

Definition at line 1585 of file mlTSubImage.h.

◆ tsubimg_cast() [2/4]

template<typename T >
const TSubImage<T>* ml::tsubimg_cast ( const SubImage subImg)
Deprecated:
Use tsubimage_cast instead.

Definition at line 1575 of file mlTSubImage.h.

◆ tsubimg_cast() [3/4]

template<typename T >
TSubImage<T>& ml::tsubimg_cast ( SubImage subImg)
Deprecated:
Use tsubimage_cast instead.

Definition at line 1580 of file mlTSubImage.h.

◆ tsubimg_cast() [4/4]

template<typename T >
TSubImage<T>* ml::tsubimg_cast ( SubImage subImg)
Deprecated:
Use tsubimage_cast instead.

Definition at line 1570 of file mlTSubImage.h.

◆ vector_contains()

template<typename T >
bool ml::vector_contains ( const std::vector< T > &  vec,
const T &  value 
)
inline

Helper template that searches for value in given vector vec and returns true if it was found.

Definition at line 27 of file mlStdAlgorithms.h.

◆ vector_remove()

template<typename T >
bool ml::vector_remove ( std::vector< T > &  vec,
const T &  value 
)
inline

Helper template that removes the first occurrence of value in given vector vec and returns true if it was found.

Definition at line 33 of file mlStdAlgorithms.h.

◆ vector_remove_all()

template<typename T >
void ml::vector_remove_all ( std::vector< T > &  vec,
const T &  value 
)
inline

Helper template that removes all occurrences of value in given vector vec.

Definition at line 45 of file mlStdAlgorithms.h.

◆ vector_replace_by_NULL()

template<typename T >
bool ml::vector_replace_by_NULL ( std::vector< T > &  vec,
const T &  value 
)
inline

Helper template that replaces the first occurrence of value in given vector vec with NULL and returns true if it was found.

Definition at line 58 of file mlStdAlgorithms.h.

Variable Documentation

◆ _ML_STD_SLEN

const MLint ml::_ML_STD_SLEN =64

Length of strings for component descriptions and class names.

Definition at line 33 of file mlStdTypeInfos.h.

◆ is_detected_v

template<template< class... > class Op, class... Args>
constexpr bool ml::is_detected_v = is_detected<Op, Args...>::value
constexpr

Definition at line 77 of file mlTemplateHelpers.h.

◆ MLErrorOutput

ML_UTILS_EXPORT ErrorOutput ml::MLErrorOutput
extern

This is a singleton used for all ML Error input and output;.

◆ MLGenericType

const int ml::MLGenericType = _ML_SWITCH_SELECT_OFFSET+10

Defines special index to use a generic type.

Definition at line 61 of file mlTypedHandlers.h.

◆ MLGlobalTraceBuffer

ML_UTILS_EXPORT TraceBuffer<MLGlobalTraceBufferType> ml::MLGlobalTraceBuffer
extern

This is a global singleton of the TraceBuffer class.

It is used by all ML_TRACE_IN macros in the ML and by ErrorOutput class for dumping in error cases.

◆ MLNotify

ML_UTILS_EXPORT Notify ml::MLNotify
extern

Singleton which contains all registered callback functions of the ML.

◆ MLVariableType0

const int ml::MLVariableType0 = _ML_SWITCH_SELECT_OFFSET

Defines to use the result type of variable type 0.

Definition at line 53 of file mlTypedHandlers.h.

◆ MLVariableType1

const int ml::MLVariableType1 = _ML_SWITCH_SELECT_OFFSET+1

Defines to use the result type of variable type 1.

Definition at line 55 of file mlTypedHandlers.h.

◆ MLVariableType2

const int ml::MLVariableType2 = _ML_SWITCH_SELECT_OFFSET+2

Defines to use the result type of variable type 2.

Definition at line 57 of file mlTypedHandlers.h.

◆ MLVariableType3

const int ml::MLVariableType3 = _ML_SWITCH_SELECT_OFFSET+3

Defines to use the result type of variable type 3.

Definition at line 59 of file mlTypedHandlers.h.