VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkDSPFilterGroup.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 =========================================================================*/ 00015 /*---------------------------------------------------------------------------- 00016 Copyright (c) Sandia Corporation 00017 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00018 ----------------------------------------------------------------------------*/ 00028 #ifndef __vtkDSPFilterGroup_h 00029 #define __vtkDSPFilterGroup_h 00030 00031 #include "vtkObject.h" 00032 00033 class vtkDSPFilterGroupVectorIntSTLCloak; 00034 class vtkDSPFilterGroupVectorVectorIntSTLCloak; 00035 class vtkDSPFilterGroupVectorArraySTLCloak; 00036 class vtkDSPFilterGroupVectorVectorArraySTLCloak; 00037 class vtkDSPFilterGroupVectorStringSTLCloak; 00038 class vtkDSPFilterGroupVectorDefinitionSTLCloak; 00039 class vtkFloatArray; 00040 class vtkDSPFilterDefinition; 00041 00042 class VTK_HYBRID_EXPORT vtkDSPFilterGroup : public vtkObject 00043 { 00044 public: 00045 static vtkDSPFilterGroup *New(); 00046 vtkTypeMacro(vtkDSPFilterGroup,vtkObject); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00049 00050 void AddFilter(vtkDSPFilterDefinition *filter); 00051 void RemoveFilter(char *a_outputVariableName); 00052 00053 bool IsThisInputVariableInstanceNeeded( const char *a_name, int a_timestep, int a_outputTimestep ); 00054 bool IsThisInputVariableInstanceCached( const char *a_name, int a_timestep ); 00055 void AddInputVariableInstance( const char *a_name, int a_timestep, vtkFloatArray *a_data ); 00056 00057 vtkFloatArray *GetOutput( int a_whichFilter, int a_whichTimestep, int &a_instancesCalculated ); 00058 00059 vtkFloatArray *GetCachedInput( int a_whichFilter, int a_whichTimestep ); 00060 vtkFloatArray *GetCachedOutput( int a_whichFilter, int a_whichTimestep ); 00061 00062 const char *GetInputVariableName(int a_whichFilter); 00063 00064 int GetNumFilters(); 00065 00066 void Copy( vtkDSPFilterGroup *other ); 00067 00068 vtkDSPFilterDefinition *GetFilter(int a_whichFilter); 00069 00070 vtkDSPFilterGroupVectorDefinitionSTLCloak * /*std::vector<vtkDSPFilterDefinition *>*/ FilterDefinitions; 00071 00072 protected: 00073 vtkDSPFilterGroup(); 00074 ~vtkDSPFilterGroup(); 00075 00076 00077 vtkDSPFilterGroupVectorArraySTLCloak * /*std::vector<vtkFloatArray *>*/ CachedInputs; 00078 vtkDSPFilterGroupVectorStringSTLCloak * /*std::vector<std::string>*/ CachedInputNames; 00079 vtkDSPFilterGroupVectorIntSTLCloak * /*std::vector<int>*/ CachedInputTimesteps; 00080 00081 vtkDSPFilterGroupVectorVectorArraySTLCloak * /*std::vector< std::vector<vtkFloatArray *> >*/ CachedOutputs; 00082 vtkDSPFilterGroupVectorVectorIntSTLCloak * /*std::vector< std::vector<int> >*/ CachedOutputTimesteps; 00083 00084 private: 00085 vtkDSPFilterGroup(const vtkDSPFilterGroup&); // Not implemented 00086 void operator=(const vtkDSPFilterGroup&); // Not implemented 00087 }; 00088 00089 #endif