VTK  9.7.1
vtkGlobFileNames.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
34 #ifndef vtkGlobFileNames_h
35 #define vtkGlobFileNames_h
36 
37 #include "vtkIOCoreModule.h" // For export macro
38 #include "vtkObject.h"
39 
40 VTK_ABI_NAMESPACE_BEGIN
41 class vtkStringArray;
42 
43 class VTKIOCORE_EXPORT vtkGlobFileNames : public vtkObject
44 {
45 public:
47 
50  vtkTypeMacro(vtkGlobFileNames, vtkObject);
52 
56  static vtkGlobFileNames* New();
57 
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
66  void Reset();
67 
69 
76  vtkSetFilePathMacro(Directory);
77  vtkGetFilePathMacro(Directory);
79 
86  int AddFileNames(VTK_FILEPATH const char* pattern);
87 
89 
92  vtkSetMacro(Recurse, vtkTypeBool);
93  vtkBooleanMacro(Recurse, vtkTypeBool);
94  vtkGetMacro(Recurse, vtkTypeBool);
96 
100  int GetNumberOfFileNames();
101 
105  VTK_FILEPATH const char* GetNthFileName(int index);
106 
108 
111  vtkGetObjectMacro(FileNames, vtkStringArray);
113 
114 protected:
116 
119  vtkSetFilePathMacro(Pattern);
120  vtkGetFilePathMacro(Pattern);
122 
124  ~vtkGlobFileNames() override;
125 
126 private:
127  char* Directory; // Directory for search.
128  char* Pattern; // Wildcard pattern
129  vtkTypeBool Recurse; // Recurse into subdirectories
130  vtkStringArray* FileNames; // VTK array of files
131 
132  vtkGlobFileNames(const vtkGlobFileNames&) = delete;
133  void operator=(const vtkGlobFileNames&) = delete;
134 };
135 
136 VTK_ABI_NAMESPACE_END
137 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:52
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a vtkAbstractArray subclass for strings
find files that match a wildcard pattern
int vtkTypeBool
Definition: vtkABI.h:64
a simple class to control print indentation
Definition: vtkIndent.h:28
#define VTK_FILEPATH
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...