[vtk-developers] VTK modularization: initial pass at new modules

David Thompson dcthomp at sandia.gov
Thu Mar 10 19:51:00 EST 2011


> ...
> Basic doesn't seem to fit, but perhaps a Core/Common would be a  
> better name?

How about Common/Core? Common is familiar and those libraries really  
are common dependencies. That way there can be Filtering/Core instead  
of Filtering/Common which would be confusing for existing VTK  
developers.

>> 2. Filtering/Filtering is not descriptive. How about Filtering/ 
>> General or
>> Filtering/Misc?
>
> Yes, I think would be good. It is perhaps best to avoid repeating the
> same name twice in any of the kit names.

I agree.

> Would Filtering/General be reasonably descriptive.

I think so. They are general-purpose filters that aren't part of a  
functional group of filters. Although you might be able to break some  
out, there generally aren't enough classes to justify a separate  
library. For instance, you could have Filters/Multiblock for filters  
that aggregate or extract multiblock datasets. Those tend to get used  
together frequently. In fact, one thing that surprised me about the  
mapping is how little it segregates things by the data representation,  
given that many applications will stick to using just one or two  
(e.g., the statistics filters use multiblock and table datasets, but  
not polydata, image data, unstructured grids, etc.). I guess there are  
enough filters that just operate on dataset attributes (scalars/ 
vectors/...) that it doesn't make sense, but I'm curious whether you  
considered splitting Core/DataModel into Core/{GridModel (regular  
sampling on a grid), MeshModel (unstructured), GraphModel, etc.}?

> I would like to avoid Misc if possible as much
> as possible, but that may also be a good one to use.

I agree that Misc should be avoided when possible.

>> 4. You said all the kits would be in a 2-deep hierarchy, but  
>> several appear
>> at the top layer: AMR, TextAnalysis, Geovis. Should those be AMR/ 
>> Core,
>> TextAnalysis/Core, Geovis/Core?
>
> Yes, that could be a good starting point for a name. I was hoping
> those with better knowledge of those kits might come forward and tell
> me when the ideal organization would be there.

For Geovis you could split out the core functionality from the view 
+representation classes. The whole library is pretty closely tied to  
rendering, so I don't see a point in trying to separate out rendering  
code from Core, but this:

[Geovis/Views]
Geovis/vtkGeoView.h
Geovis/vtkGeoView.cxx
Geovis/vtkGeoView2D.h
Geovis/vtkGeoView2D.cxx
Geovis/vtkGeoAlignedImageRepresentation.h
Geovis/vtkGeoAlignedImageRepresentation.cxx

[Geovis/Core]
everything else

would keep Geovis/Core independent of Views/Core.

	David





More information about the vtk-developers mailing list