MCPcopy Create free account
hub / github.com/Kitware/VTK / CreateImageReader2

Method CreateImageReader2

IO/Image/vtkImageReader2Factory.cxx:73–102  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

71
72//----------------------------------------------------------------------------
73vtkImageReader2* vtkImageReader2Factory::CreateImageReader2(const char* path)
74{
75 vtkImageReader2Factory::InitializeReaders();
76 vtkImageReader2* ret;
77 vtkNew<vtkCollection> collection;
78 vtkObjectFactory::CreateAllInstance("vtkImageReaderObject", collection);
79 // first try the current registered object factories to see
80 // if one of them can
81 for (collection->InitTraversal(); vtkObject* object = collection->GetNextItemAsObject();)
82 {
83 ret = vtkImageReader2::SafeDownCast(object);
84 if (ret && ret->CanReadFile(path))
85 {
86 return ret;
87 }
88 }
89
90 // Then try all available readers
91 vtkCollectionSimpleIterator sit;
92 for (vtkImageReader2Factory::AvailableReaders->InitTraversal(sit);
93 (ret = vtkImageReader2Factory::AvailableReaders->GetNextImageReader2(sit));)
94 {
95 if (ret->CanReadFile(path))
96 {
97 // like a new call
98 return ret->NewInstance();
99 }
100 }
101 return nullptr;
102}
103
104//----------------------------------------------------------------------------
105vtkImageReader2* vtkImageReader2Factory::CreateImageReader2FromExtension(const char* extension)

Callers 3

TestJPEGReader.pyFile · 0.80
RequestDataMethod · 0.80
IdealHighPass.pyFile · 0.80

Calls 5

GetNextItemAsObjectMethod · 0.80
GetNextImageReader2Method · 0.80
InitTraversalMethod · 0.45
CanReadFileMethod · 0.45
NewInstanceMethod · 0.45

Tested by

no test coverage detected