@Haocheng_Liu I see at least part of the problem you have with the RGG session. It needs not only to indicate that the .rgg file can be loaded but also to add it to the VTK cache. Since it adds dependencies beyond VTK, it should not be in the vtkSMTKSourceExt library. I think the best path forward is to
- Modify
vtkModelMultiBlockSource.cxxto callsmtk::common::Extension::visitAll(...)instead of callingcanHandleon the instance ofvtkAuxiliaryGeometryExtensionthat it creates. It should still create that instance and query it for the cached geometry. - Add a method to
vtkAuxiliaryGeometryExtensionthat subclasses can call to add a vtkDataObject to the cache. Call itaddCacheEntry(). - Have a new
smtk::bridge::rgg::AuxiliaryGeometryExtensionclass inheritvtkAuxiliaryGeometryExtensionand calladdCacheEntry()inside itscanHandle()override.