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.,
SBD
forDataModel
) - The next n letters indicate the library name (e.g.,
SBDDataGraph
for theDataGraph
library inDataModel
) - The (optional) next m letters are used to differentiate class names in the library (e.g.,
SBDDataGraphEvent
andSBDDataGraphNode
)
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
).