00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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 * FilterDefinitions;
00071
00072 protected:
00073 vtkDSPFilterGroup();
00074 ~vtkDSPFilterGroup();
00075
00076
00077 vtkDSPFilterGroupVectorArraySTLCloak * CachedInputs;
00078 vtkDSPFilterGroupVectorStringSTLCloak * CachedInputNames;
00079 vtkDSPFilterGroupVectorIntSTLCloak * CachedInputTimesteps;
00080
00081 vtkDSPFilterGroupVectorVectorArraySTLCloak * CachedOutputs;
00082 vtkDSPFilterGroupVectorVectorIntSTLCloak * CachedOutputTimesteps;
00083
00084 private:
00085 vtkDSPFilterGroup(const vtkDSPFilterGroup&);
00086 void operator=(const vtkDSPFilterGroup&);
00087 };
00088
00089 #endif