VTK  9.3.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
27 #ifndef vtkGlobFileNames_h
28 #define vtkGlobFileNames_h
29 
30 #include "vtkIOCoreModule.h" // For export macro
31 #include "vtkObject.h"
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 class vtkStringArray;
35 
36 class VTKIOCORE_EXPORT vtkGlobFileNames : public vtkObject
37 {
38 public:
40 
43  vtkTypeMacro(vtkGlobFileNames, vtkObject);
45 
49  static vtkGlobFileNames* New();
50 
54  void PrintSelf(ostream& os, vtkIndent indent) override;
55 
59  void Reset();
60 
62 
69  vtkSetFilePathMacro(Directory);
70  vtkGetFilePathMacro(Directory);
72 
79  int AddFileNames(VTK_FILEPATH const char* pattern);
80 
82 
85  vtkSetMacro(Recurse, vtkTypeBool);
86  vtkBooleanMacro(Recurse, vtkTypeBool);
87  vtkGetMacro(Recurse, vtkTypeBool);
89 
93  int GetNumberOfFileNames();
94 
98  VTK_FILEPATH const char* GetNthFileName(int index);
99 
101 
104  vtkGetObjectMacro(FileNames, vtkStringArray);
106 
107 protected:
109 
112  vtkSetFilePathMacro(Pattern);
113  vtkGetFilePathMacro(Pattern);
115 
117  ~vtkGlobFileNames() override;
118 
119 private:
120  char* Directory; // Directory for search.
121  char* Pattern; // Wildcard pattern
122  vtkTypeBool Recurse; // Recurse into subdirectories
123  vtkStringArray* FileNames; // VTK array of files
124 
125  vtkGlobFileNames(const vtkGlobFileNames&) = delete;
126  void operator=(const vtkGlobFileNames&) = delete;
127 };
128 
129 VTK_ABI_NAMESPACE_END
130 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
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...