RGG current status

Trying out RGG functionality. In progress, additional notes coming. T.J. fixed issues I was having with compiling smtk master with VS2019.

  • Load sample .rxf files successfully
    • Note: File … Open doesn’t recognize .rxf files when RGG is loaded manually - it must be auto-loaded for ParaView state to be updated. Thanks @tj.corona
  • z-scale toolbar works
  • Selecting in the resource browser works: it changes the 3D view, without showing purple selections.

Edit operations:

  • bug: apply button after changing anything displays the full core, instead of the pin/duct, even though the pin/duct is still selected. Does not happen with assemblies. This is not intended.
  • The edit operation widget is usually so tall I can’t see the “apply” button without undocking - sub-lists are not adjustable in size.

Edit pin:

  • bug: cut away view checkbox does nothing
  • Not available if “limit to selection” is checked - should be if required after create-model.
    • split into “Create” and “Edit” operations, if it’s easy - possibly XML only.
  • using rgg::delete on a pin leaves a blank line in the resource tree.

Edit Duct:

  • bug: cross section checkbox does nothing.
  • Duct segments: Why “Delete Up” and “Delete Down”? Why not Delete?

Edit Assembly:

  • bug: reset assembly planner button does nothing.
  • Must re-select the associated duct, even though it’s clearly available information.
    • selecting the duct changes the selection, resets the operation list.

Edit Core:

  • after editing an assembly, the change didn’t show up in the core until I hit “Apply” in edit core.
  • Choosing “edit-core” immediately after “create model” results in a crash - unordered_map exception.

Edit material:

  • after create-model, edit-pin, edit material panel is completely disabled.

Another crash, after creating a pin, duct, assembly, core, and clicking in the render window, I think:

 	smtkPVServerExt.dll!std::_Copy_memmove<double const *,double *>(const double * _First, const double * _Last, double * _Dest) Line 3313	C++
 	smtkPVServerExt.dll!std::_Uninitialized_copy<double const *,std::allocator<double>>(const double * const _First, const double * const _Last, double * _Dest, std::allocator<double> & _Al) Line 1528	C++
 	[Inline Frame] smtkPVServerExt.dll!std::vector<double,std::allocator<double>>::_Ucopy(const double *) Line 1591	C++
 	smtkPVServerExt.dll!std::vector<double,std::allocator<double>>::_Insert_range<double const *>(std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<double>>> _Where, const double * _First, const double * _Last, std::forward_iterator_tag __formal) Line 941	C++
 	[Inline Frame] smtkPVServerExt.dll!std::vector<double,std::allocator<double>>::insert(std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<double>>>) Line 1030	C++
>	smtkPVServerExt.dll!smtk::model::Instance::clonePlacements<__int64 *>(__int64 * begin, __int64 * end, bool relate) Line 97	C++
 	smtkPVServerExt.dll!smtk::view::VTKModelInstancePlacementSelection::temporaryInstance(const std::shared_ptr<smtk::model::Entity> & sourceInstance, vtkIdTypeArray * sourcePlacements) Line 73	C++
 	smtkPVServerExt.dll!smtk::view::VTKModelInstancePlacementSelection::transcribePlacementSelection(std::shared_ptr<smtk::attribute::Attribute> & result) Line 189	C++
 	smtkPVServerExt.dll!smtk::view::VTKModelInstancePlacementSelection::operateInternal() Line 223	C++
 	smtkCore.dll!smtk::operation::Operation::operate() Line 202	C++
 	smtkPQComponentsPlugin.dll!vtkSMTKEncodeSelection::ProcessResource(pqSMTKWrapper * wrapper, const std::shared_ptr<smtk::resource::Resource> & resource, const std::shared_ptr<smtk::view::Selection> & smtkSelection, vtkSMTKResourceRepresentation * resourceRep, vtkSelection * rawSelection, vtkSMRenderViewProxy * __formal, int modifier, bool selectBlocks) Line 197	C++
 	smtkPQComponentsPlugin.dll!vtkSMTKEncodeSelection::ProcessRawSelection(vtkSelection * rawSelection, vtkSMRenderViewProxy * viewProxy, int modifier, bool selectBlocks) Line 141	C++
 	smtkPQComponentsPlugin.dll!vtkSMTKEncodeSelection::ProcessSelection(vtkSelection * rawSelection, vtkSMRenderViewProxy * viewProxy, bool multipleSelectionsAllowed, vtkCollection * selectedRepresentations, vtkCollection * selectionSources, int modifier, bool selectBlocks) Line 57	C++
 	vtkRemotingViews-pv5.8.dll!vtkSMRenderViewProxy::FetchLastSelection(bool multiple_selections, vtkCollection * selectedRepresentations, vtkCollection * selectionSources, int modifier, bool selectBlocks) Line 877	C++
 	vtkRemotingViews-pv5.8.dll!vtkSMRenderViewProxy::SelectInternal(const vtkClientServerStream & csstream, vtkCollection * selectedRepresentations, vtkCollection * selectionSources, bool multiple_selections, int modifier, bool selectBlocks) Line 836	C++
 	vtkRemotingViews-pv5.8.dll!vtkSMRenderViewProxy::SelectSurfaceCells(const int * region, vtkCollection * selectedRepresentations, vtkCollection * selectionSources, bool multiple_selections, int modifier, bool select_blocks, const char * arrayName) Line 850	C++
 	vtkRemotingViews-pv5.8.dll!vtkSMRenderViewProxy::Pick(int x, int y) Line 655	C++
 	pqCore-pv5.8.dll!pqRenderView::pick(int * pos) Line 577	C++
 	pqApplicationComponents-pv5.8.dll!pqObjectPickingBehavior::eventFilter(QObject * caller, QEvent * e) Line 109	C++
 	Qt5Core.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver, QEvent * event) Line 1214	C++

@Bob_Obara @tj.corona I’d appreciate feedback about which of these issues might need to be addressed, and any priorities you see.