1. 21 May, 2019 1 commit
    • T.J. Corona's avatar
      Fix mesh session import into exiting resource · 58502f84
      T.J. Corona authored
      Originally, importing into an existing mesh session resource would
      change the name of the resource and assign the first model's UUIDs to
      the second resource. This MR follows the use-case for importing into
      an existing resource to prevent these issues.
      58502f84
  2. 14 Dec, 2018 1 commit
  3. 05 Dec, 2018 1 commit
  4. 08 Nov, 2018 1 commit
  5. 19 Oct, 2018 1 commit
    • T.J. Corona's avatar
      Remove smtk::mesh::Manager · a8644bd4
      T.J. Corona authored
      As resources, mesh collections can optionally be managed by a resource
      manager. As such, they don't need to be managed by a mesh
      Manager. This commit removes the smtk::mesh::Manager class from smtk,
      and introduces the ability to classify meshes onto models. The
      classification mechanism is supported internally by resource links.
      a8644bd4
  6. 26 Sep, 2018 1 commit
  7. 07 Sep, 2018 1 commit
  8. 09 Jul, 2018 1 commit
  9. 11 Apr, 2018 1 commit
    • David Thompson's avatar
      Remove ModelEntityItem from use. · 25729eeb
      David Thompson authored
      This is a large, breaking change to SMTK that moves the attribute
      system away from using ModelEntityItem. Specifically, it
      
      + switches `Attribute::associations()` methods to return a
        ReferenceItem instead of a ModelEntityItem.
          + removes m_associations from Attribute.
      + switches `Definition::associationRule()` and related methods
        to return a ReferenceItemDefinition instead of a
        ModelEntityItemDefinition.
          + fix many methods in Definition that referred to m_associationRule
            to use m_acceptsRules instead.
      + updates the XML and JSON readers and writers to
        deserialize ModelEntity items/definitions in old files into their
        equivalent Reference items/definitions in the new system.
      + refactors ReferenceItem to no longer be a template
        since Resource and Component now share a common ancestor.
      + simplifies the qtReferenceItem hierarchy since now both
        Resource and Component inherit PersistentObject.
      + renames `Attribute::isComponentAssociated()` to `isObjectAssociated()`.
      + consolidates a lot of code that was shared between ReferenceItem,
        ResourceItem, and ComponentItem into ReferenceItem.
      + changes the default attribute reader version to 3 (was 2).
      + removes an unneeded argument from `from_json` methods.
        By the time these methods are called, `itemPtr` should already
        own a reference to the collection via its parent attribute, so
        don't pass the collection needlessly.
      
        This also simplifies the json format for items by eliminating
        the `ItemValue` dictionary; instead, items are responsible for
        adding the `Type` entry to their own dictionaries.
        It may even be possible to remove the `Type` entry since the
        items are required to have their type specified by a definition.
      + makes OperationEnvironment depend on AttributeEnvironment.
        Operations depend on attributes for their parameters/specifications.
      + removes `#include ".../ModelEntityItem.h"` from `Attribute.h`.
      + switches many operators to use ComponentItem or ReferenceItem
        instead of ModelEntityItem, and also switches some of these
        operators to use associations where they did not previously.
      + starts the convention of adding release notes to `doc/release/notes`.
      + fixes some tests to use the resource manager or operation manager
        to create objects because the way that reference items verify
        types often requires a resource manager to work properly.
      25729eeb
  10. 05 Mar, 2018 1 commit
  11. 24 Feb, 2018 1 commit
    • David Thompson's avatar
      Work on component/resource items and their GUIs. · 58dab9c2
      David Thompson authored
      + Refactor item-based attribute classes.
        Move most of the code in ComponentItem, ResourceItem,
        ComponentItemDefinition, and ResourceItemDefinition into
        two new base classes LinkItem and LinkItemDefinition.
        These classes handle links between an attribute and
        any resource or component of a resource.
        Note that smtk::attribute::RefItem should disappear
        in favor of a ComponentItem whose `acceptableEntries()`
        filter forces an attribute of the proper type.
      + Fix build when `SMTK_ENABLE_EXAMPLES` is on.
      + Prototype for a qtComponentItem.
      58dab9c2
  12. 13 Feb, 2018 1 commit
  13. 12 Feb, 2018 2 commits
  14. 23 Jan, 2018 1 commit
    • T.J. Corona's avatar
      Refactor operators. · dc574a3e
      T.J. Corona authored
      This commit contains many changes made by Haocheng, David and myself.
      It performs the following:
      
      a) move operators out of model and have them operate indpendently from
         model sessions
      b) operators now each have their own attribute collection, rather than being
         represented as single attributes from an attribute collection
      c) Separate XML descriptions from the base operator, loosening the requirement
         on operators to simply have a descriptive attribute (XML descriptions are
         now supported as a subclass of the base operator). This facilitates the
         construction of python operators without requiring an XML string describing
         their inputs
      c) introduce an operation manager that tracks the availability of operators.
         It has the following properties:
         i.   Registration of operators via a unique name (usually the c++ name of
              the operator)
         ii.  Provide a connection to a resource manager so that operations that
              construct resources will automatically register the new resources to
              the manager
         iii. Provide a list of available operators given an input selection (i.e.
              show which operators accept a given input)
      d) allow read/write locks on operations' input resources and add tests for
         asynchronous operations
      e) break static registration of operations and resources into a set of
         libraries that accompany the libraries in which they are defined. A library
         that provides static registration of a resource and associated operations
         for library smtkFoo is called smtkFooEnvironment, and the registration
         occurs in the foo::environment namespace
      f) deprecate the exodus session
      g) convert smtk::model and polygon, mesh and discrete sessions to use
         nlohmann::json instead of cJSON. With this change, we can hopefully remove
         cJSON from smtk
      h) provide operations for creating, loading and saving smtk resources
      i) update tests to use the new operation framework
      
      This merge is a work in progress, but has become too large to avoid merging
      into the msater branch. The outstanding issues are
      
      a) remove smtk::model::Operation from smtk (it is still required for the qt
         bindings)
      b) rename smtk::operation::NewOp smtk::operation::Operator
      c) fix Qt bindings to use the new operation infrastructure
      d) fix the infrastructure for meshing interop with remus to avoid using json
         fragments
      e) remove cJSON from smtk
      f) switch resources' read/write/create methods from bare functors to smtk
         operators. This is more in keeping with the pattern of using operators to
         affect resources
      g) enable CGM session
      h) enable matplotlib extension
      dc574a3e
  15. 03 Nov, 2017 1 commit
  16. 10 Oct, 2017 1 commit
  17. 30 Aug, 2017 1 commit
  18. 23 Aug, 2017 2 commits