1.1.2. Class hierarchy

This section provides a basic overview of the MDE library modules:

Assets module

The Assets module contains classes related to loading, or creating, assets.

The Asset class shown in Figure 1.2 is the parent class for assets.

Figure 1.2. Asset classes

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The Loader classes shown in Figure 1.3 read an input stream and create an asset. The Proxy class is a collection of assets that provides a unified interface to the various loader classes.

Figure 1.3. Loader classes

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Unlike the other general loaders, the MBALoader loads scene assets. A scene asset might however contain or reference a different asset type. See Figure 1.3:

Figure 1.4. Loader classes

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


System module

The System module uses abstract interfaces to encapsulate platform-specific concepts:

  • Exception

    • FileNotFoundException

    • GLException

    • IOException

    • NotSupportedException

  • FileSystem

  • InputDevice

    • Joystick

    • Keyboard

    • Mouse

  • Managed<T>

  • Object (base class for all library objects)

  • ObjectMonitor

  • System (main interface for the MDE library)

  • Timer.

Graphics module

The Graphics module contains classes related to graphic primitives and textures such as:

  • VertexElement

  • VertexDeclaration

  • Buffer

  • Context abstract interface

  • Shader

  • Texture

  • Texture2D

  • TextureCube.

Vector Math module

The Math module contains classes related to matrix and vector math:

  • mat2

  • mat3

  • mat4

  • vec2t<T>

  • vec3t<T>

  • vec4t<T>.

Templates module

The Templates module contains reusable data structures. It is a partial replacement for the STL library:

  • Array<T>

  • Map<KeyType, ValueType>

  • Tree<T>.

Copyright © 2010 ARM. All rights reserved.ARM DUI 0527A‑02a
Non-Confidential - Draft - BetaID070710