Content
Overview
The MLBase project is a collection of classes and modules which provide and manage so called "Base data structures" which can be passed between MeVisLab modules via "Base" fields.
For introductions and further details see
- Chapter 9 of the ML Guide (Base Objects),
- Section 2.1.2.3 of the ML Guide (Base Field),
- Class Base in project mlUtils,
- Class BaseField in project ML, and
- Class SoSFMLBase in the project InventorWrapper,
(Back to Content)
Low Level Data Structures
- BaseItem
A general base class (derived from Base) for list items that have an id and a name. Should be used for list objects that are editable via a container and/or editor module.
- BaseListTemplate
The list class template (derived from ListTemplate) for list item classes derived from BaseItem. Persistence of the list is based on the corresponding methods of the list class. The list maintains a 'next id' feature to support unique item id's.
- ListBase
The basic list class (derived from Base) with functionality to
- obtain the number of list elements,
- clear the list,
- enable/disable persistence,
- output persistent state to a stream,
- maintain a last action member variable, describing the most recent action, performed on the list, and
- ListBase::ActionClass:
for constants to describe the type of the action most recently performed enum ActionClass.
- ListContainerBase
Abstract ML module class implementing basic functionality for a list container module. List container modules for a specific list class are derived from this class using the class template ListContainerTemplate. This construct can only be used for list classes derived from BaseListTemplate.
- ListTemplate
A basic list class template (derived from ListBase and std::vector) combining properties of ListBase and a vector of the template argument type. Implements persistence methods that iterate through the vector items and call corresponding persistence methods for each item.
(Back to Content)
Concrete Classes
- KeyFrame
Class KeyFrame consisting of a 3D position, tangent and up vector, describing a position and orientation in space.
- ListParser
Parser class (derived from ParserBase) for parsing persistent state strings of list objects.
- ParserBase
Basic parser class from which special parser classes can be derived.
- RasterFunction
Base Object class managing a general raster function class. This class handles two types of implicit functions which can be rastered into a subimage with the methods draw().
- RasterFunctionList
Base object class managing a list of raster functions. This class maintains a list of raster functions. It uses an STL vector to manage the list. The class is derived from Base to have a common base class for some classes and to have the possibility to add persistence to the object later.
- VectorList
Base object representing a list of vectors given as vec4's.
- XMarker
Base object class XMarker (derived form baseItem) with 6D pos, 3D vec and type int.
All internal data structures and derived classes are also listed on the 'Class List' or 'Class Hierarchy' pages under the 'Classes' tab.
(Back to Content)
Curve and Diagram Data Structures
- CurveData
Base object class representing a single curve object, consisting of zero or one X- and any number of Y-data series. All X- and Y-series should have the same number of elements. Together, they represent a series of (x, y1, y2, ...) tupels. If no X-series is specified, an automatic series (0, 1, ...) is generated automatically. The expected number and the meaning of the different Y-series depends on the curve type: For curve types requiring a single Y-series (e.g. ctyLine), all Y-series are considered as independent curves defined over the same set of X-coordinates. For curve types requiring pairs or triples of Y-series (e.g. ctyDeltaArea, ctyErrorBar), consecutive Y-series are grouped to pairs or triples, resp. The X- and Y-series data stored in a CurveData object are owned by the object.
- CurveList
Base object class CurveList with a list of CurveData object pointers. The CurveData objects referenced by this list are not owned by the list, i.e. the creator of the objects is responsible for deleting them.
- CurveSeries
Type definition of a standard vector of X- or Y-values.
(Back to Content)
Module Classes for Base Objects
- CopyBase
Template version of the Engine module CopyBase is used to copy any Base-derived object that provides a virtual assignment operator which allows to copy from Base. This is useful if you want to modify the list while still needing the original one.
(Back to Content)