00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkUGFacetReader_h
00024 #define __vtkUGFacetReader_h
00025
00026 #include "vtkPolyDataAlgorithm.h"
00027
00028 class vtkIncrementalPointLocator;
00029 class vtkShortArray;
00030
00031 class VTK_IO_EXPORT vtkUGFacetReader : public vtkPolyDataAlgorithm
00032 {
00033 public:
00034 vtkTypeMacro(vtkUGFacetReader,vtkPolyDataAlgorithm);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00039 static vtkUGFacetReader *New();
00040
00043 unsigned long GetMTime();
00044
00046
00047 vtkSetStringMacro(FileName);
00048 vtkGetStringMacro(FileName);
00050
00052 int GetNumberOfParts();
00053
00055 short GetPartColorIndex(int partId);
00056
00058
00062 vtkSetMacro(PartNumber,int);
00063 vtkGetMacro(PartNumber,int);
00065
00067
00068 vtkSetMacro(Merging,int);
00069 vtkGetMacro(Merging,int);
00070 vtkBooleanMacro(Merging,int);
00072
00074
00076 void SetLocator(vtkIncrementalPointLocator *locator);
00077 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00079
00081 void CreateDefaultLocator();
00082
00083 protected:
00084 vtkUGFacetReader();
00085 ~vtkUGFacetReader();
00086
00087 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00088
00089 char *FileName;
00090 vtkShortArray *PartColors;
00091 int PartNumber;
00092 int Merging;
00093 vtkIncrementalPointLocator *Locator;
00094 private:
00095 vtkUGFacetReader(const vtkUGFacetReader&);
00096 void operator=(const vtkUGFacetReader&);
00097 };
00098
00099 #endif