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

Servers/Filters/vtkSelectInputs.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSelectInputs.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
00024 #ifndef __vtkSelectInputs_h
00025 #define __vtkSelectInputs_h
00026 
00027 #include "vtkSource.h"
00028 
00029 class vtkDataSet;
00030 class vtkIntArray;
00031 
00032 class VTK_EXPORT vtkSelectInputs : public vtkSource
00033 {
00034 public:
00035   static vtkSelectInputs *New();
00036 
00037   vtkTypeRevisionMacro(vtkSelectInputs,vtkSource);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041   void AddInput(vtkDataSet *in);
00042 
00044 
00045   vtkDataSet *GetInput(int idx);
00046   vtkDataSet *GetInput() 
00047     {return this->GetInput( 0 );}
00049   
00051 
00052   virtual int GetNumberOfOutputs();
00053   vtkDataSet *GetOutput(int idx);
00054   vtkDataSet *GetOutput() 
00055     {return this->GetInput( 0 );}
00057   
00059 
00061   void SetInputMask(int idx, int flag);
00062   int GetInputMask(int idx);
00064 
00066   virtual void ComputeInputUpdateExtents( vtkDataObject *output );
00067 
00068 protected:
00069   vtkSelectInputs();
00070   ~vtkSelectInputs();
00071 
00072   // Usual data generation method
00073   virtual void Execute();
00074   virtual void ExecuteInformation();
00075 
00076   vtkIntArray *InputMask;
00077 
00078 private:
00079 
00080   // hide the superclass' AddInput() from the user and the compiler
00081   void AddInput(vtkDataObject *)
00082     { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00083   void RemoveInput(vtkDataObject *input)
00084     { this->vtkProcessObject::RemoveInput(input); };
00085 private:
00086   vtkSelectInputs(const vtkSelectInputs&);  // Not implemented.
00087   void operator=(const vtkSelectInputs&);  // Not implemented.
00088 };
00089 
00090 
00091 #endif
00092 
00093 

Generated on Tue May 30 12:31:47 2006 for ParaView by doxygen 1.3.5