SMTK 21.05 Release Notes¶
See also SMTK 21.04 Release Notes for previous changes.
Changes to Project Subsystem¶
A major revision was undertaken to the smtk::project
namespace that is not
backward compatible. The previous Project class was hard-coded to a use single
attribute resource and one or two model resources. The new Project class is an
SMTK resource that can support any number of resources including custom ones,
with assigned roles. The new Project class can optionally be scoped to a list
of available operations and resource types. New Project instances store and
retrieve their contents as atomic operations with the file system.
Projects can now be described entirely using Python, making it
easier to implement custom project types for different solvers.
More information is available in the SMTK user guide and there is also a new create_a_project tutorial.
Graph Resource Changes¶
Graph-resource ArcMap¶
The graph resource now provides a custom subclass of TypeMap named smtk::graph::ArcMap. This subclass deletes the copy and assignment constructors to prevent modifications to accidental copies of arcs rather than to the resource’s arc container.
External changes¶
smtk::graph::ResourceBase::ArcSet type-alias was removed and the ArcMap class can now be used directly.
If you maintain external code that depends on smtk::graph::Resource, you will need to replace the ResourceBase::ArcSet type-alias with ArcMap (which lives in smtk::graph not smtk::graph::ResourceBase).
Software Process Changes¶
CMake package directory¶
The CMake package directory for SMTK is now in a location that CMake searches
by default. This removes the need to do -Dsmtk_DIR
and instead the install
prefix can be given in the CMAKE_PREFIX_PATH
variable.