VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkParticlePathFilter.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 =========================================================================*/ 00028 #ifndef __vtkParticlePathFilter_h 00029 #define __vtkParticlePathFilter_h 00030 00031 #include "vtkFiltersFlowPathsModule.h" // For export macro 00032 #include "vtkSmartPointer.h" // For protected ivars. 00033 #include "vtkParticleTracerBase.h" 00034 #include <vector> // For protected ivars 00035 00036 class VTKFILTERSFLOWPATHS_EXPORT ParticlePathFilterInternal 00037 { 00038 public: 00039 ParticlePathFilterInternal():Filter(NULL){} 00040 void Initialize(vtkParticleTracerBase* filter); 00041 virtual ~ParticlePathFilterInternal(){} 00042 virtual int OutputParticles(vtkPolyData* poly); 00043 void Finalize(); 00044 void Reset(); 00045 00046 private: 00047 vtkParticleTracerBase* Filter; 00048 std::vector<vtkSmartPointer<vtkIdList> > Paths; 00049 }; 00050 00051 class VTKFILTERSFLOWPATHS_EXPORT vtkParticlePathFilter: public vtkParticleTracerBase 00052 { 00053 public: 00054 vtkTypeMacro(vtkParticlePathFilter,vtkParticleTracerBase) 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00057 static vtkParticlePathFilter *New(); 00058 00059 protected: 00060 vtkParticlePathFilter(); 00061 ~vtkParticlePathFilter(){} 00062 vtkParticlePathFilter(const vtkParticlePathFilter&); // Not implemented. 00063 void operator=(const vtkParticlePathFilter&); // Not implemented. 00064 00065 virtual void ResetCache(); 00066 virtual int OutputParticles(vtkPolyData* poly); 00067 void Finalize(); 00068 00069 ParticlePathFilterInternal It; 00070 }; 00071 00072 00073 #endif