00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkUGFacetReader.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00042 #ifndef __vtkUGFacetReader_h 00043 #define __vtkUGFacetReader_h 00044 00045 #include "vtkPolyDataSource.h" 00046 00047 class vtkPointLocator; 00048 class vtkShortArray; 00049 00050 class VTK_IO_EXPORT vtkUGFacetReader : public vtkPolyDataSource 00051 { 00052 public: 00053 vtkTypeRevisionMacro(vtkUGFacetReader,vtkPolyDataSource); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00058 static vtkUGFacetReader *New(); 00059 00062 unsigned long GetMTime(); 00063 00065 00066 vtkSetStringMacro(FileName); 00067 vtkGetStringMacro(FileName); 00069 00071 int GetNumberOfParts(); 00072 00074 short GetPartColorIndex(int partId); 00075 00077 00081 vtkSetMacro(PartNumber,int); 00082 vtkGetMacro(PartNumber,int); 00084 00086 00087 vtkSetMacro(Merging,int); 00088 vtkGetMacro(Merging,int); 00089 vtkBooleanMacro(Merging,int); 00091 00093 00095 void SetLocator(vtkPointLocator *locator); 00096 vtkGetObjectMacro(Locator,vtkPointLocator); 00098 00100 void CreateDefaultLocator(); 00101 00102 protected: 00103 vtkUGFacetReader(); 00104 ~vtkUGFacetReader(); 00105 00106 void Execute(); 00107 00108 char *FileName; 00109 vtkShortArray *PartColors; 00110 int PartNumber; 00111 int Merging; 00112 vtkPointLocator *Locator; 00113 private: 00114 vtkUGFacetReader(const vtkUGFacetReader&); // Not implemented. 00115 void operator=(const vtkUGFacetReader&); // Not implemented. 00116 }; 00117 00118 #endif 00119 00120