50 likes | 122 Views
Background slides on avtDataset and the abstract filter classes. 3 next 2 slides have the inheritance diagrams for the abstract filter classes avt /Pipeline/ AbstractFilters The 2 slides after that have the avtDataset hierarchy and some possible changes.
E N D
Background slides on avtDataset and the abstract filter classes • 3 next 2 slides have the inheritance diagrams for the abstract filter classes • avt/Pipeline/AbstractFilters • The 2 slides after that have the avtDataset hierarchy and some possible changes. • We could also do some renaming of the classes since I don’t consider some of the names too intuitive
avtImageSource avtFilter-1 avtDatasetSource avtDatasetSink avtImageSink avtFilter-1 avtDataObjectToImageFilter-1 avtDatasetToDataObjectFilter-2 avtDataObjectToDatasetFilter-3 avtImageToDataObjectFilter-1 avtImageToImageFilter-1 avtDatasetToDatasetFilter-1 avtDatasetToImageFilter-1 avtSIMODataTreeIterator-4 avtCompactTreeFilter avtDatasetToVTKDatasetFilter– not used avtVTKDatasetToDatasetFilter – not used avtDataTreeIterator-4 avtStructuredChunkDataTreeIterator-4 avtFilter-1 avtSamplePointsSource avtSamplePointsSink avtFilter-1 avtMultipleInputSink avtSamplePointsToDataObjectFilter-1 avtDataObjectToSamplePointsFilter-1 avtMultipleInputToDataObjectFilter-1 avtSamplePointsToSamplePointsFilter-1 avtMultipleInputToDatasetFilter-1 avtDatasetToSamplePointsFilter-1 avtSamplePointsToDatasetFilter-1 avtSamplePointsToImageFilter-1 1) no vtk dependence 2) vtkObject dependence 3) vtkDebugMode dependence 4) ExecuteDataTreevtk dependence avtPlugin*Filter – Addition of attribute subject to filter
avtFilter-1 avtStructuredMeshChunker – heavy vtk dependence avtFacadeFilter-1 avtStructuredMeshPartionStrategy-1 avtSingleFilterFacade-1 avtSweepPlanePartitionStrategy-1 avtMultiResolutionPartitionStrategy-1 1) no vtkdepedence 2) vtkObject dependence 3) vtkDebugMode dependence 4) ExecuteDataTreevtk dependence avtPlugin*Filter – Addition of attribute subject to filter
Current hierarchy Minimal change avtObject avtObject avtDataset avtDataset Has a Has a avtDataTree avtDataTree Has a Has a avtDataRepresentation avtDataRepresentation GetDataVTK() GetDataString() virtual GetDataVTK()* virtual GetDataEAVL()* … virtual GetDataString()** *The GetDataXXX would be trivial if it was the same type as the class and would involve a conversion if it wasn’t. **GetDataString would now need to encode the type of the data and there may be an error if it was sent to another Component that didn’t have support for that type (e.g. engine sent an EAVL dataset to a viewer that only supported VTK)
SubclassingavtDataRepresentation avtObject avtDataset Has a avtDataTree Has a virtual GetDataVTK()* virtual GetDataEAVL()* … virtual GetDataString()** avtDataRepresentation … avtVTKDataRepresentation avtEAVLDataRepresentation