VTK
vtkSortFileNames.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSortFileNames.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
31 #ifndef vtkSortFileNames_h
32 #define vtkSortFileNames_h
33 
34 #include "vtkIOCoreModule.h" // For export macro
35 #include "vtkObject.h"
36 
37 class vtkStringArray;
38 
39 // this is a helper class defined in the .cxx file
40 class vtkStringArrayVector;
41 
42 class VTKIOCORE_EXPORT vtkSortFileNames : public vtkObject
43 {
44 public:
45 
46  vtkTypeMacro(vtkSortFileNames,vtkObject);
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48  static vtkSortFileNames *New();
49 
51 
58  vtkSetMacro(Grouping, vtkTypeBool);
59  vtkGetMacro(Grouping, vtkTypeBool);
60  vtkBooleanMacro(Grouping, vtkTypeBool);
62 
64 
72  vtkSetMacro(NumericSort, vtkTypeBool);
73  vtkGetMacro(NumericSort, vtkTypeBool);
74  vtkBooleanMacro(NumericSort, vtkTypeBool);
76 
78 
82  vtkSetMacro(IgnoreCase, vtkTypeBool);
83  vtkGetMacro(IgnoreCase, vtkTypeBool);
84  vtkBooleanMacro(IgnoreCase, vtkTypeBool);
86 
88 
93  vtkSetMacro(SkipDirectories, vtkTypeBool);
94  vtkGetMacro(SkipDirectories, vtkTypeBool);
95  vtkBooleanMacro(SkipDirectories, vtkTypeBool);
97 
99 
102  void SetInputFileNames(vtkStringArray *input);
103  vtkGetObjectMacro(InputFileNames, vtkStringArray);
105 
109  virtual vtkStringArray *GetFileNames();
110 
118  virtual int GetNumberOfGroups();
119 
125  virtual vtkStringArray *GetNthGroup(int i);
126 
132  virtual void Update();
133 
134 protected:
136  ~vtkSortFileNames() override;
137 
142 
144 
147  vtkStringArrayVector *Groups;
148 
152  virtual void Execute();
153 
157  virtual void SortFileNames(vtkStringArray *input, vtkStringArray *output);
158 
162  virtual void GroupFileNames(vtkStringArray *input,
163  vtkStringArrayVector *output);
164 
165 
166 private:
167  vtkSortFileNames(const vtkSortFileNames&) = delete;
168  void operator=(const vtkSortFileNames&) = delete;
169 };
170 
171 #endif
vtkSortFileNames::SkipDirectories
vtkTypeBool SkipDirectories
Definition: vtkSortFileNames.h:141
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:32
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:53
vtkSortFileNames::InputFileNames
vtkStringArray * InputFileNames
Definition: vtkSortFileNames.h:145
vtkSortFileNames::UpdateTime
vtkTimeStamp UpdateTime
Definition: vtkSortFileNames.h:143
vtkSortFileNames::FileNames
vtkStringArray * FileNames
Definition: vtkSortFileNames.h:146
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkSortFileNames::NumericSort
vtkTypeBool NumericSort
Definition: vtkSortFileNames.h:138
vtkSortFileNames::Groups
vtkStringArrayVector * Groups
Definition: vtkSortFileNames.h:147
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSortFileNames::IgnoreCase
vtkTypeBool IgnoreCase
Definition: vtkSortFileNames.h:139
vtkObject.h
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:36
vtkSortFileNames
Group and sort a set of filenames.
Definition: vtkSortFileNames.h:42
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkSortFileNames::Grouping
vtkTypeBool Grouping
Definition: vtkSortFileNames.h:140