00001 /* $Id: FiletoActor.h,v 1.19 2005/10/26 11:47:29 pfb Exp $ */ 00002 00003 #ifndef _FiletoActor_h 00004 #define _FiletoActor_h 00005 00010 #include "../../Common/Utility/Misc/GoNogo.h" 00011 #include "../../C++/Common/DataSource/FiletoPoly/FiletoPoly.h" 00012 #include "../../Common/Observer/Subject.h" 00013 #include "../../Common/Utility/Misc/GoNogo.h" 00014 #include <vtkObject.h> 00015 #include <vtkActor.h> 00016 #include <vtkPolyDataMapper.h> 00017 #include <vtkPolyData.h> 00018 #include <string> 00019 00020 //class vtkActor; 00021 //class vtkPolyDataMapper; 00022 //class vtkPolyData; 00023 //class FiletoPoly; 00024 00030 class FiletoActor : public GoNogo, public vtkObject 00031 { 00032 //**************************************************************************** 00033 public: 00034 00035 00041 static FiletoActor *New(); 00042 00046 vtkTypeMacro(FiletoActor, vtkObject); 00047 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00065 void decimate(float arg); 00066 00071 float decimate() const; 00072 00077 vtkActor *actor() const; 00078 00083 vtkPolyDataMapper *mapper() const; 00084 00085 00090 virtual void SetFileName(const char *pathname); 00091 00096 virtual void SetFileName(const std::string pathname); 00097 00104 vtkPolyData *GetOutput() const; 00105 00112 vtkPolyData *GetDecimatedOutput() const; 00113 00122 void SetInput(vtkPolyData *input); 00123 00128 vtkPolyData *GetInput() const; 00129 00134 std::string inputType() const; 00135 00139 virtual void ReleaseDataFlagOn(); 00140 00144 virtual void ReleaseDataFlagOff(); 00145 00150 virtual void SetReleaseDataFlag(int dynamic); 00151 00156 virtual int GetReleaseDataFlag(); 00157 00162 void DebugOn(); 00163 00168 void DebugOff(); 00169 00170 //**************************************************************************** 00171 protected: 00172 00176 FiletoActor(); 00177 00181 virtual ~FiletoActor(); 00182 00189 void constructDataflow(); 00190 00194 FiletoPoly *_dataflow; 00195 00199 vtkPolyDataMapper *_mapper; 00200 00204 vtkActor *_actor; 00205 00206 //**************************************************************************** 00207 private: 00208 00212 FiletoActor(const FiletoActor&); 00213 FiletoActor& operator=(const FiletoActor&); 00214 00215 int memmanagejk; 00216 }; 00217 00218 /* 00219 * $Log: FiletoActor.h,v $ 00220 * Revision 1.19 2005/10/26 11:47:29 pfb 00221 * Fixed doxygen tags. 00222 * 00223 * Revision 1.18 2005/06/10 07:49:02 pfb 00224 * Changes made as a result of dev. machine update from woody to sarge. 00225 * Most of the changes are because of the upgrade from gcc-2.95 to gcc-3.3. 00226 * 00227 * Revision 1.17 2005/05/10 17:08:00 pfb 00228 * Added module info. 00229 * 00230 * Revision 1.16 2004/11/09 03:47:30 pfb 00231 * Documentation change. 00232 * 00233 * Revision 1.15 2003/07/09 06:52:46 pfb 00234 * Removed inheritance from Subject. Now gets this via GoNogo. 00235 * 00236 * Revision 1.14 2003/05/14 03:51:17 pfb 00237 * Added test for window instantiated. 00238 * 00239 * Revision 1.13 2003/05/12 19:25:42 pfb 00240 * Added ReleaseDataFlagOn(), ReleaseDataFlagOff(), SetReleaseDataFlag() 00241 * and GetReleaseDataFlag(). 00242 * 00243 * Revision 1.12 2003/02/26 05:03:50 pfb 00244 * Made this class a Subject. 00245 * 00246 * Revision 1.11 2003/02/21 15:07:57 pfb 00247 * Added GetInput(). Fixed decimate() to give correct value under all 00248 * conditions. 00249 * 00250 * Revision 1.10 2003/01/25 13:43:57 pfb 00251 * This class is a GoNogo instead of just having one. 00252 * 00253 * Revision 1.9 2002/11/15 14:48:33 pfb 00254 * Modified the decimate() functions so that the factor may now be specified. 00255 * 00256 * Revision 1.8 2002/10/25 13:50:15 pfb 00257 * Added debugging functionality. 00258 * 00259 * Revision 1.7 2002/07/06 05:28:37 pfb 00260 * Added SetFileName(const string). 00261 * 00262 * Revision 1.6 2002/07/04 08:50:30 pfb 00263 * Forbit copying. 00264 * 00265 * Revision 1.5 2002/04/21 14:50:43 pfb 00266 * This class is now a Vtk type object. This is necessary so that the WrapTcl 00267 * and WrapJAva etc work (and its a good thing anyway). 00268 * 00269 * Revision 1.4 2002/04/14 16:24:37 pfb 00270 * Fixed member var initialization and added dtor - just as it should be. 00271 * 00272 * Revision 1.3 2002/04/13 16:13:34 pfb 00273 * Added comment. 00274 * 00275 * Revision 1.2 2002/04/13 16:11:51 pfb 00276 * Compiles. Needs testing? 00277 * 00278 * Revision 1.1 2002/04/09 14:31:30 pfb 00279 * Initial rev. Work in progress. 00280 * 00281 * 00282 */ 00283 00287 #endif