VTK
vtkDSPFilterGroup.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDSPFilterGroup.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
28 #ifndef __vtkDSPFilterGroup_h
29 #define __vtkDSPFilterGroup_h
30 
31 #include "vtkObject.h"
32 
33 class vtkDSPFilterGroupVectorIntSTLCloak;
34 class vtkDSPFilterGroupVectorVectorIntSTLCloak;
35 class vtkDSPFilterGroupVectorArraySTLCloak;
36 class vtkDSPFilterGroupVectorVectorArraySTLCloak;
37 class vtkDSPFilterGroupVectorStringSTLCloak;
38 class vtkDSPFilterGroupVectorDefinitionSTLCloak;
39 class vtkFloatArray;
41 
43 {
44 public:
45  static vtkDSPFilterGroup *New();
47  void PrintSelf(ostream& os, vtkIndent indent);
48 
49 
50  void AddFilter(vtkDSPFilterDefinition *filter);
51  void RemoveFilter(char *a_outputVariableName);
52 
53  bool IsThisInputVariableInstanceNeeded( const char *a_name, int a_timestep, int a_outputTimestep );
54  bool IsThisInputVariableInstanceCached( const char *a_name, int a_timestep );
55  void AddInputVariableInstance( const char *a_name, int a_timestep, vtkFloatArray *a_data );
56 
57  vtkFloatArray *GetOutput( int a_whichFilter, int a_whichTimestep, int &a_instancesCalculated );
58 
59  vtkFloatArray *GetCachedInput( int a_whichFilter, int a_whichTimestep );
60  vtkFloatArray *GetCachedOutput( int a_whichFilter, int a_whichTimestep );
61 
62  const char *GetInputVariableName(int a_whichFilter);
63 
64  int GetNumFilters();
65 
66  void Copy( vtkDSPFilterGroup *other );
67 
68  vtkDSPFilterDefinition *GetFilter(int a_whichFilter);
69 
70  vtkDSPFilterGroupVectorDefinitionSTLCloak * /*vtkstd::vector<vtkDSPFilterDefinition *>*/ FilterDefinitions;
71 
72 protected:
75 
76 
77  vtkDSPFilterGroupVectorArraySTLCloak * /*vtkstd::vector<vtkFloatArray *>*/ CachedInputs;
78  vtkDSPFilterGroupVectorStringSTLCloak * /*vtkstd::vector<vtkstd::string>*/ CachedInputNames;
79  vtkDSPFilterGroupVectorIntSTLCloak * /*vtkstd::vector<int>*/ CachedInputTimesteps;
80 
81  vtkDSPFilterGroupVectorVectorArraySTLCloak * /*vtkstd::vector< vtkstd::vector<vtkFloatArray *> >*/ CachedOutputs;
82  vtkDSPFilterGroupVectorVectorIntSTLCloak * /*vtkstd::vector< vtkstd::vector<int> >*/ CachedOutputTimesteps;
83 
84 private:
85  vtkDSPFilterGroup(const vtkDSPFilterGroup&); // Not implemented
86  void operator=(const vtkDSPFilterGroup&); // Not implemented
87 };
88 
89 #endif