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

Servers/Filters/vtkGroup.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkGroup.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 =========================================================================*/
00025 #ifndef __vtkGroup_h
00026 #define __vtkGroup_h
00027 
00028 #include "vtkSource.h"
00029 
00030 class vtkDataSet;
00031 
00032 class VTK_EXPORT vtkGroup : public vtkSource
00033 {
00034 public:
00035   static vtkGroup *New();
00036 
00037   vtkTypeRevisionMacro(vtkGroup,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->GetOutput( 0 );}
00057 
00059   virtual void ComputeInputUpdateExtents( vtkDataObject *output );
00060 
00061 protected:
00062   vtkGroup();
00063   ~vtkGroup();
00064 
00065   // Usual data generation method
00066   virtual void Execute();
00067   virtual void ExecuteInformation();
00068   virtual void PropagateUpdateExtent(vtkDataObject *output);
00069 
00070 private:
00071 
00072   // hide the superclass' AddInput() from the user and the compiler
00073   void AddInput(vtkDataObject *)
00074     { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00075   void RemoveInput(vtkDataObject *input)
00076     { this->vtkProcessObject::RemoveInput(input); };
00077 private:
00078   vtkGroup(const vtkGroup&);  // Not implemented.
00079   void operator=(const vtkGroup&);  // Not implemented.
00080 };
00081 
00082 
00083 #endif
00084 
00085 

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