[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
C.2 Source code structure
Gmsh's code is structured in several libraries, roughly separated between the three main core modules (‘Geo’, ‘Mesh’, ‘Post’) and associated utility libraries (‘Common’, ‘Numeric’) on one hand, and graphics (‘Graphics’) and interface (‘Fltk’, ‘Parser’) libraries on the other.
The geometry and mesh modules are based on an object-oriented model class (‘Geo/GModel.h’), built upon abstract geometrical entity classes (‘Geo/GVertex.h’, ‘Geo/GEdge.h’, ‘Geo/GFace.h’ and ‘Geo/GRegion.h’). Concrete implementations of the geometrical entity classes are provided for each supported CAD kernel (e.g. ‘Geo/gmshVertex.h’ for geometry points in Gmsh's native CAD format, or ‘Geo/OCCVertex.h’ for geometry points from OpenCascade). The post-processing module is based on the concept of views (‘Post/PView.h’) and abstract data containers (derived from ‘Post/PViewData.h’).