[Smtk-developers] Pie in the sky

David Thompson david.thompson at kitware.com
Tue Mar 20 16:06:30 EDT 2018


Hi all,

Following up on the "pie in the sky" talk we had at the meeting today, what about this directory-structure change to go along with the attribute-collection/model-manager/mesh-collection rename:

  core/smtk/{PublicPointerDefs,SharedFromThis, ...}.h
  core/smtk/{attribute, mesh, model}/Resource.{h,cxx}
  core/smtk/model/Session.h

  extension/smtk/model/polygon/{Resource,Session,...}.{h,cxx}
  extension/smtk/paraview/{server, components, ...}
  extension/smtk/qt/{qtAttributeView,...}.{h,cxx}
  extension/smtk/vtk/{source, ...}

  testing/smtk/{attribute, mesh, model}/{cxx,python}/...

  applications/{template-editor, attribute-preview, ...}
  cmake
  data
  doc/{userguide,tutorials,reference}
  python/smtk/{__init__.py, testing.py, simple.py}
  utilities

Everything in core would become smtkCore. Subdirectories of extension/smtk would be separate projects with their own library(ies). In the end, projects in both core and extensions would install their public headers to ${CMAKE_INSTALL_PREFIX}/include/smtk/.... That way, directories could always correspond to namespaces (starting with "smtk", not core or extension) and there wouldn't be a question any more about whether Qt stuff should live in smtk::extension or not -- if it lived in a namespace at all, it would be smtk::qt.

Moving testing out of the core directory would make it clear that tests could depend on extensions (such as polygon/discrete/mesh model resources). Tests would live in the directory/namespace of the most abstract thing they tested, so a test of the model resource that just happened to use a polygon model would live in testing/smtk/model while tests of the polygon session would live in testing/smtk/model/polygon.

	David


More information about the Smtk-developers mailing list