VTK
dox/Filters/AMR/vtkAMRToMultiBlockFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003  Program:   Visualization Toolkit
00004  Module:    vtkAMRToMultiBlockFilter.h
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  =========================================================================*/
00025 #ifndef VTKAMRTOMULTIBLOCKFILTER_H_
00026 #define VTKAMRTOMULTIBLOCKFILTER_H_
00027 
00028 #include "vtkFiltersAMRModule.h" // For export macro
00029 #include "vtkMultiBlockDataSetAlgorithm.h"
00030 
00031 class vtkInformation;
00032 class vtkInformationVector;
00033 class vtkIndent;
00034 class vtkMultiProcessController;
00035 class vtkOverlappingAMR;
00036 class vtkMultiBlockDataSet;
00037 
00038 class VTKFILTERSAMR_EXPORT vtkAMRToMultiBlockFilter :
00039   public vtkMultiBlockDataSetAlgorithm
00040 {
00041 public:
00042   static vtkAMRToMultiBlockFilter* New();
00043   vtkTypeMacro(vtkAMRToMultiBlockFilter, vtkMultiBlockDataSetAlgorithm );
00044   void PrintSelf(ostream &oss, vtkIndent indent );
00045 
00047 
00049   vtkSetMacro( Controller, vtkMultiProcessController* );
00050   vtkGetMacro( Controller, vtkMultiProcessController* );
00052 
00053   // Standard pipeline routines
00054 
00055   virtual int FillInputPortInformation(int port, vtkInformation *info);
00056   virtual int FillOutputPortInformation(int port, vtkInformation *info);
00057   virtual int RequestData(
00058       vtkInformation*, vtkInformationVector**, vtkInformationVector* );
00059 
00060 protected:
00061   vtkAMRToMultiBlockFilter();
00062   virtual ~vtkAMRToMultiBlockFilter();
00063 
00065 
00066   void CopyAMRToMultiBlock(
00067       vtkOverlappingAMR *amr, vtkMultiBlockDataSet *mbds);
00068   vtkMultiProcessController *Controller;
00070 
00071 private:
00072   vtkAMRToMultiBlockFilter(const vtkAMRToMultiBlockFilter& ); // Not implemented
00073   void operator=(const vtkAMRToMultiBlockFilter& ); // Not implemented
00074 };
00075 
00076 #endif /* VTKAMRTOMULTIBLOCKFILTER_H_ */