Changelog for SDK 2022 R1 (v.3.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.
One of the major changes that needs to be taken care by developers is the introduction of a lazy loading of extensions when launching SAMSON. This concerns only Apps. To take care of that, it is necessary to add a few new lines in the App's class descriptor describing the App's public name, its GUI's UUID, a logo image, and a tooltip.
SB_CLASS_BEGIN(SEMyExtension);
SB_CLASS_TYPE(SBCClass::App);
SB_CLASS_DESCRIPTION("SAMSON Extension generator pro tip: modify me");
SB_CLASS_VERSION_NUMBER("1.0.0");
// new lines
SB_CLASS_PUBLIC_NAME("My Extension");
SB_CLASS_GUI_UUID("2B45533B-D03C-40CB-B8D5-05C5F36A0E6F");
SB_CLASS_GUI_SHORTCUT("");
SB_CLASS_ICON_FILE_NAME(SB_ELEMENT_PATH + "/Resource/icons/logo.png");
SB_CLASS_TOOL_TIP("Tool tip text");
// ...
SB_CLASS_END(SEAutoDockVinaMain);
Core library group#
Class#
SBProxy#
New functions that can be used via class proxies: SBProxy::getGUIUUID, SBProxy::getGUIShortcut
Class interface#
New macros to declare a class attribute: SB_ATTRIBUTE_READ_ONLY_NONCONST
Heap#
SAMSON's managed heap functionality has been expanded to ease memory management for developers.
Log#
Add new logging functionality.
DataModel library group#
Color library#
Add new color schemes: SBDColorSchemeConstantIllustrate, SBDColorSchemePerChainIllustrate.
Color schemes now have a clone function.
Add new default color palettes in SBDColorPaletteDefaultPalette.
DataGraph library#
SBNode#
New functions for computing statistics that might need to be implemented by a class based on SBNode
:
- SBDDataGraphNode::getNumberOfChains
- SBDDataGraphNode::getNumberOfMolecules
- SBDDataGraphNode::getNumberOfResidues
- SBDDataGraphNode::getNumberOfSegments
- SBDDataGraphNode::getNumberOfStructuralGroups
- SBDDataGraphNode::getNumberOfStructuralModels
- SBDDataGraphNode::getNumberOfAtoms
- SBDDataGraphNode::getNumberOfCarbons
- SBDDataGraphNode::getNumberOfHydrogens
- SBDDataGraphNode::getNumberOfNitrogens
- SBDDataGraphNode::getNumberOfOxygens
- SBDDataGraphNode::getNumberOfSulfurs
- SBDDataGraphNode::getNumberOfOtherAtoms
- SBDDataGraphNode::getSumOfFormalCharges
- SBDDataGraphNode::getSumOfPartialCharges
- SBDDataGraphNode::getMolecularWeight
New functions:
- SBDDataGraphNode::hasMaterial
- SBDDataGraphNode::ownsMaterial
and corresponding node predicates:
- SBDDataGraphNode::HasMaterial
- SBDDataGraphNode::OwnsMaterial
SBNodeColorScheme#
Color schemes now have a clone function: SBNodeColorScheme::clone.
Document library#
SBLabel#
New functions:
- SBLabel::getFontString, SBLabel::setFontString
- SBLabel::getViewportOffset, SBLabel::setViewportOffset
Type library#
SBColor#
New functions: SBColor::getRedInt, SBColor::getGreenInt, SBColor::getBlueInt, SBColor::getAlphaInt
SBColorConversion#
New functions: SBColorConversion::SRGBfromCIELab, SBColorConversion::CIELabfromSRGB, SBColorConversion::darkenSRGBColor, SBColorConversion::lightenSRGBColor
Visualization library#
SBVisualPreset#
Change in arguments of one of the constructors.
Facade library group#
New functions:
- SAMSON::getIntegerIntervalFromUser
- SAMSON::getDoubleIntervalFromUser
- SAMSON::getItemFromUser
- SAMSON::getSaveFileNameFromUser
GUI library group#
Window library#
New functions:
- SBGWindowDialog::getIntegerIntervalFromUser
- SBGWindowDialog::getDoubleIntervalFromUser
- SBGWindowDialog::getItemFromUser
- SBGWindowDialog::getSaveFileNameFromUser
Modeling library group#
Changes accross various classes of this library due to changes in SBNode
, see changes in SBNode.
StructuralModel library#
SBStructuralModel#
New utility functions:
- SBStructuralModel::populateChainIDs
- SBStructuralModel::getShapeParameter
- SBStructuralModel::getInertiaTensor
- SBStructuralModel::getPrincipalAxes
- SBStructuralModel::getSpatialTransform
SBAtom#
New functions:
- SBAtom::isInAminoAcid, SBAtom::isInNucleicAcid
- SBAtom::isInSideChain, SBAtom::getSideChain
and associated predicates:
- SBMStructuralModelNodeAtom::IsInAminoAcid, SBMStructuralModelNodeAtom::IsInNucleicAcid
- SBMStructuralModelNodeAtom::IsInSideChain
SBHydrogenBond#
Renamed and new functions:
- SBHydrogenBond::getDonorAcceptorDistance
- SBHydrogenBond::getHydrogenAcceptorDistance
- SBHydrogenBond::getDonorHydrogenDistance
and associated predicates:
- SBMStructuralModelNodeHydrogenBond::GetDonorAcceptorDistance
- SBMStructuralModelNodeHydrogenBond::GetHydrogenAcceptorDistance
- SBMStructuralModelNodeHydrogenBond::GetDonorHydrogenDistance