THE MT LIBRARY
Organization of code
The code of the MT libraries is written in ANSI C++.
The MT libraries are distributed open-source
under the GNU General Public License.
The MT directory is organized as follows:
MT
|
+-------+-----+-------+------+-----+
| | | | | |
include src demo doc lib util
| |
+-----+ +-----+
| | | |
krnl ext krnl ext
- include:
header files for the MT libraries (kernel and extension).
- src: source code for the MT libraries (kernel and extension).
- demo:
a few programs demonstrating applications of the MT;
more programs will be added in the future.
- data: files containing some MTs and related features
(tile errors, vertex normals).
- doc: documentation (these html pages).
The entry point is file index.html.
- lib: libraries resulting from compiling the kernel
and the extension.
- util: some utility programs.
Remarks
-
Directory doc must be downloaded separately.
-
The main directory is named MT here, while
its name may vary depending on the release you are using
(for Unix or for Windows).
Source code and header files
Subdirectory src and include are divided into:
- Kernel:
MT, extractors, building interface, basic attribute tables.
- Extensions:
specialized attributes and attribute tables, specialized building
interfaces, customized MTs, customized extraction conditions.
Kernel and Extensions are composed of a hierarchy of C++ classes which
are compiled into two libraries.
Kernel
This is the standard MT library, containing classes for:
- The plain MT (without user-defined features),
and the related building interface;
- The base class for extraction conditions;
- The extractors (global static, global dynamic, local extractor);
- Predefined attribute tables for storing ints, chars, floats, bits, and
vectors of such types.
System extension
This part contains classes implementing:
- Features that can be added to an MT: tile errors, field values,
vertex normals.
- Customized MTs with one or more of such features,
and related building interfaces.
- Specialized extractions conditions, some of them referring to MTs
having certain features.
The classes here are provided as examples.
By using such examples as templates, you can define
your own customized MTs, building interfaces, and extraction conditions.
Demos
We provide a few programs demonstrating the use of the MT.
- A demo for terrain MTs.
- A demo for two-dimensional MTs
representing the boundary of a solid object in 3D.
Most programs use OpenGL and Glut for graphical display.
More demos will be added in the future.
Documentation
A copy of this on-line documentation is provided with the MT libraries.
MT files
MT files are text files containing an MT and its attributes.
- Some sample MTs, sufficient for running the demos,
are included within the MT libraries
(within sub-directories of directory demo).
- More MTs can be downloaded separately and put into
directory data.
Utilities
We provide a few utility programs manipulating an MT:
-
for reversing the orientation of triangles in a two-dimemsional MT
-
for computing vertex normals in a two-dimemsional MT
-
for converting an MT file into either ASCII or BINARY format
-
for computing statistical information on an MT
You can find more information on such utility programs
here.
Download
Go to the
download.html">
download page.