Main Page Class Hierarchy Compound List File List Compound Members
Freecloth 0.7.0 Internals
Introduction
This manual is aimed at developers working on the Freecloth project. Users of the Freecloth library can refer to the Freecloth API manual, which is a simplified version of this document.
Organisation
The Freecloth source is divided into layers. Each layer can depend on code in layers beneath it, but cannot reference layers above it. This structure helps to reduce the dependencies between source files, and to organise the source code into general groupings. Classes within each layer have a special prefix.
The individual layers are described below, starting from the lowest layers. The layer's prefix is shown in parentheses.
Simulation Engine
The actual simulation engine only requires a subset of these layers: base, geom, resmgt and simulator. These layers are all enclosed in the freecloth namespace. The best starting point for understanding the simulator is the SimSimulator class, which draws in other classes when needed.
- base (Ba): the simplest layer, merely defining headers for standard operating system functions (standard input/output, debugging, standard mathematics, strings).
- resmgt (Res, RC): Resource management layer. This layer handles memory management and application configuration. Depends: base
- geom (Ge): geometry layer. This layer includes geometric primitives, such as points, vectors, matrices, and triangle meshes. Depends: resmgt
- simulator (Sim): cloth simulation layer. This is the top layer of the Freecloth library, and defines the actual cloth simulation engine. Depends: geom
Cloth Application
The cloth test application needs GLUT for a windowing system, OpenGL for rendering the cloth, and the core Freecloth library for simulation. These classes are not enclosed in a namsepace. The best starting point for understanding the cloth application is the ClothApp class.
- colour (Col): colour management layer. This is a very simple layer, currently only defining RGB colours. Depends: base
- gfx (Gfx): graphics layer. This layer handles window management, image storage and reading/writing, user interface via GLUI, and OpenGL interaction. Depends: geom, colour
- clothApp: Cloth test application. This is the test application used to demonstrate the capabilities of the Freecloth library. Depends: gfx, simulator
Generated on Wed Apr 23 15:58:50 2003 for Freecloth by
1.3-rc3