The mt library is a set of classes and functions that implement
concepts from the domains of geometry and rigid body mechanics.
Here are some examples of the functionalities provided by the library:

- Parameterized floating-point type specifically designed for handling
  tolerance-based (absolute and relative) equality and inequality tests.

- Classes that model closed intervals, 3D vectors, 3x3 matrices,
  quaternions, and rigid transformations, along with a comprehensive set
  of meaningful operations that can be applied
  (e.g., usual operator overloads, matrix inverse computation,
  transformation propagation and interpolation).
  The special cases of 3D unit vectors and unit quaternions have also
  been implemented.

- Classes that model 3D geometric elements such as points, lines, planes,
  spheres, cylinders, and circles.
  There also exist relation classes for querying the geometric
  relation that exists between two elements
  (distance, angle, intersections, etc.)


The mt library was designed to be self-contained and without external
dependencies, except for the STL library. However, there is one header,
namely mt/mt_variant.h, that wraps the 3D element classes in the MtVariant
data structure, that depends on boost::variant.
This header is NOT included with #include <kautham/mt/mt.h>, since it is rarely
used. So if you are planning on using the MtVariant class, please make sure
to have boost::variant installed on your system
(http://www.boost.org/doc/html/variant.html).

Enjoy!
