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 "vtkFiltersHybridModule.h" // For export macro 00032 #include "vtkObject.h" 00033 00034 class vtkDSPFilterGroupVectorIntSTLCloak; 00035 class vtkDSPFilterGroupVectorVectorIntSTLCloak; 00036 class vtkDSPFilterGroupVectorArraySTLCloak; 00037 class vtkDSPFilterGroupVectorVectorArraySTLCloak; 00038 class vtkDSPFilterGroupVectorStringSTLCloak; 00039 class vtkDSPFilterGroupVectorDefinitionSTLCloak; 00040 class vtkFloatArray; 00041 class vtkDSPFilterDefinition; 00042 00043 class VTKFILTERSHYBRID_EXPORT vtkDSPFilterGroup : public vtkObject 00044 { 00045 public: 00046 static vtkDSPFilterGroup *New(); 00047 vtkTypeMacro(vtkDSPFilterGroup,vtkObject); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00050 00051 void AddFilter(vtkDSPFilterDefinition *filter); 00052 void RemoveFilter(char *a_outputVariableName); 00053 00054 bool IsThisInputVariableInstanceNeeded( const char *a_name, int a_timestep, int a_outputTimestep ); 00055 bool IsThisInputVariableInstanceCached( const char *a_name, int a_timestep ); 00056 void AddInputVariableInstance( const char *a_name, int a_timestep, vtkFloatArray *a_data ); 00057 00058 vtkFloatArray *GetOutput( int a_whichFilter, int a_whichTimestep, int &a_instancesCalculated ); 00059 00060 vtkFloatArray *GetCachedInput( int a_whichFilter, int a_whichTimestep ); 00061 vtkFloatArray *GetCachedOutput( int a_whichFilter, int a_whichTimestep ); 00062 00063 const char *GetInputVariableName(int a_whichFilter); 00064 00065 int GetNumFilters(); 00066 00067 void Copy( vtkDSPFilterGroup *other ); 00068 00069 vtkDSPFilterDefinition *GetFilter(int a_whichFilter); 00070 00071 vtkDSPFilterGroupVectorDefinitionSTLCloak * /*std::vector<vtkDSPFilterDefinition *>*/ FilterDefinitions; 00072 00073 protected: 00074 vtkDSPFilterGroup(); 00075 ~vtkDSPFilterGroup(); 00076 00077 00078 vtkDSPFilterGroupVectorArraySTLCloak * /*std::vector<vtkFloatArray *>*/ CachedInputs; 00079 vtkDSPFilterGroupVectorStringSTLCloak * /*std::vector<std::string>*/ CachedInputNames; 00080 vtkDSPFilterGroupVectorIntSTLCloak * /*std::vector<int>*/ CachedInputTimesteps; 00081 00082 vtkDSPFilterGroupVectorVectorArraySTLCloak * /*std::vector< std::vector<vtkFloatArray *> >*/ CachedOutputs; 00083 vtkDSPFilterGroupVectorVectorIntSTLCloak * /*std::vector< std::vector<int> >*/ CachedOutputTimesteps; 00084 00085 private: 00086 vtkDSPFilterGroup(const vtkDSPFilterGroup&); // Not implemented 00087 void operator=(const vtkDSPFilterGroup&); // Not implemented 00088 }; 00089 00090 #endif