Skip to content

Add new 3-d widgets plus supporting changes.

David Thompson requested to merge dcthomp/smtk:new-widgets into master

Screenshot_from_2022-01-03_12-38-19

  • Switch the plane-item widget to use the new display-sized plane widget.
  • Add a coordinate-frame item-widget.
  • Add an "operation" for inspecting meshes. The operation does nothing; its parameters have custom widgets and a custom view that add a mesh inspection capability (via crinkle-slicing) to the operation panel.

Supporting changes include

  • Allow an attribute's association item-widget to be customized. Also, make qtAttributeItemInfo accept shared pointers by const reference rather than by reference so the main change will compile (which requires dynamic shared-pointer downcasting).

  • Add a reference-tree qtItem widget. Combined with the change above, this widget provides an alternative to qtReferenceItem for attribute association; it takes more screen space but provides better visual feedback.

  • Move widgets out of plugin directory. The smtkPQOperationViewsPlugin needs to call methods specific to pqSMTKPlaneItemWidget which it could not because the class was inside a plugin (not a library) and its symbols were not exported. Move all the widgets into the smtkPQWidgetsExt library and export their symbols.

  • Remove unused method qtBaseAttributeView::requestModelEntityAssociation().

  • Extend membership badge to be pickier about applicability. The badge configuration may specify a rule and a filter for determining which descriptive phrases will display the badge:

    • The default rule accepts all phrases while others require the subject of the phrase to be an object, component, or resource. Additionally, the subject may be required to have renderable geometry.
    • A filter, if present, is applied to all components (and only components – not resources or other persistent objects) that would otherwise be displayed.

    The purpose of these configuration options is to accommodate operations that wish to pass geometry for several components to be processed.

  • Have the resource multiblock source pass all geometry, even volume meshes, straight to the output. This will allow ParaView filters downstream access to volume data.

  • Provide methods to print view configuration data for debugging.

  • Add a method for property widgets to request a render. This is used by the pqSMTKSliceItemWidget to cause a render when the slice inputs change.

Edited by David Thompson

Merge request reports