What's New in Bifrost 2.11.0.0 SDK shipping with Bifrost 2.11.0.0 for Maya
Bifrost 2.11.0.0 SDK is now C++17 and C++14 has been dropped.
Bifrost 2.11.0.0 SDK CMake files use CMake 3.20 and up.
Bifrost 2.11.0.0 SDK contains API breaking changes
Amino
Class
RuntimeMessageis deprecated. UseRuntimeServices.Method
logMessageis deprecated and methodslog/logInfo/logWarning/logError with functorshould be used.Method
logErrorwith input parameterAmino::StringViewwill always log even if logging is not enabled.See file sdk/include/Amino/RuntimeServices.h for details:
The runtime service object is used by a job to capture messages generated by its operators at runtime. Operators can call the logging functions of the RuntimeServices object to generate error, warning or info messages. They can do so either by passing logging functions a functor that will lazily be called only if logging is enabled for the given message category, or by passing a StringView directly. In the latter case, except for RuntimeServices::logError, it is up to the caller to ensure that logging is enabled for the given category (logging messages when logging is disabled will trigger an assertion).
ClAmino::StringView
- Block constructing an
Amino::StringViewfrom anullptr. Amino::StringViewcan be implicitly constructed from types from whichstd::string_viewcan implicitly be constructed. The only exception is for raw c-strings from which the size must be obtained at runtime. In this case, the explicit constructor must be used.
- Block constructing an
Class
Amino::Stringhas better support of operations that take as parameterstd::string_viewlike objects.
Bifrost
FileUtils
- API changes. Use of
Amino::StringViewas input parameter type. Note thatAmino::Stringand other string view like objects convert toAmino::StringView.
Geometry
API changes. Use of
Amino::StringViewas input parameter type. Note thatAmino::Stringand other string view like objects convert toAmino::StringView.API changes. All Bifrost string keys found in
sdk/include/Bifrost/Geometry/GeoPropertyKey.hare nowAmino::Stringwhich areAmino::StringViewcompatible. The previous use of const char * triggered implicitAmino::Stringconstructors needlessly.New API function. Function
isOffsetDataGeoPropqueries if a data geo property is an offset array.New API functions (file
sdk/include/Bifrost/Geometry/GeoPropertyGuard.h)- Class
DataGeoPropertyGuardand classRangeGeoPropertyGuardfacilitate the modification of Data and Range Geo Properties by extracting properties from a Bifrost Object (Geometry). - The extraction keeps the reference count the same and if the that reference count is 1 then the modifications can be done in-place.
- The role of the guards is to hide the extraction and hide the return of the data into the source Bifrost Object.
- See example directories:
sdk/examples/MeshWeldUV and TwistDeformer.
- Class
