Web Analytics Made Easy - Statcounter
Skip to content

Changelog for SDK 2024 R1 (v.6.0.0)#

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

Possible general breaking change:

  • Some headers were cleaned to remove includes of unused headers.
  • The selection commands now act on the whole document and not on the current selection, i.e. invoking a selection command empties the current selection and creates a new selection.
  • Expanded Node Specification Language (NSL) syntax - see What's new in SAMSON 2024 - Modeling.

See also: What's new in SAMSON 2024.

Core library group#

Main changes:

  • There is now SB_CLASS_BASE macro that should be used for base classes instead of SB_CLASS which should be now used only for derived classes.
  • New macro for exposing attributes with static functions that return minimum, maximum, default, or single step values, tool tip, suffix, item count and item text - you can now use the corresponding SB_ATTRIBUTE_STATIC_* macros that expose static functions: SB_ATTRIBUTE_STATIC_MINIMUM, SB_ATTRIBUTE_STATIC_MAXIMUM, SB_ATTRIBUTE_STATIC_DEFAULT, SB_ATTRIBUTE_STATIC_SINGLE_STEP, SB_ATTRIBUTE_STATIC_SUFFIX, SB_ATTRIBUTE_STATIC_TOOL_TIP, SB_ATTRIBUTE_STATIC_COUNT, SB_ATTRIBUTE_STATIC_ITEM_TEXT.
  • Improvements in SBCContainerHashMap, SBCContainerUUID
  • Registered more type, e.g. vectors of standard types (see SBCMetaRegister).
  • SBCSerializer classes: add writeUUIDElement, readUUIDElement.
  • Improvements in holding: now supports nested holding combinding them into the top-level holding group.
  • Improve GLIBC compatibility (up to v.2.17) for old Linux distributions.

DataModel library group#

DatGraph library#

New classes:

  • SBDDataGraphNodeMaterialAppearance - describes a material appearance.

New functionality:

  • SBDDataGraphNode now has SBUUID, i.e. each node has its own UUID.
  • SBDDataGraphNodeMaterial now has a material appearance object (SBDDataGraphNodeMaterialAppearance).

Palette library#

New classes:

  • SBDPaletteDiscrete - a discrete color palette class and a set of default discrete color palettes in SBDPaletteDefaultPalette. Color schemes now support discrete color palettes.

New functionality:

  • SBDPalette::toPythonCode - returns a Python code to construct a color palette.
  • Equality operators to check if two palettes are the same.

Document library#

New functionality:

  • SBDDocumentCamera::orientUpwards

Changes:

  • SBDDocumentRenderPreset - functions that return ranges of values, default values, etc. were made static.

Type library#

New functionality:

SBDTypeColor:

  • new functions: toHex, toGrayscale, SRGBtoGrayscale, toPythonCode
  • new constructor from hex color
  • add new operators to perform math operations directly with color objects

Visual preset library#

Breaking changes:

  • SBDVisualPreset is renamed to SBDVisualPresetStep
  • SBDVisualPresetGroup is renamed to SBDVisualPreset

New functionality:

  • SBDVisualPresetStep now supports actions that will act on the selected nodes.
  • New constructors for SBDVisualPresetStep, and new functions.
  • Add toPythonCode for SBDVisualPresetStep and SBDVisualPreset to get the corresponding Python code to reconstruct them in Python.

Facade library group#

New functionality in SAMSON facade class:

  • addDocument, removeDocument
  • getActiveAsset

Breaking changes:

  • changes in parameters for display functions (displayCylinders, displayLines, displaySpheres, displayTriangles, displayTubes, etc.)

New short-name headers for the newly added classes.

GUI library group#

New UI and Widget libraries.

Action library#

New functionality:

  • SBGAction::run - a function to run the command for nodes in SBNodeIndexer. This function is implemented only for actions/commands that can be applied to nodes.

UI library#

A new UI library that defines some common UI widgets:

  • SBGUICheckableComboBox
  • SBGUICollapsibleGroupBox
  • SBGUILineEdit
  • SBGUIPlainTextEdit
  • SBGUIPushButtonHover
  • SBGUIPushButtonPixmap
  • SBGUIShortcutLabel
  • SBGUITextEdit

Widget library#

A new Widget library that defines some common high-level widgets

  • SBGWidgetFileSelector
  • SBGWidgetFolderSelector
  • SBGWidgetNodeIndexerSelector

Window library#

New functionality:

  • New options for SBGWindowDialog::informUser dialogs whether to show OK button.
  • New slot SBGWindowDock::topLevelChangedSlot

Modeling library group#

Visual model library#

New class:

  • SBMVisualModelGeometryArray - a base class for arrays of geometries.

Breaking changes:

  • SBMVisualModel now has a single getGeometryArrayIndexer function for all geometry arrays that replaces the previous per-geometry type functions.
  • SBMVisualModelCylinderArray, SBMVisualModelLineArray, SBMVisualModelSphereArray, SBMVisualModelTriangleArray, SBMVisualModelTubeArray are now based on SBMVisualModelGeometryArray. Corresponding changes in functions for these classes.