Loading...
Searching...
No Matches
Changelog for SDK 2023 R1 (v.5.0.0)

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

This release also includes the update of SAMSON SDK to C++17.

The version of OpenGL used in SAMSON has been increased to 4.1. Now you can include SBGRenderOpenGLFunctions.hpp which will include the used version of OpenGL and you can use SB_OPENGL_FUNCTIONS which automatically expands to the required one, e.g. to QOpenGLFunctions_4_1_Core.

Core library group

Main changes:

New classes:

Improvements in the following classes:

DataModel library group

New libraries:

  • Assistant library - introduces base classes for assistants (e.g., AI assistants). See SBDAssistant.
  • ColorScheme library - color schemes were moved from the Color library.

DataGraph library

SBDDataGraphNode

SBDDataGraphNodeColorScheme

A generalization of color schemes - now all color schemes can have a color palette. New functions:

SBDDataGraphNodeMaterial

SBDDataGraphNodeMaterial now has general material properties: metallic, roughness, transmission, emission, etc. Check out SBDDataGraphNodeMaterial to see the new functionality.

SBDDataGraphNodeSelector

SBDDataGraphNodeSelector can now return its corresponding Node Specification Language strings via SBNodeSelector::getNSLExpression, if such expressions can be formulated.

Document library

New libraries:

  • SBDPalette - color palettes moved from the Color library.

New classes:

SBDDocument

You can now get from SBDDocument the selected nodes or their number by type or using a node predicate using these additional functions:

You can check if the document is saved:

SBDCamera

Add new camera properties:

Quantity library

Updates in constants:

  • Updated the definition of constants (see SBDTypeQuantityConstantDefines and SBDTypeQuantityConstant header files).
  • Updated values for physical constants in correspondence to 2018 CODATA internationally recommended values of the Fundamental Physical Constants.
  • Now conversions are defined explicitly through the combinations of the defined constants and not through the precomputed values of their relations.

New convenience quantities, e.g. SBQuantity::power, SBQuantity::inversePower, SBQuantity::megawatt, etc.

Type library

Color conversion functions were moved to SBDTypeColor.

New classes:

Add more constructors, operators, and functions in various classes, e.g.:

SBDTypeSpatialTransform now includes scale (SBSpatialTransform::scale) which can be accessed via SBSpatialTransform::getE5, SBSpatialTransform::setE5.

New convenience types were defined:

  • SBIAEnergy3
  • SBLengthMass33, SBInverseLengthInverseMass33
  • SBSquareLength3, SBAngularVelocity3, SBAngularAcceleration3, SBMass3, SBInverseMass3, SBLengthMass3, SBInverseLengthInverseMass3, SBMomentOfInertia3, SBInverseMomentOfInertia3

VisualPreset library

SBDVisualPreset can now define selections using a selection filter string instead of SBDDataGraphNodeSelector.

Facade library group

New functions (the list is not full):

Renamed SAMSON::getColorPaletteFromUser into SAMSON::getPaletteFromUser.

GUI library group

New libraries:

Better handling of docked windows (e.g., added new class SBGWindowDock, etc.).

Removed the RenderingPass enum from SBGEditor in favor of unification with the RenderingPass enum from SBDDataGraphNode - simply replace by SBNode::RenderingPass.

IO library group

Changes in attributed of the following functions (parameters are now provided via std::unordered_map<std::string, SBValue> instead of using SBList<std::string>):

New functions:

  • SBImporter::canImportFromFile - a virtual function that can be overloaded in importers which returns whether the importer can import the specified file corresponding to its format.

Modeling library group