This changelog contains only changes in SAMSON SDK that concern developers.

Changelog for 2020 R3 (v.1.0.0)

This release includes major changes in the SDK, various new features, and fixes of known and reported issues.

Below is the list of the changes in SAMSON SDK per library and per class.


Introduced many new widgets and new functionality in the Inspector (you can now expose even more and with more functionality):

Now you can also disable attributes thanks to SBCClassAttribute::setEnabled and SBCClassAttribute::isEnabled functions and modify their tool tips using SBCClassAttribute::setToolTip and SBCClassAttribute::getToolTip. Access this functions via the class proxy:

getProxy()->getInterface()->getAttribute("Dimension")->setToolTip("You cannot modify the dimension when the scale is set to ...");

Core library group


See changes in the Inspector.


Now you can serialize a rich text (e.g. html text), e.g. you can save html text in a SAMSON document, thanks to new functions: SBCSerializer::writeStringElementInBase64 and SBCSerializer::readStringElementFromBase64.

DataModel library group

SBDDataGraph library


A new node type: SBNode::Note.

Change in the functionality of SBNode::isIn functions - they now also check whether a given node belongs to a group stored in the node. New functionality: SBNode::descendsFrom and the according predicate DescendsFrom.

SBDDocument library

A new node SBNote that allows to store notes in a SAMSON document (e.g. descriptions of experiments, inlcuding html text). See its functionality here: SBDDocumentNote.


Associated new functions: SBDDocumentFolder::getNoteList.


New document events associated with SBNote : SBDDocumentEvent::NoteAdded, SBDDocumentEvent::NoteRemoved, SBDDocumentEvent::NoteChanged.

Facade library group


SAMSON 1.0.0 introduces User plans. Developers might access the user's plan thanks to SAMSON::getUserPlan and SAMSON::getUserPlanString.

Developers can now access the public version and public name informations using SAMSON::getPublicVersionNumber and SAMSON::getPublicName.

Now you can connect to global document's signals using SAMSON::connectDocumentSignalToSlot, SAMSON::documentSignalIsConnectedToSlot, and SAMSON::disconnectDocumentSignalFromSlot. This is particularly useful if you want to listen to the SBDDocumentEvent::DocumentAdded, SBDDocumentEvent::DocumentRemoved, SBDDocumentEvent::ActiveDocumentChanged signals.

New GUI functionality:

New display functionality:

And finaly, a functionality to create jobs:

GUI library group

App library

Apps now might have tool tips when they are shown in SAMSON menu and shortcuts as well. Just overload the following functions in your apps: SBGApp::getShortcut and SBGApp::getToolTip.

Window library

New functionality in SBGWindowDialog :

Modeling library group

Structural Model library


New functionality in SBAtom :

Changed functionality in SBAtom: SBAtom::isFromAminoAcidBackbone and SBAtom::isFromNucleicAcidBackbone functions now check not only based on the atom name but also whether it is in a backbone. To check only based on the atom name use the following functions: SBAtom::hasAminoAcidBackboneAtomName, SBAtom::hasNucleicAcidBackboneAtomName. The according predicates have been added: HasAminoAcidBackboneAtomName, HasNucleicAcidBackboneAtomName.


New functionality in SBBond : SBBond::getDisplacement - returns the displacement used for display when multiple bond rendering is turned on.


New functionality in SBResidue : SBResidue::getResidueTypeFullName.

Visual Model library


New functions in SBVisualModel that corresponds to SBMesh : SBVisualModel::canCreateMesh and SBVisualModel::createMesh. If you develop a visual model and want for users to make it possible to create a mesh out of it you will need to override these functions.


New function in SBMesh, e.g.: SBMesh::getSurfaceVector, SBMesh::clone, SBMesh::canCreateMesh, SBMesh::createMesh, SBMesh::getDefaultScale, etc.


New functions in SBSurface that returns surface data making it possible to export surfaces (meshes) in OBJ files (see the SBSurface class description).

Changelog for older versions

Changelog v.0.12.0 - Changelog for v.0.12.0

Changelog v.0.11.0 - Changelog for v.0.11.0

Changelog v.0.10.0 - Changelog for v.0.10.0

Changelog v.0.9.x - Changelog for v.0.9.0

Changelog v.0.8.x - Changelog for v.0.8.x