Main MRPT website > C++ reference
MRPT logo

Library overview: mrpt-base

Back to list of libraries

mrpt-base


This is the most fundamental library in MRPT, since it provides a vast amount of utilities and OS-abstraction classes upon which the rest of MRPT is built. Here resides critical functionality such as mathematics, linear algebra, serialization, smart pointers and multi-threading.

This library comprises classes in a number of namespaces, briefly described below (click on the namespaces names to see the complete list of its classes):

mrpt::poses

A comprehensive collection of geometry-related classes to represent all kind of 2D and 3D geomtry transformations in different formats (Euler angles, rotation matrices, quaternions), as well as networks of pose constrains (as used typically in SLAM problems).

There are also implemented representations for probability distributions over all of these transformations, in a generic way that allow mono and multi-modal Gaussians and particle-based representations.

Graphs of pose constraints are also defined in this library, via a generic template mrpt::poses::CNetworkOfPoses, capable of reading and writing to both binary and text pose-graph file formats. Predefined typedefs exist for:

See mrpt::poses for the complete list of classes here.

mrpt::utils

mrpt::math

MRPT defines a number of generic math containers, which are:

For a more in-depth description of these types, and their relation to the base Eigen classes, read this page.

Notice that fixed-size containers should be preferred where possible, since they allow more compile-time optimizations.

Apart from the containers, this namespace contains much more functionality:

mrpt::synch

This namespace includes threading tools such as critical sections, semaphores or utilities such as the template mrpt::synch::CThreadSafeVariable that converts any variable into a pair variable-critical section.

mrpt::system

Here can be found functions for filesystem managing, watching directories, creating and handling threads in an OS-independent way, etc.

mrpt::compress

GZip compression methods can be found in this namespace.




Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011