# Design

**URL:** https://discourse.kitware.com/c/smtk/design/12.md?page=3

[Latest](https://discourse.kitware.com/latest.md) · [Categories](https://discourse.kitware.com/categories.md)

**Page:** 4

---

## [Project and Project Management Design](https://discourse.kitware.com/t/project-and-project-management-design/333)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 23\
**Last updated:** [November 13, 2019, 12:11am UTC](https://discourse.kitware.com/t/project-and-project-management-design/333 "2019-11-13T00:11:39Z")

</div>

Proposed Plan for Project Support (Draft) Project Definition A SMTK project represents an instanced simulation workflow. It simplifies the loading and saving of a workflow by treating all of the necessary resources (and…

---

## [Versioning SMTK data](https://discourse.kitware.com/t/versioning-smtk-data/336)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 1\
**Last updated:** [November 5, 2019, 1:43pm UTC](https://discourse.kitware.com/t/versioning-smtk-data/336 "2019-11-05T13:43:28Z")

</div>

Purpose We have had several discussions lately about version numbers inside SMTK files. This page exists to summarize, discuss the use cases involved, and document our decisions. Uses of Versioning We have identified 3 …

---

## [Improvements to multi-block sources needed](https://discourse.kitware.com/t/improvements-to-multi-block-sources-needed/317)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 4\
**Last updated:** [October 26, 2019, 8:03pm UTC](https://discourse.kitware.com/t/improvements-to-multi-block-sources-needed/317 "2019-10-26T20:03:10Z")

</div>

Problem The vtkResourceMultiBlockSource (and child classes vtk{Model,Mesh,Attribute}MultiBlockSource) are in need of some changes to prevent unnecessary regeneration of vtkPolyData objects they store in their output. Cu…

---

## [Validating Attribute Associations and Reference Item Values](https://discourse.kitware.com/t/validating-attribute-associations-and-reference-item-values/300)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 11\
**Last updated:** [September 18, 2019, 12:15pm UTC](https://discourse.kitware.com/t/validating-attribute-associations-and-reference-item-values/300 "2019-09-18T12:15:32Z")

</div>

With the addition of Association Rules that introduce dependencies beyond simple Persistent Object type, I wanted to describe what these new dependancies are and how they are enforced. Exclusion and Prerequisites These …

---

## [More complete use of ParaView/VTK selections in SMTK](https://discourse.kitware.com/t/more-complete-use-of-paraview-vtk-selections-in-smtk/303)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 2\
**Last updated:** [September 7, 2019, 7:59pm UTC](https://discourse.kitware.com/t/more-complete-use-of-paraview-vtk-selections-in-smtk/303 "2019-09-07T19:59:48Z")

</div>

Problem Statement Currently, ParaView (via VTK’s vtkSelection) can express selections of things that SMTK cannot represent: points within a model’s tessellation; cells within a model’s tessellation (these have semantic…

---

## [Multiple ParaView widget shortcuts](https://discourse.kitware.com/t/multiple-paraview-widget-shortcuts/290)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 2\
**Last updated:** [August 2, 2019, 1:05am UTC](https://discourse.kitware.com/t/multiple-paraview-widget-shortcuts/290 "2019-08-02T01:05:12Z")

</div>

One issue that has recently come to light is that when multiple pqSMTKAttributeItemWidgets (subclasses of qtItem) of the same type are instantiated, they all create QShortcut objects with the same key sequence. When that…

---

## [Modernizing/generalizing SetProperty operation](https://discourse.kitware.com/t/modernizing-generalizing-setproperty-operation/276)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 16\
**Last updated:** [June 27, 2019, 3:54pm UTC](https://discourse.kitware.com/t/modernizing-generalizing-setproperty-operation/276 "2019-06-27T15:54:46Z")

</div>

@Bob\_Obara @tj.corona @johnt @Haocheng\_Liu The discussion started on SMTK MR 1592 has once again brought up the property system used on model and mesh. Is it something worth moving to the smtk::resource::Resource (inclu…

---

## [Proposed smtk::attribute::GroupItem::shiftGroup() method](https://discourse.kitware.com/t/proposed-smtk-shiftgroup-method/263)

<div class="topic-metadata">

**Author:** [@johnt](https://discourse.kitware.com/u/johnt)\
**Replies:** 14\
**Last updated:** [June 6, 2019, 2:22pm UTC](https://discourse.kitware.com/t/proposed-smtk-shiftgroup-method/263 "2019-06-06T14:22:58Z")

</div>

FYI all, I plan to add a public method to GroupItem to support reordering of subgroups. The target use case is for a new custom view for Truchas induction coils; specifically we want to allow dragging and dropping rows i…

---

## [Finding Items](https://discourse.kitware.com/t/finding-items/247)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 5\
**Last updated:** [April 24, 2019, 6:55pm UTC](https://discourse.kitware.com/t/finding-items/247 "2019-04-24T18:55:49Z")

</div>

Now that SMTK 3.1 is in the process of being released, I’m looking at improving how you find attribute items within an attribute. For searching Attributes, SMTK 3.1 provides the following methods: ItemPtr Attribute::f…

---

## [Proposed change to PersistentObject](https://discourse.kitware.com/t/proposed-change-to-persistentobject/245)

<div class="topic-metadata">

**Author:** [@johnt](https://discourse.kitware.com/u/johnt)\
**Replies:** 11\
**Last updated:** [April 12, 2019, 1:44pm UTC](https://discourse.kitware.com/t/proposed-change-to-persistentobject/245 "2019-04-12T13:44:48Z")

</div>

As part of making simulation projects more customizable, I would like to make some changes to SMTK so that smtk::project::Project can be a subclass of our PersistentObject class. The motivation is so that I can assign it…

---

## [Adding "Item Templates" to SBT file and Changing Category Behavior](https://discourse.kitware.com/t/adding-item-templates-to-sbt-file-and-changing-category-behavior/239)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 1\
**Last updated:** [April 6, 2019, 3:58pm UTC](https://discourse.kitware.com/t/adding-item-templates-to-sbt-file-and-changing-category-behavior/239 "2019-04-06T15:58:55Z")

</div>

Though the SBT file format allows a fair amount of flexibility in modeling simulation related information, it tends to be a bit verbose. Specifically, if several items share the same structure, the current implementatio…

---

## [Query filter strings for model resources](https://discourse.kitware.com/t/query-filter-strings-for-model-resources/242)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 2\
**Last updated:** [April 5, 2019, 2:27pm UTC](https://discourse.kitware.com/t/query-filter-strings-for-model-resources/242 "2019-04-05T14:27:32Z")

</div>

Limiting Clauses for Query Operations I am starting to work on expanding the model-system’s queryOperation() method to accept a limiting clause that subsets results based on their property values. Here is a proposed gram…

---

## [Planning for SMTK v3.1 and v4.0](https://discourse.kitware.com/t/planning-for-smtk-v3-1-and-v4-0/216)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 20\
**Last updated:** [February 28, 2019, 11:44pm UTC](https://discourse.kitware.com/t/planning-for-smtk-v3-1-and-v4-0/216 "2019-02-28T23:44:38Z")

</div>

Below are lists of things we hope to accomplish in SMTK 3.1 and 4.0. This post is a wiki entry: anyone logged in can (and should) edit it to add new items. You can also post comments below to discuss items in the list. …

---

## [Removing old model entity attribute association methods](https://discourse.kitware.com/t/removing-old-model-entity-attribute-association-methods/219)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 6\
**Last updated:** [February 12, 2019, 4:07pm UTC](https://discourse.kitware.com/t/removing-old-model-entity-attribute-association-methods/219 "2019-02-12T16:07:14Z")

</div>

While working in the exclusion / prerequisite mechanism I came across inconsistencies with the association and disassociation methods. Mainly the removeAllAssociations method calls the model entity specific api and not …

---

## [Extended attribute modeling](https://discourse.kitware.com/t/extended-attribute-modeling/220)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 7\
**Last updated:** [February 11, 2019, 5:52pm UTC](https://discourse.kitware.com/t/extended-attribute-modeling/220 "2019-02-11T17:52:40Z")

</div>

Extended attribute modeling is one of the things that came up in the SMTK 3.1/4.0 planning topic: I’m starting this discussion to work out the implications of some of the alternative designs below. Note that they are …

---

## [Resource index](https://discourse.kitware.com/t/resource-index/221)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 3\
**Last updated:** [February 7, 2019, 9:13pm UTC](https://discourse.kitware.com/t/resource-index/221 "2019-02-07T21:13:40Z")

</div>

@tj.corona It looks like resource classes only provide a virtual method to obtain a Resource::Index. What would you think about adding class Foo : public smtk::resource::Resource { static constexpr Index TypeIndex = …

---

## [Resource filenames](https://discourse.kitware.com/t/resource-filenames/212)

<div class="topic-metadata">

**Author:** [@johnt](https://discourse.kitware.com/u/johnt)\
**Replies:** 2\
**Last updated:** [February 1, 2019, 3:45pm UTC](https://discourse.kitware.com/t/resource-filenames/212 "2019-02-01T15:45:05Z")

</div>

Although I signed off on SMTK MR 1429 (“Save attributes as json files”) yesterday, I don’t really like where we ended up with filename/extensions, and I presume no one else does either. I would like to propose an alterna…

---

## [Supporting Exclusion and Required Constraints in Attribute Resources](https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 8\
**Last updated:** [January 24, 2019, 8:32pm UTC](https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209 "2019-01-24T20:32:44Z")

</div>

I’m in the process of implementing the ability to model exclusion and required constraints in the Attribute Resource. This will allow the following use cases to be modeled: If a model component has an associated attr…

---

## [Discussion: how selection should interact with operations and attributes.](https://discourse.kitware.com/t/discussion-how-selection-should-interact-with-operations-and-attributes/179)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 2\
**Last updated:** [November 21, 2018, 8:49pm UTC](https://discourse.kitware.com/t/discussion-how-selection-should-interact-with-operations-and-attributes/179 "2018-11-21T20:49:21Z")

</div>

@tj.corona @Bob\_Obara We’ve had some discussion of how user selections should affect the operation and attribute panels (and vice-versa: how those panels should inform the selection). As a first pass, SMTK MR 1355 provi…

---

## [Progress on ParaView widgets](https://discourse.kitware.com/t/progress-on-paraview-widgets/155)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 4\
**Last updated:** [October 25, 2018, 2:44pm UTC](https://discourse.kitware.com/t/progress-on-paraview-widgets/155 "2018-10-25T14:44:00Z")

</div>

Hi all (esp. @Bob\_Obara) , There’s a lot left to do (see below), but here’s some progress on getting ParaView widgets adapted to SMTK’s qtItem class so 3-d widgets can edit attribute item values. What’s Left Need t…

---

## [Should we reduce the number of Item Types in the Attribute Resource](https://discourse.kitware.com/t/should-we-reduce-the-number-of-item-types-in-the-attribute-resource/164)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 9\
**Last updated:** [October 8, 2018, 1:36pm UTC](https://discourse.kitware.com/t/should-we-reduce-the-number-of-item-types-in-the-attribute-resource/164 "2018-10-08T13:36:35Z")

</div>

Back when the attribute resource was being designed (when it was called an Attribute System), I needed to be able to refer to model and mesh entities and attributes as items within an attribute. Since there was no base …

---

## [Should we keep Category Sections in Attribute Resource Files?](https://discourse.kitware.com/t/should-we-keep-category-sections-in-attribute-resource-files/136)

<div class="topic-metadata">

**Author:** [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)\
**Replies:** 9\
**Last updated:** [August 9, 2018, 5:27pm UTC](https://discourse.kitware.com/t/should-we-keep-category-sections-in-attribute-resource-files/136 "2018-08-09T17:27:27Z")

</div>

When I designed the original attribute XML file format, I wanted to provide the template designer the ability to define information categories for filtering and then use those categories to define analyses. Below is an …

---

## [Compile-time vs Runtime Manager descriptions](https://discourse.kitware.com/t/compile-time-vs-runtime-manager-descriptions/103)

<div class="topic-metadata">

**Author:** [@tj.corona](https://discourse.kitware.com/u/tj.corona)\
**Replies:** 14\
**Last updated:** [May 9, 2018, 7:47pm UTC](https://discourse.kitware.com/t/compile-time-vs-runtime-manager-descriptions/103 "2018-05-09T19:47:10Z")

</div>

I recently started a branch that provides a uniform API for plugins to register things to different SMTK managers (currently resource::Manager and operation::Manager, but more to come!). The pattern I used requires the m…

---

## [Operation view](https://discourse.kitware.com/t/operation-view/94)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 6\
**Last updated:** [April 26, 2018, 6:05pm UTC](https://discourse.kitware.com/t/operation-view/94 "2018-04-26T18:05:46Z")

</div>

All, but especially @Bob\_Obara: I’ve got selections in modelbuilder generating a list of available operations and have come up with a few questions on the operation panel. Here’s what I’m planning: In real life, the…

---

## [Operations based on a selection](https://discourse.kitware.com/t/operations-based-on-a-selection/87)

<div class="topic-metadata">

**Author:** [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Replies:** 7\
**Last updated:** [April 12, 2018, 1:38pm UTC](https://discourse.kitware.com/t/operations-based-on-a-selection/87 "2018-04-12T13:38:22Z")

</div>

In adding operations to modelbuilder v6, we want to improve on the drop-down list in v5. One thing we want to do is present operations that can be applied to the currently selected components. However, this seemingly sim…

[Previous page](https://discourse.kitware.com/c/smtk/design/12.md?page=2)
