VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSortFileNames.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 =========================================================================*/ 00033 #ifndef __vtkSortFileNames_h 00034 #define __vtkSortFileNames_h 00035 00036 #include "vtkIOCoreModule.h" // For export macro 00037 #include "vtkObject.h" 00038 00039 class vtkStringArray; 00040 00041 //BTX 00042 // this is a helper class defined in the .cxx file 00043 class vtkStringArrayVector; 00044 //ETX 00045 00046 class VTKIOCORE_EXPORT vtkSortFileNames : public vtkObject 00047 { 00048 public: 00049 00050 vtkTypeMacro(vtkSortFileNames,vtkObject); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 static vtkSortFileNames *New(); 00053 00055 00059 vtkSetMacro(Grouping, int); 00060 vtkGetMacro(Grouping, int); 00061 vtkBooleanMacro(Grouping, int); 00063 00065 00070 vtkSetMacro(NumericSort, int); 00071 vtkGetMacro(NumericSort, int); 00072 vtkBooleanMacro(NumericSort, int); 00074 00076 00078 vtkSetMacro(IgnoreCase, int); 00079 vtkGetMacro(IgnoreCase, int); 00080 vtkBooleanMacro(IgnoreCase, int); 00082 00084 00087 vtkSetMacro(SkipDirectories, int); 00088 vtkGetMacro(SkipDirectories, int); 00089 vtkBooleanMacro(SkipDirectories, int); 00091 00093 00094 void SetInputFileNames(vtkStringArray *input); 00095 vtkGetObjectMacro(InputFileNames, vtkStringArray); 00097 00099 virtual vtkStringArray *GetFileNames(); 00100 00105 virtual int GetNumberOfGroups(); 00106 00109 virtual vtkStringArray *GetNthGroup(int i); 00110 00114 virtual void Update(); 00115 00116 protected: 00117 vtkSortFileNames(); 00118 ~vtkSortFileNames(); 00119 00120 int NumericSort; 00121 int IgnoreCase; 00122 int Grouping; 00123 int SkipDirectories; 00124 00125 vtkTimeStamp UpdateTime; 00126 00127 vtkStringArray *InputFileNames; 00128 vtkStringArray *FileNames; 00129 vtkStringArrayVector *Groups; 00130 00132 virtual void Execute(); 00133 00135 virtual void SortFileNames(vtkStringArray *input, vtkStringArray *output); 00136 00138 00139 virtual void GroupFileNames(vtkStringArray *input, 00140 vtkStringArrayVector *output); 00142 00143 00144 private: 00145 vtkSortFileNames(const vtkSortFileNames&); // Not implemented. 00146 void operator=(const vtkSortFileNames&); // Not implemented. 00147 }; 00148 00149 #endif