ML Reference
ml Namespace Reference

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

Namespaces

namespace  internal
namespace  Unicode

Classes

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  PageRequest
 A PageRequest represents the request for the calculation of a single page of a PagedImage. More...
class  PageRequestQueueInterface
 Virtual interface for queuing PageRequests that are ready for processing. More...
class  PageRequestProcessor
 A simple processor that takes one or even multiple tile requests and can process them iteratively. More...
class  ProcessAllPagesJob
 Public interface for processing all pages of a temporary output image. 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  DummyOp
 Dummy input operator with one pixel of value 0 in it. 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  ToggleField
 Field to encapsulate a boolean value as integer. More...
class  EnumField
 Field to encapsulate an enumerated value. 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  LongDoubleField
 Field to encapsulate a long 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  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  MedicalImageProperties
 This class encapsulates basic medical image properties: More...
class  Module
 Base class for an image processing module of the ML. More...
class  BaseOp
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  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  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  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  ConstTSubImageCursor
 Cursor to access const data of a TSubImage. More...
class  TSubImageCursor
 Cursor to access data of a TSubImage for reading and writing. 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  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  CPUInfo
 Singleton class that provides hardware specific information. More...
class  DateTime
 Class for performing date/time arithmetics, 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  GPUInfo
 Singleton class that provides hardware specific information. 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  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  FloatingPointMatrix
 Base class of all matrix classes which holds the data buffer and provides some general access methods. More...
class  FloatingPointVectorDataContainerBase
 Base class of the FloatingPointVector class which holds the data buffer. More...
class  FloatingPointVector
 Template class for vector arithmetic with floating point data types. 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  TVectorNDBase
 TVectorNDBase is the data container class for the TVector template providing ND functionality for integer vectors. 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  Tmat2
 A two by two matrix class consisting of 2 row vectors. 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  Plane
 Class defining a plane in 3D. More...
class  TQuaternion
 Implementation of a Quaternion with common operations. More...
class  Rotation
 Class to handle Rotations (internally the rotation is stored as a quaternion) 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  Vector2DataContainer
 Specialized base class for the FloatingPointVectorDataContainerBase. More...
class  Tvec2
 A two dimensional vector class for floating point types. More...
class  Vector3DataContainer
 Specialized base class for the FloatingPointVectorDataContainerBase. More...
class  Tvec3
 A three dimensional vector class for floating point types. More...
class  Tvec32
 A 32 dimensional vector class for floating point types. More...
class  Tvec4
 A four dimensional vector class for floating point types. More...
class  Tvec5
 A five dimensional vector class for floating point types. More...
class  Tvec6
 A six dimensional vector class for floating point types. More...
class  Tvec64
 A 64 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  FloatTypes
class  IntegerTypes
class  ScalarTypes
class  DefaultTypes
class  DefaultExtendedTypes
class  ComplexTypes
class  ScalarAndComplexTypes

Typedefs

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

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_ReadingVec2, TNE_ReadingVec3, TNE_ReadingVec4,
  TNE_ReadingVec6, TNE_ReadingVector, TNE_ReadingMat3, TNE_ReadingMat4,
  TNE_ReadingSubImgBox, TNE_ReadingSubImgBoxf, 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

class ML_UNIX_ONLY_EXPORT (MLEXPORT) 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.
MLEXPORT void MLInitFields ()
 Initialize all standard fields of the ML.
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)
ArgumentList0 MLGenerateArgumentList ()
 Creates argument list with 0 arguments.
template<class Arg1 >
ArgumentList1< Arg1 > MLGenerateArgumentList (const Arg1 &arg1)
 Create argument list with 1 argument.
template<class Arg1 , class Arg2 >
ArgumentList2< Arg1, Arg2 > MLGenerateArgumentList (const Arg1 &arg1, const Arg2 &arg2)
 Creates argument list with 2 arguments.
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.
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.
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.
template<class Object , class Method >
void MLCallMethodWithArguments (Object *object, Method method, const ArgumentList0 &)
 Calls a method on given object with 0 arguments.
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.
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.
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.
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.
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.
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.
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.
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.
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.
template<typename DT >
DT abs (DT val)
template<class OBJ_TYPE >
void MLSwap (OBJ_TYPE &obj1, OBJ_TYPE &obj2)
 Swaps two objects obj1 and obj2.
template<class BASE_TYPE >
BASE_TYPE MLInverseMatHelper (const BASE_TYPE &origMat, bool *isInvertible, const ML_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.
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.
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.
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tmat4< DT > &a, const Tvec3< DT2 > &v)
 Interpret 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.
template<class DT , class DT2 >
Tvec3< DT > operator* (const Tvec3< DT > &v, const Tmat4< DT2 > &a)
 Interpret 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.
template<class DT , class DT2 >
Tvec3< DT > operator^ (const Tvec3< DT > &a, const Tvec3< DT2 > &b)
 Return a vector orthogonal to a and b.
template<class DT >
Tvec4< DT > operator* (const Tmat4< DT > &a, const Tvec4< DT > &v)
 Multiplies 4x4 matrix a with vector v.
template<class DT >
Tvec4< DT > operator* (const Tvec4< DT > &v, const Tmat4< DT > &a)
 Multiplies vector v with 4x4 matrix a.
template<class DT >
Tvec5< DT > operator* (const Tmat5< DT > &a, const Tvec5< DT > &v)
 Multiplies 5x5 matrix a with vector v.
template<class DT >
Tvec5< DT > operator* (const Tvec5< DT > &v, const Tmat5< DT > &a)
 Multiplies vector v with 5x5 matrix a.
ML initialization and destruction
MLEXPORT MLint32 initML ()
 Initializes the ML, the runtime type system, the memory manager, fields, static buffers, error and debug printings etc.
MLEXPORT void destroyML ()
 Delete dynamic data structures allocated by initML.
MLEXPORT void setMLEnvironment ()
 Set ML state dependent on environment variables.
Casting of SubImage to TSubImage<T>
template<typename T >
TSubImage< T > & tsubimage_cast (SubImage &subImg)
 The tsubimage_cast allows to cast a SubImage (pointer or reference) to a typed TSubImage<T> (pointer or reference).
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.
template<typename T >
mlMax (T a, T b)
 Defines ML specific max template since max template is platform dependent.
template<typename T >
mlAbs (T a)
 Defines ML specific abs template since only type depended library functions exists.
MLuint8 mlAbs (MLuint8 a)
 Implement mlAbs specializations to avoid comparison < 0 warnings on unsigned types.
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.
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.
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 scalar value.
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.
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.
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.
template<class T , size_t size, class DataContainer >
bool operator! (const FloatingPointVector< T, size, DataContainer > &a)
 Returns true if all components are 0, otherwise returns false.
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.
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.
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...
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.
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).
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.
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.
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 specialied rhs of type MLdouble.
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.
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.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
compAbs (FloatingPointVector< T, size, DataContainer > a)
 Return vector with all components from a without negative sign.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
compSqr (FloatingPointVector< T, size, DataContainer > a)
 Return vector with all components from a squared.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
compSqrt (FloatingPointVector< T, size, DataContainer > a)
 Return vector with all components from a square-rooted.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
compDiv (FloatingPointVector< T, size, DataContainer > a, const FloatingPointVector< T, size, DataContainer > &d)
 Component wise division of a / d.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
clampMin (FloatingPointVector< T, size, DataContainer > a, const FloatingPointVector< T, size, DataContainer > &m)
 Return new vector with all components from a clamped to minimum m.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
clampMax (FloatingPointVector< T, size, DataContainer > a, const FloatingPointVector< T, size, DataContainer > &m)
 Return new vector with all components from a clamped to maximum m.
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size,
DataContainer > 
clamp (FloatingPointVector< T, size, DataContainer > a, const FloatingPointVector< T, size, DataContainer > &lower, const FloatingPointVector< T, size, DataContainer > &upper)
 Return new vector with all components from a clamped to range [lower, upper].
template<class T , size_t size, class DataContainer >
compMul (const FloatingPointVector< T, size, DataContainer > &a)
 Return product of all components.
Functions and operators for class Tmat2.
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.
template<class DT >
bool operator!= (const Tmat2< DT > &a, const Tmat2< DT > &b)
 a != b ? Return true if yes.
Standalone functions and operators for class Tmat2.
template<class DT >
Tmat2< DT > operator- (const Tmat2< DT > &a)
 Returns matrix a with all values negated.
template<class DT >
Tmat2< DT > operator+ (const Tmat2< DT > &a, const Tmat2< DT > &b)
 Returns component wise sum of matrix a and matrix b.
template<class DT >
Tmat2< DT > operator- (const Tmat2< DT > &a, const Tmat2< DT > &b)
 Returns component wise difference of matrix a and matrix b.
template<class DT >
Tmat2< DT > operator* (const Tmat2< DT > &a, DT d)
 Returns the component wise multiplication of matrix a with scalar d.
template<class DT >
Tmat2< DT > operator* (const DT d, const Tmat2< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
template<class DT >
Tmat2< DT > operator/ (const Tmat2< DT > &a, const DT d)
 Return the component wise division of matrix a by scalar d.
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.
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.
Global operators and functions of class Tmat3.
template<class DT >
Tmat3< DT > operator- (const Tmat3< DT > &a)
 Returns matrix a with all values negated.
template<class DT >
Tmat3< DT > operator+ (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns component wise sum of matrix a and matrix b.
template<class DT >
Tmat3< DT > operator- (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns component wise difference of matrix a and matrix b.
template<class DT >
Tmat3< DT > operator* (const Tmat3< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d.
template<class DT >
Tmat3< DT > operator* (const DT d, const Tmat3< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
template<class DT >
Tmat3< DT > operator/ (const Tmat3< DT > &a, const DT d)
 Return the component wise division of matrix a by scalar d.
Special Functions
template<class DT >
Tmat3< DT > operator* (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Matrix 3 product.
template<class DT >
bool operator== (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a == b ? Return true if yes, otherwise false.
template<class DT >
bool operator!= (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a != b ? Return true if yes, otherwise false.
template<class DT >
Tmat3< DT > identity2D ()
 Returns a 3x3 homogeneous identity2D matrix; synonym for Tmat3<DT>::getIdentity().
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 colum.
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.
template<class DT >
Tmat3< DT > scaling2D (const Tvec2< DT > &scaleVector)
 Returns a 2D scale matrix as 3D homogeneous matrix.
template<class DT >
Tmat5< DT > operator* (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Matrix product.
template<class DT >
bool operator== (const Tmat5< DT > &a, const Tmat5< DT > &b)
 a == b ? Return true if yes, otherwise false.
template<class DT >
bool operator!= (const Tmat5< DT > &a, const Tmat5< DT > &b)
 a != b ? Return true if yes, otherwise false.
template<class DT >
Tmat6< DT > operator* (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Matrix product.
template<class DT >
bool operator== (const Tmat6< DT > &a, const Tmat6< DT > &b)
 a == b ? Return true if yes, otherwise false.
template<class DT >
bool operator!= (const Tmat6< DT > &a, const Tmat6< DT > &b)
 a != b ? Return true if yes, otherwise false.
template<class DT >
Tvec6< DT > operator* (const Tmat6< DT > &a, const Tvec6< DT > &v)
 Multiplies 6x6 matrix a with vector v.
template<class DT >
Tvec6< DT > operator* (const Tvec6< DT > &v, const Tmat6< DT > &a)
 Multiplies vector v with 6x6 matrix a.
Functions and operators for class Tmat4.
template<class DT >
Tmat4< DT > operator* (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a * b. Standard matrix multiplication.
template<class DT >
bool operator== (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a == b ? Return true if yes.
template<class DT >
bool operator!= (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a != b ? Return true if yes.
Global functions and operators for class Tmat4.
template<class DT >
Tmat4< DT > operator- (const Tmat4< DT > &a)
 Returns matrix a with all values negated.
template<class DT >
Tmat4< DT > operator+ (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns component wise sum of matrix a and matrix b.
template<class DT >
Tmat4< DT > operator- (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns component wise difference of matrix a and matrix b.
template<class DT >
Tmat4< DT > operator* (const Tmat4< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d.
template<class DT >
Tmat4< DT > operator* (const DT d, const Tmat4< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
template<class DT >
Tmat4< DT > operator/ (const Tmat4< DT > &a, const DT d)
 Return the component wise division of matrix a by scalar d.
Tmat4<DT> member functions
template<class DT >
Tmat4< DT > identity3D ()
 Returns a 4x4 homogeneous identity3D matrix; synonym for Tmat4<DT>::getIdentity().
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.
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.
template<class DT >
Tmat4< DT > scaling3D (const Tvec3< DT > &scaleVector)
 Scaling 3D.
template<class DT >
Tmat4< DT > perspective3D (const DT d)
 Create a 4x4 homogeneous perspective projection matrix with perspective shortening value given by d which must differ from zero to avoid errors.
Standalone operators of class Tmat5.
template<class DT >
Tmat5< DT > operator- (const Tmat5< DT > &a)
 Returns matrix a with all values negated.
template<class DT >
Tmat5< DT > operator+ (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Returns component wise sum of matrix a and matrix b.
template<class DT >
Tmat5< DT > operator- (const Tmat5< DT > &a, const Tmat5< DT > &b)
 Returns component wise difference of matrix a and matrix b.
template<class DT >
Tmat5< DT > operator* (const Tmat5< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d.
template<class DT >
Tmat5< DT > operator* (const DT d, const Tmat5< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
template<class DT >
Tmat5< DT > operator/ (const Tmat5< DT > &a, const DT d)
 Return the component wise division of matrix a by scalar d.
Standalone operators of class Tmat6.
template<class DT >
Tmat6< DT > operator- (const Tmat6< DT > &a)
 Returns matrix a with all values negated.
template<class DT >
Tmat6< DT > operator+ (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Returns component wise sum of matrix a and matrix b.
template<class DT >
Tmat6< DT > operator- (const Tmat6< DT > &a, const Tmat6< DT > &b)
 Returns component wise difference of matrix a and matrix b.
template<class DT >
Tmat6< DT > operator* (const Tmat6< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d.
template<class DT >
Tmat6< DT > operator* (const DT d, const Tmat6< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
template<class DT >
Tmat6< DT > operator/ (const Tmat6< DT > &a, const DT d)
 Return the component wise division of matrix a by scalar d.

Variables

ML_LINEAR_ALGEBRA_EXPORT
typedef TImageVector< MLint
ImageVector
 Defines the standard ImageVector type which is used by the ML for indexing and coordinates.
const MLint _ML_STD_SLEN = 64
 Length of strings for component descriptions and class names.
ML_UTILS_EXPORT ErrorOutput MLErrorOutput
 This is a singleton used for all ML Error input and output;.
ML_UTILS_EXPORT Notify MLNotify
 Singleton which contains all registered callback functions of the ML.
ML_UTILS_EXPORT TraceBuffer
< MLGlobalTraceBufferType
MLGlobalTraceBuffer
 This is a global singleton of the TraceBuffer class.
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.
const int MLVariableType1 = _ML_SWITCH_SELECT_OFFSET+1
 Defines to use the result type of variable type 1.
const int MLVariableType2 = _ML_SWITCH_SELECT_OFFSET+2
 Defines to use the result type of variable type 2.
const int MLVariableType3 = _ML_SWITCH_SELECT_OFFSET+3
 Defines to use the result type of variable type 3.
const int MLGenericType = _ML_SWITCH_SELECT_OFFSET+10
 Defines special index to use a generic type.

Deprecated

typedef Vector2Field Vec2fField
typedef Vector3Field Vec3fField
typedef Vector4Field Vec4fField
typedef Vector5Field Vec5fField
typedef Vector6Field Vec6fField
typedef Vector10Field Vec10fField
typedef Matrix2Field Mat2Field
typedef Matrix3Field Mat3Field
typedef Matrix4Field Mat4Field
typedef Matrix5Field Mat5Field
typedef Matrix6Field Mat6Field
typedef ImageVectorField VectorField
typedef SubImageBoxField SubImgBoxField
typedef SubImageBoxdField SubImgBoxfField
 Use SubImageBoxdField instead of SubImgBoxfField.
typedef InputSubImageProperties InSubImageProperties
typedef MemoryImage MemoryImg
typedef ModuleTools BaseOpTools
typedef PagedImage PagedImg
typedef SubImage SubImg
typedef TSubImageBox< MLint16SubImgBox16
typedef TSubImageBox< MLint32SubImgBox32
typedef TSubImageBox< MLint64SubImgBox64
typedef SubImageBox SubImgBox
typedef SubImageBoxd SubImgBoxf
typedef Tmat2< MLfloatmatf2
 A floating point 2x2 matrix.
typedef Tmat2< MLdoublematd2
 A double 2x2 matrix.
typedef Tmat2< MLldoublematld2
 A long double double 2x2 matrix.
typedef Tmat2< MLdoublemat2
 Define the standard mat2 type, using double.
typedef Tmat3< MLfloatmatf3
 A floating point 3x3 matrix.
typedef Tmat3< MLdoublematd3
 A double 3x3 matrix.
typedef Tmat3< MLldoublematld3
 A long double double 3x3 matrix.
typedef Tmat3< MLdoublemat3
 Define the standard mat3 type, using double.
typedef Tmat4< MLfloatmatf4
 A floating point 4x4 matrix.
typedef Tmat4< MLdoublematd4
 A double 4x4 matrix.
typedef Tmat4< MLldoublematld4
 A long double double 4x4 matrix.
typedef Tmat4< MLdoublemat4
 Define the standard mat4 type, using double.
typedef Tmat5< MLfloatmatf5
 A floating point 5x5 matrix.
typedef Tmat5< MLdoublematd5
 A double 5x5 matrix.
typedef Tmat5< MLldoublematld5
 A long double double 5x5 matrix.
typedef Tmat5< MLdoublemat5
 Define the standard mat5 type, using double.
typedef Tmat6< MLfloatmatf6
 A floating point 6x6 matrix.
typedef Tmat6< MLdoublematd6
 A double 6x6 matrix.
typedef Tmat6< MLldoublematld6
 A long double double 6x6 matrix.
typedef Tmat6< MLdoublemat6
 Define the standard mat6 type, using double.
typedef Tvec10< MLfloatvecf10
typedef Tvec10< MLdoublevecd10
typedef Tvec10< MLldoublevecld10
typedef Tvec10< MLdoublevec10
typedef Tvec16< MLfloatvecf16
typedef Tvec16< MLdoublevecd16
typedef Tvec16< MLldoublevecld16
typedef Tvec16< MLdoublevec16
typedef Tvec2< MLfloatvecf2
typedef Tvec2< MLdoublevecd2
typedef Tvec2< MLldoublevecld2
typedef Tvec2< MLdoublevec2
typedef Tvec3< MLfloatvecf3
typedef Tvec3< MLdoublevecd3
typedef Tvec3< MLldoublevecld3
typedef Tvec3< MLdoublevec3
typedef Tvec32< MLfloatvecf32
typedef Tvec32< MLdoublevecd32
typedef Tvec32< MLldoublevecld32
typedef Tvec32< MLdoublevec32
typedef Tvec4< MLfloatvecf4
typedef Tvec4< MLdoublevecd4
typedef Tvec4< MLldoublevecld4
typedef Tvec4< MLdoublevec4
typedef Tvec5< MLfloatvecf5
typedef Tvec5< MLdoublevecd5
typedef Tvec5< MLldoublevecld5
typedef Tvec5< MLdoublevec5
typedef Tvec6< MLfloatvecf6
typedef Tvec6< MLdoublevecd6
typedef Tvec6< MLldoublevecld6
typedef Tvec6< MLdoublevec6
typedef Tvec64< MLfloatvecf64
typedef Tvec64< MLdoublevecd64
typedef Tvec64< MLldoublevecld64
typedef Tvec64< MLdoublevec64
typedef Tvec7< MLfloatvecf7
typedef Tvec7< MLdoublevecd7
typedef Tvec7< MLldoublevecld7
typedef Tvec7< MLdoublevec7
typedef Tvec8< MLfloatvecf8
typedef Tvec8< MLdoublevecd8
typedef Tvec8< MLldoublevecld8
typedef Tvec8< MLdoublevec8
typedef Tvec9< MLfloatvecf9
typedef Tvec9< MLdoublevecd9
typedef Tvec9< MLldoublevecld9
typedef Tvec9< MLdoublevec9
ML_LINEAR_ALGEBRA_EXPORT
typedef ImageVector 
Vector

Detailed Description

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

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.


Typedef Documentation

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

Definition at line 20 of file mlEventSource.h.

Deprecated:
Use ModuleTools instead of BaseOpTools.

Definition at line 91 of file mlModuleTools.h.

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

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

Definition at line 29 of file mlModuleInterfaces.h.

Define the STL container type of ImagePropertyExtension objects.

Definition at line 89 of file mlImagePropertyExtension.h.

Deprecated:
Use InputSubImageProperties instead of InSubImageProperties.

Definition at line 71 of file mlInputSubImageProperties.h.

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

Defines a lock for locking a non-recursive mutex.

Definition at line 38 of file mlMutex.h.

Define the standard mat2 type, using double.

Deprecated:
Use Matrix2 instead.

Definition at line 640 of file mlMatrix2.h.

Deprecated:
Use Matrix2Field instead of Mat2Field.

Definition at line 1843 of file mlFields.h.

Define the standard mat3 type, using double.

Deprecated:
Use Matrix3 instead.

Definition at line 853 of file mlMatrix3.h.

Deprecated:
Use Matrix3Field instead of Mat3Field.

Definition at line 1921 of file mlFields.h.

Define the standard mat4 type, using double.

Deprecated:
Use Matrix4 instead.

Definition at line 847 of file mlMatrix4.h.

Deprecated:
Use Matrix4Field instead of Mat4Field.

Definition at line 2042 of file mlFields.h.

Define the standard mat5 type, using double.

Deprecated:
Use Matrix5 instead.

Definition at line 833 of file mlMatrix5.h.

Deprecated:
Use Matrix5Field instead of Mat5Field.

Definition at line 2121 of file mlFields.h.

Define the standard mat6 type, using double.

Deprecated:
Use Matrix6 instead.

Definition at line 781 of file mlMatrix6.h.

Deprecated:
Use Matrix6Field instead of Mat6Field.

Definition at line 2201 of file mlFields.h.

A double 2x2 matrix.

Deprecated:
Use Matrix2d instead.

Definition at line 632 of file mlMatrix2.h.

A double 3x3 matrix.

Deprecated:
Use Matrix3d instead.

Definition at line 845 of file mlMatrix3.h.

A double 4x4 matrix.

Deprecated:
Use Matrix4d instead.

Definition at line 839 of file mlMatrix4.h.

A double 5x5 matrix.

Deprecated:
Use Matrix5d instead.

Definition at line 825 of file mlMatrix5.h.

A double 6x6 matrix.

Deprecated:
Use Matrix6d instead.

Definition at line 773 of file mlMatrix6.h.

A floating point 2x2 matrix.

Deprecated:
Use Matrix2f instead.

Definition at line 628 of file mlMatrix2.h.

A floating point 3x3 matrix.

Deprecated:
Use Matrix3f instead.

Definition at line 841 of file mlMatrix3.h.

A floating point 4x4 matrix.

Deprecated:
Use Matrix4f instead.

Definition at line 835 of file mlMatrix4.h.

A floating point 5x5 matrix.

Deprecated:
Use Matrix5f instead.

Definition at line 821 of file mlMatrix5.h.

A floating point 6x6 matrix.

Deprecated:
Use Matrix6f instead.

Definition at line 769 of file mlMatrix6.h.

A long double double 2x2 matrix.

Deprecated:
Use Matrix2ld instead.

Definition at line 636 of file mlMatrix2.h.

A long double double 3x3 matrix.

Deprecated:
Use Matrix3ld instead.

Definition at line 849 of file mlMatrix3.h.

A long double double 4x4 matrix.

Deprecated:
Use Matrix4ld instead.

Definition at line 843 of file mlMatrix4.h.

A long double double 5x5 matrix.

Deprecated:
Use Matrix5ld instead.

Definition at line 829 of file mlMatrix5.h.

A long double double 6x6 matrix.

Deprecated:
Use Matrix6ld instead.

Definition at line 777 of file mlMatrix6.h.

The standard 2x2 matrix of type double.

Definition at line 616 of file mlMatrix2.h.

A 2x2 matrix of type double.

Definition at line 612 of file mlMatrix2.h.

A 2x2 matrix of type float.

Definition at line 610 of file mlMatrix2.h.

A 2x2 matrix of type long double.

Definition at line 614 of file mlMatrix2.h.

The standard 3x3 matrix of type double.

Definition at line 829 of file mlMatrix3.h.

A 3x3 matrix of type double.

Definition at line 825 of file mlMatrix3.h.

A 3x3 matrix of type float.

Definition at line 823 of file mlMatrix3.h.

A 3x3 matrix of type long double.

Definition at line 827 of file mlMatrix3.h.

The standard 4x4 matrix of type double.

Definition at line 823 of file mlMatrix4.h.

A 4x4 matrix of type double.

Definition at line 819 of file mlMatrix4.h.

A 4x4 matrix of type float.

Definition at line 817 of file mlMatrix4.h.

A 4x4 matrix of type long double.

Definition at line 821 of file mlMatrix4.h.

The standard 5x5 matrix of type double.

Definition at line 809 of file mlMatrix5.h.

A 5x5 matrix of type double.

Definition at line 805 of file mlMatrix5.h.

A 5x5 matrix of type float.

Definition at line 803 of file mlMatrix5.h.

A 5x5 matrix of type long double.

Definition at line 807 of file mlMatrix5.h.

The standard 6x6 matrix of type double.

Definition at line 757 of file mlMatrix6.h.

A 6x6 matrix of type double.

Definition at line 753 of file mlMatrix6.h.

A 6x6 matrix of type float.

Definition at line 751 of file mlMatrix6.h.

A 6x6 matrix of type long double.

Definition at line 755 of file mlMatrix6.h.

typedef MemoryImage ml::MemoryImg
Deprecated:
Use MemoryImage instead of MemoryImg.

Definition at line 246 of file mlMemoryImage.h.

The type used in the MLGlobalTraceBuffer.

Definition at line 236 of file mlTrace.h.

typedef PagedImage ml::PagedImg
Deprecated:
Use PagedImage instead of PagedImg.

Definition at line 734 of file mlPagedImage.h.

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

Definition at line 1051 of file mlQuaternion.h.

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

Definition at line 1045 of file mlQuaternion.h.

A smaller Quaternion type as specialization from TQuaternion.

Definition at line 1042 of file mlQuaternion.h.

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

Definition at line 1048 of file mlQuaternion.h.

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

Defines a lock for locking a recursive mutex.

Definition at line 31 of file mlMutex.h.

Double version of TScaleShiftData for maximum reasonable precision.

Definition at line 337 of file mlScaleShiftData.h.

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

Definition at line 303 of file mlSubImageBox.h.

Deprecated:
Use SubImage instead of SubImg.

Definition at line 820 of file mlSubImage.h.

Deprecated:
Use SubImageBox instead.

Definition at line 322 of file mlSubImageBox.h.

Deprecated:
Use TSubImageBox<MLint16> directly instead.

Definition at line 310 of file mlSubImageBox.h.

Deprecated:
Use TSubImageBox<MLint32> directly instead.

Definition at line 314 of file mlSubImageBox.h.

Deprecated:
Use TSubImageBox<MLint64> directly instead.

Definition at line 318 of file mlSubImageBox.h.

Deprecated:
Use SubImageBoxd instead of SubImgBoxf.

Definition at line 202 of file mlSubImageBoxd.h.

Use SubImageBoxdField instead of SubImgBoxfField.

Definition at line 2539 of file mlFields.h.

Deprecated:
Use SubImageBoxField instead of SubImgBoxField.

Definition at line 2442 of file mlFields.h.

typedef boost::thread ml::Thread

Definition at line 23 of file mlThread.h.

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

Callback for a finished TileRequest.

Definition at line 29 of file mlTileRequest.h.

Deprecated:
Use Vector10 instead.

Definition at line 134 of file mlVector10.h.

Deprecated:
Use Vector10Field instead of Vec10fField.

Definition at line 1710 of file mlFields.h.

Deprecated:
Use Vector16 instead.

Definition at line 141 of file mlVector16.h.

Deprecated:
Use Vector2 instead.

Definition at line 194 of file mlVector2.h.

Deprecated:
Use Vector2Field instead of Vec2fField.

Definition at line 1253 of file mlFields.h.

Deprecated:
Use Vector3 instead.

Definition at line 359 of file mlVector3.h.

Deprecated:
Use Vector32 instead.

Definition at line 165 of file mlVector32.h.

Deprecated:
Use Vector3Field instead of Vec3fField.

Definition at line 1350 of file mlFields.h.

Deprecated:
Use Vector4 instead.

Definition at line 208 of file mlVector4.h.

Deprecated:
Use Vector4Field instead of Vec4fField.

Definition at line 1448 of file mlFields.h.

Deprecated:
Use Vector5 instead.

Definition at line 268 of file mlVector5.h.

Deprecated:
Use Vector5Field instead of Vec5Field.

Definition at line 1530 of file mlFields.h.

Deprecated:
Use Vector6 instead.

Definition at line 247 of file mlVector6.h.

Deprecated:
Use Vector64 instead.

Definition at line 190 of file mlVector64.h.

Deprecated:
Use Vector6Field instead of Vec6fField.

Definition at line 1629 of file mlFields.h.

Deprecated:
Use Vector7 instead.

Definition at line 129 of file mlVector7.h.

Deprecated:
Use Vector8 instead.

Definition at line 130 of file mlVector8.h.

Deprecated:
Use Vector9 instead.

Definition at line 133 of file mlVector9.h.

Deprecated:
Use Vector10d instead.

Definition at line 128 of file mlVector10.h.

Deprecated:
Use Vector16d instead.

Definition at line 135 of file mlVector16.h.

Deprecated:
Use Vector2d instead.

Definition at line 188 of file mlVector2.h.

Deprecated:
Use Vector3d instead.

Definition at line 353 of file mlVector3.h.

Deprecated:
Use Vector32d instead.

Definition at line 159 of file mlVector32.h.

Deprecated:
Use Vector4d instead.

Definition at line 202 of file mlVector4.h.

Deprecated:
Use Vector5d instead.

Definition at line 262 of file mlVector5.h.

Deprecated:
Use Vector6d instead.

Definition at line 241 of file mlVector6.h.

Deprecated:
Use Vector64d instead.

Definition at line 184 of file mlVector64.h.

Deprecated:
Use Vector7d instead.

Definition at line 123 of file mlVector7.h.

Deprecated:
Use Vector8d instead.

Definition at line 124 of file mlVector8.h.

Deprecated:
Use Vector9d instead.

Definition at line 127 of file mlVector9.h.

Deprecated:
Use Vector10f instead.

Definition at line 125 of file mlVector10.h.

Deprecated:
Use Vector16f instead.

Definition at line 132 of file mlVector16.h.

Deprecated:
Use Vector2f instead.

Definition at line 185 of file mlVector2.h.

Deprecated:
Use Vector3f instead.

Definition at line 350 of file mlVector3.h.

Deprecated:
Use Vector32f instead.

Definition at line 156 of file mlVector32.h.

Deprecated:
Use Vector4f instead.

Definition at line 199 of file mlVector4.h.

Deprecated:
Use Vector5f instead.

Definition at line 259 of file mlVector5.h.

Deprecated:
Use Vector6f instead.

Definition at line 238 of file mlVector6.h.

Deprecated:
Use Vector64f instead.

Definition at line 181 of file mlVector64.h.

Deprecated:
Use Vector7f instead.

Definition at line 120 of file mlVector7.h.

Deprecated:
Use Vector8f instead.

Definition at line 121 of file mlVector8.h.

Deprecated:
Use Vector9f instead.

Definition at line 124 of file mlVector9.h.

Deprecated:
Use Vector10ld instead.

Definition at line 131 of file mlVector10.h.

Deprecated:
Use Vector16ld instead.

Definition at line 138 of file mlVector16.h.

Deprecated:
Use Vector2ld instead.

Definition at line 191 of file mlVector2.h.

Deprecated:
Use Vector3ld instead.

Definition at line 356 of file mlVector3.h.

Deprecated:
Use Vector32ld instead.

Definition at line 162 of file mlVector32.h.

Deprecated:
Use Vector4ld instead.

Definition at line 205 of file mlVector4.h.

Deprecated:
Use Vector5ld instead.

Definition at line 265 of file mlVector5.h.

Deprecated:
Use Vector6ld instead.

Definition at line 244 of file mlVector6.h.

Deprecated:
Use Vector64ld instead.

Definition at line 187 of file mlVector64.h.

Deprecated:
Use Vector7ld instead.

Definition at line 126 of file mlVector7.h.

Deprecated:
Use Vector8ld instead.

Definition at line 127 of file mlVector8.h.

Deprecated:
Use Vector9ld instead.

Definition at line 130 of file mlVector9.h.

A vector with 10 components of type double.

Definition at line 116 of file mlVector10.h.

A vector with 10 components of type double.

Definition at line 112 of file mlVector10.h.

A vector with 10 components of type float.

Definition at line 110 of file mlVector10.h.

A vector with 10 components of type long double.

Definition at line 114 of file mlVector10.h.

A vector with 16 components of type double.

Definition at line 123 of file mlVector16.h.

A vector with 16 components of type double.

Definition at line 119 of file mlVector16.h.

A vector with 16 components of type float.

Definition at line 117 of file mlVector16.h.

A vector with 16 components of type long double.

Definition at line 121 of file mlVector16.h.

A vector with 2 components of type double.

Definition at line 176 of file mlVector2.h.

A vector with 2 components of type double.

Definition at line 172 of file mlVector2.h.

A vector with 2 components of type float.

Definition at line 170 of file mlVector2.h.

A vector with 2 components of type long double.

Definition at line 174 of file mlVector2.h.

A vector with 3 components of type double.

Definition at line 341 of file mlVector3.h.

A vector with 32 components of type double.

Definition at line 147 of file mlVector32.h.

A vector with 32 components of type double.

Definition at line 143 of file mlVector32.h.

A vector with 32 components of type float.

Definition at line 141 of file mlVector32.h.

A vector with 32 components of type long double.

Definition at line 145 of file mlVector32.h.

A vector with 3 components of type double.

Definition at line 337 of file mlVector3.h.

A vector with 3 components of type float.

Definition at line 335 of file mlVector3.h.

A vector with 3 components of type long double.

Definition at line 339 of file mlVector3.h.

A vector with 4 components of type double.

Definition at line 190 of file mlVector4.h.

A vector with 4 components of type double.

Definition at line 186 of file mlVector4.h.

A vector with 4 components of type float.

Definition at line 184 of file mlVector4.h.

A vector with 4 components of type long double.

Definition at line 188 of file mlVector4.h.

A vector with 5 components of type double.

Definition at line 250 of file mlVector5.h.

A vector with 5 components of type double.

Definition at line 246 of file mlVector5.h.

A vector with 5 components of type float.

Definition at line 244 of file mlVector5.h.

A vector with 5 components of type long double.

Definition at line 248 of file mlVector5.h.

A vector with 6 components of type double.

Definition at line 229 of file mlVector6.h.

A vector with 64 components of type double.

Definition at line 172 of file mlVector64.h.

A vector with 64 components of type double.

Definition at line 168 of file mlVector64.h.

A vector with 64 components of type float.

Definition at line 166 of file mlVector64.h.

A vector with 64 components of type long double.

Definition at line 170 of file mlVector64.h.

A vector with 6 components of type double.

Definition at line 225 of file mlVector6.h.

A vector with 6 components of type float.

Definition at line 223 of file mlVector6.h.

A vector with 6 components of type long double.

Definition at line 227 of file mlVector6.h.

A vector with 7 components of type double.

Definition at line 111 of file mlVector7.h.

A vector with 7 components of type double.

Definition at line 107 of file mlVector7.h.

A vector with 7 components of type float.

Definition at line 105 of file mlVector7.h.

A vector with 7 components of type long double.

Definition at line 109 of file mlVector7.h.

A vector with 8 components of type double.

Definition at line 112 of file mlVector8.h.

A vector with 8 components of type double.

Definition at line 108 of file mlVector8.h.

A vector with 8 components of type float.

Definition at line 106 of file mlVector8.h.

A vector with 8 components of type long double.

Definition at line 110 of file mlVector8.h.

A vector with 9 components of type double.

Definition at line 115 of file mlVector9.h.

A vector with 9 components of type double.

Definition at line 111 of file mlVector9.h.

A vector with 9 components of type float.

Definition at line 109 of file mlVector9.h.

A vector with 9 components of type long double.

Definition at line 113 of file mlVector9.h.

typedef int ml::VectorDimIdxType

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

Definition at line 24 of file mlIntegerVector.h.

Deprecated:
Use ImageVectorField instead of VectorField.

Definition at line 2351 of file mlFields.h.


Enumeration Type Documentation

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_ReadingVec2 
TNE_ReadingVec3 
TNE_ReadingVec4 
TNE_ReadingVec6 
TNE_ReadingVector 
TNE_ReadingMat3 
TNE_ReadingMat4 
TNE_ReadingSubImgBox 
TNE_ReadingSubImgBoxf 
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 47 of file mlTreeNode.h.

anonymous enum

The default dimension of images in the ML.

Enumerator:
MLMaxImageDimension 

Definition at line 26 of file mlImageVector.h.

anonymous enum
Enumerator:
ML_INTEGER_TYPE 
ML_FLOAT_TYPE 
ML_SIGNED_TYPE 

Definition at line 82 of file mlTypeTraits.h.


Function Documentation

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

Definition at line 117 of file mlTypeDefTraits.h.

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

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

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

Definition at line 578 of file mlFloatingPointVector.h.

References ml::FloatingPointVector< T, size, DataContainer >::clampMax(), and ml::FloatingPointVector< T, size, DataContainer >::clampMin().

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

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

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

Definition at line 563 of file mlFloatingPointVector.h.

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

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

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

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

Definition at line 550 of file mlFloatingPointVector.h.

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

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compAbs ( FloatingPointVector< T, size, DataContainer >  a) [inline]

Return vector with all components from a without negative sign.

Definition at line 502 of file mlFloatingPointVector.h.

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

Referenced by ml::TVector< TVector6DBase< MLint > >::compAbs().

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

Component wise division of a / d.

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

Definition at line 537 of file mlFloatingPointVector.h.

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

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]
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]
template<class T , size_t size, class DataContainer >
T compMul ( const FloatingPointVector< T, size, DataContainer > &  a) [inline]
template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqr ( FloatingPointVector< T, size, DataContainer >  a) [inline]

Return vector with all components from a squared.

Definition at line 513 of file mlFloatingPointVector.h.

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

template<class T , size_t size, class DataContainer >
FloatingPointVector< T, size, DataContainer > compSqrt ( FloatingPointVector< T, size, DataContainer >  a) [inline]

Return vector with all components from a square-rooted.

Definition at line 525 of file mlFloatingPointVector.h.

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

MLEXPORT void ml::destroyML ( )

Delete dynamic data structures allocated by initML.

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

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

Definition at line 595 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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

Definition at line 678 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

MLEXPORT MLint32 ml::initML ( )

Initializes the ML, the runtime type system, the memory manager, fields, static buffers, error and debug printings etc.

It also calls setMLEnvironment to adapt settings to environment variables.

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

Definition at line 58 of file mlRefCountedBase.h.

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

Definition at line 63 of file mlRefCountedBase.h.

class ml::ML_UNIX_ONLY_EXPORT ( MLEXPORT  )

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.

Creates cursor from a root PageRequest

Creates cursor from a root TileRequest

Creates empty cursor.

Initializes from a TileRequest.

Defines the current state of the cursor.

< Further work is available, re-call nextStep().

< The cursor has no more work to-do and may be removed.

< The cursor has more work but is blocked by a pending request (e.g., a pending memory image).

Implements an iterative tree traversal with automatic expanding of the tile and page requests. Page requests which are ready for processing are added to the queue. The return value signals if there is more work available from this cursor, if it has finished or if it is blocked (which can happen on MemoryImage calculations).

See Page/TileRequest.

See Page/TileRequest.

Returns if the cursor is still needed (which is the case when it points to either a PageRequest or TileRequest).

Clears the cursor, so that it points to no requests anymore.

This method steps up in the tree until it finds a request into which it has to decend in the next nextStep() call. It is important to move the internal cursor position as far up in the tree as possible, so that it does not point to requests that are going to be deleted.

The current PageRequest (or NULL)

The current TileRequest (or NULL)

The current traversal depth from the root of the cursor, for debugging purposes.

Definition at line 34 of file mlPageRequestCursor.h.

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

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

Definition at line 102 of file mlUtilsSystem.h.

MLuint8 ml::mlAbs ( MLuint8  a) [inline]

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

Definition at line 107 of file mlUtilsSystem.h.

MLuint16 ml::mlAbs ( MLuint16  a) [inline]

Definition at line 108 of file mlUtilsSystem.h.

MLuint32 ml::mlAbs ( MLuint32  a) [inline]

Definition at line 109 of file mlUtilsSystem.h.

MLuint64 ml::mlAbs ( MLuint64  a) [inline]

Definition at line 110 of file mlUtilsSystem.h.

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 104 of file mlArgumentList.h.

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 109 of file mlArgumentList.h.

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

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 114 of file mlArgumentList.h.

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

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 120 of file mlArgumentList.h.

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

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 
)
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 
)
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 89 of file mlArgumentList.h.

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 85 of file mlArgumentList.h.

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 94 of file mlArgumentList.h.

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 98 of file mlArgumentList.h.

ArgumentList0 ml::MLGenerateArgumentList ( ) [inline]

Creates argument list with 0 arguments.

Definition at line 76 of file mlArgumentList.h.

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

Create argument list with 1 argument.

Definition at line 80 of file mlArgumentList.h.

MLEXPORT void ml::MLInitFields ( )

Initialize all standard fields of the ML.

template<class BASE_TYPE >
BASE_TYPE ml::MLInverseMatHelper ( const BASE_TYPE &  origMat,
bool *  isInvertible,
const ML_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, ML_CATCH_RETHROW, ML_PRINT_ERROR, ML_TRACE_IN, ML_TRY, ML_TYPENAME, MLAbs(), MLSwap(), and MLValueIs0WOM().

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

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 99 of file mlUtilsSystem.h.

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 95 of file mlUtilsSystem.h.

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 31 of file mlLinearAlgebraTools.h.

References ML_TRACE_IN_TIME_CRITICAL.

Referenced by MLInverseMatHelper().

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

Returns true if all components are 0, otherwise returns false.

Definition at line 381 of file mlFloatingPointVector.h.

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

a != b ? Return true if yes.

Definition at line 509 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 577 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

a != b ? Return true if yes.

Definition at line 389 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 788 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 711 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Interpret 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 308 of file mlVector3.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat4< DT >::transpose().

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 275 of file mlVector3.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat3< DT >::transpose().

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 171 of file mlVector4.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat4< DT >::transpose().

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

Definition at line 486 of file mlMatrix2.h.

References _ML_MAT2_RC, and ML_TRACE_IN_TIME_CRITICAL.

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 551 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 560 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 586 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 596 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat2< DT >::transpose().

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 337 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 346 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 724 of file mlMatrix6.h.

References _ML_MAT6_RC, and ML_TRACE_IN_TIME_CRITICAL.

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

Matrix 3 product.

Definition at line 549 of file mlMatrix3.h.

References _ML_MAT3_RC, and ML_TRACE_IN_TIME_CRITICAL.

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

a * b. Standard matrix multiplication.

Definition at line 361 of file mlMatrix4.h.

References _ML_MAT4_RC, and ML_TRACE_IN_TIME_CRITICAL.

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 431 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 440 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 438 of file mlFloatingPointVector.h.

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

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 448 of file mlFloatingPointVector.h.

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 458 of file mlFloatingPointVector.h.

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

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

Definition at line 367 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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

Definition at line 376 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Matrix product.

Definition at line 752 of file mlMatrix5.h.

References _ML_MAT5_RC, and ML_TRACE_IN.

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 261 of file mlVector3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Interpret 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 291 of file mlVector3.h.

References ml::Tvec3< DT >::affinePoint(), and ML_TRACE_IN_TIME_CRITICAL.

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

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

Definition at line 365 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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

Definition at line 374 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 231 of file mlVector5.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat5< DT >::transpose().

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

Matrix product.

Definition at line 677 of file mlMatrix6.h.

References _ML_MAT6_RC, and ML_TRACE_IN_TIME_CRITICAL.

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 159 of file mlVector4.h.

References _ML_VEC4_RC, and ML_TRACE_IN_TIME_CRITICAL.

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 219 of file mlVector5.h.

References _ML_VEC5_RC, and ML_TRACE_IN_TIME_CRITICAL.

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 736 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL, and ml::Tmat6< DT >::transpose().

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 340 of file mlFloatingPointVector.h.

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 scalar value.

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

Definition at line 329 of file mlFloatingPointVector.h.

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

Returns component wise sum of matrix a and matrix b.

Definition at line 533 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise sum of matrix a and matrix b.

Definition at line 319 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 393 of file mlFloatingPointVector.h.

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

Returns component wise sum of matrix a and matrix b.

Definition at line 413 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 415 of file mlFloatingPointVector.h.

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

Returns component wise sum of matrix a and matrix b.

Definition at line 349 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise sum of matrix a and matrix b.

Definition at line 347 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 296 of file mlFloatingPointVector.h.

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

Returns matrix a with all values negated.

Definition at line 404 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise difference of matrix a and matrix b.

Definition at line 422 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns matrix a with all values negated.

Definition at line 524 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise difference of matrix a and matrix b.

Definition at line 542 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns matrix a with all values negated.

Definition at line 338 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns matrix a with all values negated.

Definition at line 310 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise difference of matrix a and matrix b.

Definition at line 328 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise difference of matrix a and matrix b.

Definition at line 358 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 404 of file mlFloatingPointVector.h.

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 426 of file mlFloatingPointVector.h.

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

Returns matrix a with all values negated.

Definition at line 340 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

Returns component wise difference of matrix a and matrix b.

Definition at line 356 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 307 of file mlFloatingPointVector.h.

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

Return 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 450 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 specialied rhs of type MLdouble.

Definition at line 468 of file mlFloatingPointVector.h.

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

Return 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 356 of file mlMatrix3.h.

References ML_CATCH_RETHROW, ML_TRACE_IN_TIME_CRITICAL, and ML_TRY.

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

Return 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 570 of file mlMatrix2.h.

References ML_CATCH_RETHROW, ML_TRACE_IN_TIME_CRITICAL, and ML_TRY.

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

Return 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 384 of file mlMatrix6.h.

References ML_CATCH_RETHROW, ML_CHECK_FLOAT_THROW, ML_TRACE_IN, and ML_TRY.

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

Return 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 386 of file mlMatrix5.h.

References ML_CATCH_RETHROW, ML_CHECK_FLOAT_THROW, ML_TRACE_IN, and ML_TRY.

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 352 of file mlFloatingPointVector.h.

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 367 of file mlFloatingPointVector.h.

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 564 of file mlMatrix3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 695 of file mlMatrix6.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

a == b ? Return true if yes.

Definition at line 377 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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 773 of file mlMatrix5.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

a == b ? Return true if yes.

Definition at line 499 of file mlMatrix2.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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

Return a vector orthogonal to a and b.

Definition at line 321 of file mlVector3.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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

Definition at line 757 of file mlMatrix4.h.

References ML_CATCH_RETHROW, ML_CHECK_FLOAT_THROW, ML_TRACE_IN, and ML_TRY.

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 621 of file mlMatrix3.h.

References ML_TRACE_IN.

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 707 of file mlMatrix4.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, ML_TRY, and ml::FloatingPointVector< DT, 3, Vector3DataContainer< DT > >::normalize().

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

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

Definition at line 638 of file mlMatrix3.h.

References ML_TRACE_IN.

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

Scaling 3D.

Definition at line 741 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

MLEXPORT void ml::setMLEnvironment ( )

Set ML state dependent on environment variables.

It is called indirectly from initML().

The following environment variables are supported by the ML:

  • ML_NUM_THREADS Maximum number of permitted threads; 0,1=Multithreading off, defaults to number of real + virtual cpus (for example hyperthreading cpus) if environment variable is not set.
  • ML_USE_EXCEPTIONS If not zero or undefined then the ML tries to catch all exceptions. If defined and zero then the ML crashes on errors (useful for debugging purposes). This value has no effect in release mode; there the ML tries to catch all exceptions even if this flag is off. Default=1.
  • ML_DEBUG_ON and ML_DEBUG_ALL control the output of debug information. See mlDebug.h for more information.
  • ML_ERROR_PRINT_LEVEL Bit 0: Warnings are printed if this bit is set. Typical cases are e.g., if ML settings cause degrades of performance or the ML changes user defined settings for some reasons (e.g., because settings are not consistent or permitted).

Bit 1: If activated, then normal errors are printed. Typical error cases are out of memory cases which can recovered automatically by the ML or when the user sets forbidden or out of range parameters. Errors of this types usually do not cause direct failures so the ml can continue working. But they might have indirect consequences which might also cause abnormal behavior or fatal errors later. So finish working with the ML and remove this error as soon as possible! IT IS STRONGLY RECOMMENDED NOT TO DISABLE THIS ERROR PRINTING, EVEN IF IT'S POSSIBLE!

Bit 2: If set then fatal errors are printed. Errors of this type must not occur because the state of the ML directly becomes undefined. NOTE: The ML does not terminate anyway to permit at least some disaster recovery by the user (saving scripts etc.) The most typical case is when the ML runs completely of of memory. IT IS STRONGLY RECOMMENDED NOT TO DISABLE THIS ERROR PRINTING, EVEN IF IT'S POSSIBLE!

Default is 6 (Bit 1 and 2), i.e., only errors and fatal errors are printed. NOTE: If ML_DEBUG_ON is not zero then warning, error and fatal error printing is automatically activated!

  • If ML_MONITOR_CACHE is not 0 then the memory cache is printed often in the shell. Levels 1, 2 and 3 give more and more information.
  • ML_CACHE_SIZE_IN_KB defines the size of the memory cache in kilobytes.
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 colum.

Definition at line 607 of file mlMatrix3.h.

References ML_TRACE_IN.

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 691 of file mlMatrix4.h.

References ML_TRACE_IN_TIME_CRITICAL.

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

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);

Definition at line 1595 of file mlTSubImage.h.

References ml::SubImage::getData(), ml::SubImage::getDataType(), ML_BAD_DATA_TYPE, and ML_PRINT_FATAL_ERROR.

Referenced by tsubimg_cast().

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

Definition at line 1664 of file mlTSubImage.h.

References tsubimage_cast().

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

Definition at line 1649 of file mlTSubImage.h.

References tsubimage_cast().

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

Definition at line 1654 of file mlTSubImage.h.

References tsubimage_cast().

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

Definition at line 1659 of file mlTSubImage.h.

References tsubimage_cast().

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 24 of file mlStdAlgorithms.h.

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 30 of file mlStdAlgorithms.h.

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 42 of file mlStdAlgorithms.h.

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 55 of file mlStdAlgorithms.h.


Variable Documentation

const MLint ml::_ML_STD_SLEN = 64

Length of strings for component descriptions and class names.

Definition at line 39 of file mlStdTypeInfos.h.

ML_UTILS_EXPORT ErrorOutput ml::MLErrorOutput

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

const int ml::MLGenericType = _ML_SWITCH_SELECT_OFFSET+10

Defines special index to use a generic type.

Definition at line 50 of file mlTypedHandlers.h.

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.

ML_UTILS_EXPORT Notify ml::MLNotify

Singleton which contains all registered callback functions of the ML.

const int ml::MLVariableType0 = _ML_SWITCH_SELECT_OFFSET

Defines to use the result type of variable type 0.

Definition at line 42 of file mlTypedHandlers.h.

const int ml::MLVariableType1 = _ML_SWITCH_SELECT_OFFSET+1

Defines to use the result type of variable type 1.

Definition at line 44 of file mlTypedHandlers.h.

const int ml::MLVariableType2 = _ML_SWITCH_SELECT_OFFSET+2

Defines to use the result type of variable type 2.

Definition at line 46 of file mlTypedHandlers.h.

const int ml::MLVariableType3 = _ML_SWITCH_SELECT_OFFSET+3

Defines to use the result type of variable type 3.

Definition at line 48 of file mlTypedHandlers.h.

ML_LINEAR_ALGEBRA_EXPORT typedef ImageVector ml::Vector
Deprecated:
Use ImageVector instead.

Definition at line 309 of file mlImageVector.h.