VTK
dox/IO/vtkGlobFileNames.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkGlobFileNames.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00038 #ifndef __vtkGlobFileNames_h
00039 #define __vtkGlobFileNames_h
00040 
00041 #include "vtkObject.h"
00042 
00043 class vtkStringArray;
00044 
00045 class VTK_IO_EXPORT vtkGlobFileNames : public vtkObject
00046 {
00047 public:
00049 
00050   vtkTypeMacro(vtkGlobFileNames,vtkObject);
00052 
00054   static vtkGlobFileNames *New();
00055 
00057   virtual void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060   void Reset();
00061 
00063 
00068   vtkSetStringMacro(Directory);
00069   vtkGetStringMacro(Directory);
00071 
00076   int AddFileNames(const char* pattern);
00077 
00079 
00080   vtkSetMacro(Recurse, int);
00081   vtkBooleanMacro(Recurse, int);
00082   vtkGetMacro(Recurse, int);
00084 
00086   int GetNumberOfFileNames();
00087 
00089   const char* GetNthFileName(int index);
00090 
00092 
00093   vtkGetObjectMacro(FileNames, vtkStringArray);
00095 
00096 protected:
00098 
00099   vtkSetStringMacro(Pattern);
00100   vtkGetStringMacro(Pattern);
00102 
00103   vtkGlobFileNames();
00104   ~vtkGlobFileNames();
00105 
00106 private:
00107   char* Directory;          // Directory for search.
00108   char* Pattern;            // Wildcard pattern
00109   int Recurse;              // Recurse into subdirectories
00110   vtkStringArray *FileNames;    // VTK array of files
00111 
00112 private:
00113   vtkGlobFileNames(const vtkGlobFileNames&);  // Not implemented.
00114   void operator=(const vtkGlobFileNames&);  // Not implemented.
00115 };
00116 
00117 #endif