VTK/ARB/Meetings/August 2010

From KitwarePublic
< VTK‎ | ARB‎ | Meetings
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Agenda

Notes

Modularization

  • Reorganize VTK, clean up dependencies
  • Clean up build process, use newer CMake functionality
  • Copy out some subdirectories into separate repository
  • Only incompatibility is that people need to link to a different set of libraries
  • Kit boundaries are bound by subclasses
    • This is not much of an issue since VTK has a "fat" hierarchy tree
  • Within common, there are things that are not too common
    • Implicit functions, math, etc.
  • Make a graph of dependencies, perhaps do clustering
  • What dependencies do the examples have?
  • Potentially make XML readers / writers in own kit so people could work with VTK file format without much VTK
  • Look at what ITK does with Ryppl this coming year
  • Possibly use namespaces?
  • Move some informatics stuff into Titan as part of the reorganization
  • Look into "shopping cart" approach for the future where you create custom libraries based on individual class needs
  • Remove unnecessary dependencies among kits
  • Consensus: This will be a good thing, let's do it.

Removing 4.0 compatibility layer

  • In VTK 4.0, left interdependencies between data objects and pipeline
  • Main incompatibility is people using b->SetInput(a->GetOutput())
  • Should we leave the SetInput() function?
    • Leaving it will produce a runtime error for the case above. It would also allow existing code to work.
    • Changing the name to SetInputDataObject() will produce a compile-time error.
  • Make a script that checks for these errors.
  • Flagging errors in next release when people are connecting pipelines using SetInput()
  • Should communicate using "remove legacy" flag to VTK community to test whether their code will work in VTK 6.0.
  • Make sure "key" toolkits are ready and notified of upcoming changes
    • Slicer
    • ITK
    • ParaView
    • VisTrails
    • Titan
    • others?
  • Consensus: Remove compatibility layer, leave SetInput() but change behavior in 6.0.

Action Items

  • (Berk) Send information about XML C interface to ARB
  • (Berk) Ask for help from topic experts on how to organize the classes, present ideas to VTK community
  • (Berk) Look into defining some variables that make old targets work
  • (Kitware and VTK community) Do modularization of kits
  • (Kitware) Remove 4.0 legacy code

Some Other Time

  • Change to static vtkAlgorithm::Connect(a->GetOutputPort(), b->GetInputPort())?