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 "vtkObject.h" 00037 00038 class vtkStringArray; 00039 00040 //BTX 00041 // this is a helper class defined in the .cxx file 00042 class vtkStringArrayVector; 00043 //ETX 00044 00045 class VTK_IO_EXPORT vtkSortFileNames : public vtkObject 00046 { 00047 public: 00048 00049 vtkTypeMacro(vtkSortFileNames,vtkObject); 00050 void PrintSelf(ostream& os, vtkIndent indent); 00051 static vtkSortFileNames *New(); 00052 00054 00058 vtkSetMacro(Grouping, int); 00059 vtkGetMacro(Grouping, int); 00060 vtkBooleanMacro(Grouping, int); 00062 00064 00069 vtkSetMacro(NumericSort, int); 00070 vtkGetMacro(NumericSort, int); 00071 vtkBooleanMacro(NumericSort, int); 00073 00075 00077 vtkSetMacro(IgnoreCase, int); 00078 vtkGetMacro(IgnoreCase, int); 00079 vtkBooleanMacro(IgnoreCase, int); 00081 00083 00086 vtkSetMacro(SkipDirectories, int); 00087 vtkGetMacro(SkipDirectories, int); 00088 vtkBooleanMacro(SkipDirectories, int); 00090 00092 00093 void SetInputFileNames(vtkStringArray *input); 00094 vtkGetObjectMacro(InputFileNames, vtkStringArray); 00096 00098 virtual vtkStringArray *GetFileNames(); 00099 00104 virtual int GetNumberOfGroups(); 00105 00108 virtual vtkStringArray *GetNthGroup(int i); 00109 00113 virtual void Update(); 00114 00115 protected: 00116 vtkSortFileNames(); 00117 ~vtkSortFileNames(); 00118 00119 int NumericSort; 00120 int IgnoreCase; 00121 int Grouping; 00122 int SkipDirectories; 00123 00124 vtkTimeStamp UpdateTime; 00125 00126 vtkStringArray *InputFileNames; 00127 vtkStringArray *FileNames; 00128 vtkStringArrayVector *Groups; 00129 00131 virtual void Execute(); 00132 00134 virtual void SortFileNames(vtkStringArray *input, vtkStringArray *output); 00135 00137 00138 virtual void GroupFileNames(vtkStringArray *input, 00139 vtkStringArrayVector *output); 00141 00142 00143 private: 00144 vtkSortFileNames(const vtkSortFileNames&); // Not implemented. 00145 void operator=(const vtkSortFileNames&); // Not implemented. 00146 }; 00147 00148 #endif