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
RuntimeMessage
is deprecated. UseRuntimeServices
.Method
logMessage
is deprecated and methodslog/logInfo/logWarning/logError with functor
should be used.Method
logError
with input parameterAmino::StringView
will 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::StringView
from anullptr
. Amino::StringView
can be implicitly constructed from types from whichstd::string_view
can 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::String
has better support of operations that take as parameterstd::string_view
like objects.
Bifrost
FileUtils
- API changes. Use of
Amino::StringView
as input parameter type. Note thatAmino::String
and other string view like objects convert toAmino::StringView
.
Geometry
API changes. Use of
Amino::StringView
as input parameter type. Note thatAmino::String
and other string view like objects convert toAmino::StringView
.API changes. All Bifrost string keys found in
sdk/include/Bifrost/Geometry/GeoPropertyKey.h
are nowAmino::String
which areAmino::StringView
compatible. The previous use of const char * triggered implicitAmino::String
constructors needlessly.New API function. Function
isOffsetDataGeoProp
queries if a data geo property is an offset array.New API functions (file
sdk/include/Bifrost/Geometry/GeoPropertyGuard.h
)- Class
DataGeoPropertyGuard
and classRangeGeoPropertyGuard
facilitate 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