The exporter (gpExport) itself isn't enormous (about 3400
lines), but the code is still much easier to read, if one knows the
conventions, and coding-styles.
First the naming-conventions:
classes (and types) follow the Java-conventions: first
letter is upper-case, ...
Examples: Vertex, MeshExtractor
variables too follow the Java-conventions
(first letter lower-case, ...)
Examples: jointNames, name
methods are slightly different (following a convention I
picked up at Wootsoft): public methods are uppercase,
private ones are lower-case. Protected
methods are slightly a mix-up (sorry).)
As far as containers go I tried to use the STL as much as
possible. I didn't use the <algorithm> framework, as I'm not really a fan of
it. But that's another issue.
structs are containers without much "intelligence". Classes on the other hand will only hold information, they are supposed
too. In particulary, they won't contain intermediate results between
method-calls. As I wanted to avoid dynamic allocation (or static
function-members), methods usually return heavy STL-vars. This is
evidently not efficient, but allows (IMO) to follow the data-flow more
easily. If this becomes a bottle-neck it should be easy to change it.