10 #ifndef smtk_extension_vtk_io_ReadVTKData_h
11 #define smtk_extension_vtk_io_ReadVTKData_h
17 #include "smtk/extension/vtk/io/IOVTKExports.h"
19 #include "vtkDataObject.h"
20 #include "vtkSmartPointer.h"
36 ImportFormat(std::string&& name, std::vector<std::string>&& extensions)
38 , Extensions(extensions)
43 std::vector<std::string> Extensions;
59 virtual std::vector<ImportFormat> fileFormats()
const = 0;
69 #ifndef smtkIOVTK_EXPORTS
73 std::pair<std::string, std::string>,
74 vtkSmartPointer<vtkDataObject>,
91 std::pair<std::string, std::string>,
92 vtkSmartPointer<vtkDataObject>,
94 smtk::extension::vtk::io::detail::ImportAsVTKDataBase>
99 std::pair<std::string, std::string>,
100 vtkSmartPointer<vtkDataObject>,
110 std::vector<ImportFormat> fileFormats()
const override {
return { m_format }; }
112 bool valid(
const std::pair<std::string, std::string>& fileInfo)
const override
115 std::begin(m_format.Extensions), std::end(m_format.Extensions), fileInfo.first) !=
116 std::end(m_format.Extensions);
119 vtkSmartPointer<vtkDataObject>
operator()(
const std::pair<std::string, std::string>&)
override =
133 std::pair<std::string, std::string>,
134 vtkSmartPointer<vtkDataObject>,
135 detail::ImportAsVTKDataBase>
139 std::pair<std::string, std::string>,
140 vtkSmartPointer<vtkDataObject>,
141 ImportAsVTKDataBase>::valid;
143 std::pair<std::string, std::string>,
144 vtkSmartPointer<vtkDataObject>,
145 ImportAsVTKDataBase>::operator();
150 std::vector<ImportFormat> fileFormats()
const override;
152 bool valid(
const std::string& file)
const;
154 vtkSmartPointer<vtkDataObject> operator()(
const std::string& file);