Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkDSPFilterGroup.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkDSPFilterGroup.h,v $
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 ----------------------------------------------------------------------------*/
00019 
00020 #ifndef __vtkDSPFilterGroup_h
00021 #define __vtkDSPFilterGroup_h
00022 
00023 #include "vtkObject.h"
00024 
00025 class vtkDSPFilterGroupVectorIntSTLCloak;
00026 class vtkDSPFilterGroupVectorVectorIntSTLCloak;
00027 class vtkDSPFilterGroupVectorArraySTLCloak;
00028 class vtkDSPFilterGroupVectorVectorArraySTLCloak;
00029 class vtkDSPFilterGroupVectorStringSTLCloak;
00030 class vtkDSPFilterGroupVectorDefinitionSTLCloak;
00031 class vtkFloatArray;
00032 class vtkDSPFilterDefinition;
00033 
00034 class VTK_HYBRID_EXPORT vtkDSPFilterGroup : public vtkObject
00035 {
00036 public:
00037   static vtkDSPFilterGroup *New();
00038   vtkTypeRevisionMacro(vtkDSPFilterGroup,vtkObject);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00041 
00042   void AddFilter(vtkDSPFilterDefinition *filter);
00043   void RemoveFilter(char *a_outputVariableName);
00044 
00045   bool IsThisInputVariableInstanceNeeded( const char *a_name, int a_timestep, int a_outputTimestep );
00046   bool IsThisInputVariableInstanceCached( const char *a_name, int a_timestep );
00047   void AddInputVariableInstance( const char *a_name, int a_timestep, vtkFloatArray *a_data );
00048 
00049   vtkFloatArray *GetOutput( int a_whichFilter, int a_whichTimestep, int &a_instancesCalculated );
00050 
00051   vtkFloatArray *GetCachedInput( int a_whichFilter, int a_whichTimestep );
00052   vtkFloatArray *GetCachedOutput( int a_whichFilter, int a_whichTimestep );
00053 
00054   const char *GetInputVariableName(int a_whichFilter);
00055 
00056   int GetNumFilters();
00057 
00058   void Copy( vtkDSPFilterGroup *other );
00059 
00060   vtkDSPFilterDefinition *GetFilter(int a_whichFilter);
00061 
00062   vtkDSPFilterGroupVectorDefinitionSTLCloak * /*vtkstd::vector<vtkDSPFilterDefinition *>*/ FilterDefinitions;
00063 
00064 protected:
00065   vtkDSPFilterGroup();
00066   ~vtkDSPFilterGroup();
00067 
00068 
00069   vtkDSPFilterGroupVectorArraySTLCloak * /*vtkstd::vector<vtkFloatArray *>*/ CachedInputs;
00070   vtkDSPFilterGroupVectorStringSTLCloak * /*vtkstd::vector<vtkstd::string>*/ CachedInputNames;
00071   vtkDSPFilterGroupVectorIntSTLCloak * /*vtkstd::vector<int>*/ CachedInputTimesteps;
00072 
00073   vtkDSPFilterGroupVectorVectorArraySTLCloak * /*vtkstd::vector< vtkstd::vector<vtkFloatArray *> >*/ CachedOutputs;
00074   vtkDSPFilterGroupVectorVectorIntSTLCloak * /*vtkstd::vector< vtkstd::vector<int> >*/ CachedOutputTimesteps;
00075 
00076 private:
00077   vtkDSPFilterGroup(const vtkDSPFilterGroup&); // Not implemented
00078   void operator=(const vtkDSPFilterGroup&); // Not implemented
00079 };
00080 
00081 #endif

Generated on Mon Jan 21 23:07:27 2008 for VTK by  doxygen 1.4.3-20050530