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

Method CreateImageReader2FromExtension

IO/Image/vtkImageReader2Factory.cxx:105–139  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

103
104//----------------------------------------------------------------------------
105vtkImageReader2* vtkImageReader2Factory::CreateImageReader2FromExtension(const char* extension)
106{
107 vtkImageReader2Factory::InitializeReaders();
108 vtkImageReader2* ret;
109 vtkNew<vtkCollection> collection;
110 vtkObjectFactory::CreateAllInstance("vtkImageReaderObject", collection);
111
112 // first try the current registered object factories to see
113 // if one of them can
114 for (collection->InitTraversal(); vtkObject* object = collection->GetNextItemAsObject();)
115 {
116 ret = vtkImageReader2::SafeDownCast(object);
117 if (ret)
118 {
119 const char* extensions = ret->GetFileExtensions();
120 if (vtkImageReader2Factory::CheckExtensionIsInExtensions(extension, extensions))
121 {
122 return ret;
123 }
124 }
125 }
126
127 // Then try all available readers
128 vtkCollectionSimpleIterator sit;
129 for (vtkImageReader2Factory::AvailableReaders->InitTraversal(sit);
130 (ret = vtkImageReader2Factory::AvailableReaders->GetNextImageReader2(sit));)
131 {
132 const char* extensions = ret->GetFileExtensions();
133 if (vtkImageReader2Factory::CheckExtensionIsInExtensions(extension, extensions))
134 {
135 return ret->NewInstance();
136 }
137 }
138 return nullptr;
139}
140
141//----------------------------------------------------------------------------
142bool vtkImageReader2Factory::CheckExtensionIsInExtensions(

Callers 1

TestTIFFReader.pyFile · 0.80

Calls 5

GetNextItemAsObjectMethod · 0.80
GetFileExtensionsMethod · 0.80
GetNextImageReader2Method · 0.80
InitTraversalMethod · 0.45
NewInstanceMethod · 0.45

Tested by

no test coverage detected