def ReadFile(self, filename, name=None, forsequence=False): ''' Only method to get a sequence of the manager from its index. returns NULL pointer if out of range. @param filename: str @param name: str @param forsequence: bool @rtype: vtkMetaDataSet ''' if os.path.isdir(filename): return self.ScanDirectoryForSequence(filename) type=vtkPythonMetaDataSet.VTK_META_UNKNOWN if type==vtkPythonMetaDataSet.VTK_META_UNKNOWN: metadataset=vtkPythonMetaVolumeMesh() if metadataset.CanReadFile(filename): type=vtkPythonMetaDataSet.VTK_META_VOLUME_MESH if type==vtkPythonMetaDataSet.VTK_META_UNKNOWN: metadataset=vtkPythonMetaSurfaceMesh() if metadataset.CanReadFile(filename): type=vtkPythonMetaDataSet.VTK_META_SURFACE_MESH if type==vtkPythonMetaDataSet.VTK_META_UNKNOWN: metadataset=vtkPythonMetaImageData() if metadataset.CanReadFile(filename): type=vtkPythonMetaDataSet.VTK_META_IMAGE_DATA if type==vtkPythonMetaDataSet.VTK_META_UNKNOWN: metadataset=vtkPythonMetaDataSetSequence() if metadataset.CanReadFile(filename): type=vtkPythonMetaDataSet.VTK_META_IMAGE_DATA if type==vtkPythonMetaDataSet.VTK_META_UNKNOWN: print "unknown file format : %s"%(filename) raise IOError, "Unrecognized File Type!" try: metadataset.Read(filename) if name==None: metadataset.setName(os.path.splitext(os.path.split(filename)[1])[0]) else: metadataset.setName(name) self.AddMetaDataSet(metadataset) # del metadataset return metadataset except: # del metadataset raise IOError return None
def ScanDirectoryForSequence(self, dirname, duration): ''' Call this method to scan an entire directory where files belong to a sequence. This will add every dataset that is readable in a sequence, set it to the given duration and add the sequence to the manager. @param dirname: str @param duration: double @rtype: vtkMetaDataSetSequence ''' Sequence = vtkPythonMetaDataSetSequence() try: Sequence.SetSequenceDuration(duration) Sequence.Read(dirname) Sequence.setName(os.path.split(dirname)[1]) self.AddMetaDataSet(Sequence) # del Sequence except: # del Sequence raise IOError return Sequence