SDK Organization#
The Software Development Kit (SDK) of SAMSON is composed of a set of libraries gathered in seven library groups:
- Core Library Group
- DataModel Library Group
- Facade Library Group
- GUI Library Group
- IO Library Group
- Modeling Library Group
- Simulation Library Group
Naming conventions#
The vast majority of files contain only one class declaration and/or definition and, in this case, the file name (excluding the extension) is the class name. Due to the large number of libraries and files, the SAMSON SDK has a strict naming policy. Precisely, for each file:
- The first two letters are
SB(stands for SAMSON Base) - The third letter indicates the library group (e.g.,
SBDforDataModel) - The next n letters indicate the library name (e.g.,
SBDDataGraphfor theDataGraphlibrary inDataModel) - The (optional) next m letters are used to differentiate class names in the library (e.g.,
SBDDataGraphEventandSBDDataGraphNode)
Since this may result in long names in some cases, short names are provided for frequently used classes. For example, the short name of the SBMStructuralModelNodeAtom class is SBAtom. When available, the short name of a class is indicated in the class documentation (see short name).
Class names in SAMSON Extensions generated thanks to the SAMSON Extension Generator follow a similar convention:
- The first two letters are
SE(stands for SAMSON Extension) - The next n letters indicate the Extension name (e.g.,
ProteinProteinDocker) - The next m letters indicate a class name (e.g.,
MainApp)
Please refer to the documentation of the SAMSON Extension Generator for more examples.
Finally, all macros defined in the SAMSON SDK begin with SB_ (e.g. SB_REGISTER_TYPE).