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

Servers/Filters/vtkIntegrateAttributes.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkIntegrateAttributes.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 =========================================================================*/
00027 #ifndef __vtkIntegrateAttributes_h
00028 #define __vtkIntegrateAttributes_h
00029 
00030 #include "vtkUnstructuredGridAlgorithm.h"
00031 
00032 class vtkDataSet;
00033 class vtkIdList;
00034 class vtkInformation;
00035 class vtkInformationVector;
00036 class vtkDataSetAttributes;
00037 class vtkMultiProcessController;
00038 
00039 class VTK_EXPORT vtkIntegrateAttributes : public vtkUnstructuredGridAlgorithm
00040 {
00041 public:
00042   vtkTypeRevisionMacro(vtkIntegrateAttributes,vtkUnstructuredGridAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044   static vtkIntegrateAttributes *New();
00045   
00046 protected:
00047   vtkIntegrateAttributes();
00048   ~vtkIntegrateAttributes();
00049 
00050   vtkMultiProcessController* Controller;
00051 
00052   virtual int RequestData(vtkInformation* request,
00053                           vtkInformationVector** inputVector,
00054                           vtkInformationVector* outputVector);
00055 
00056   // Create a default executive.
00057   virtual vtkExecutive* CreateDefaultExecutive();
00058 
00059   virtual int FillInputPortInformation(int, vtkInformation*);
00060 
00061   void ExecuteBlock(vtkDataSet* input, vtkUnstructuredGrid* output);
00062 
00063   int CompareIntegrationDimension(vtkDataSet* output, int dim);
00064   int IntegrationDimension;
00065 
00066   // The length, area or volume of the data set.  Computed by Execute;
00067   double Sum;
00068   // ToCompute the location of the output point.
00069   double SumCenter[3];
00070 
00071   void IntegratePolyLine(vtkDataSet* input, 
00072                          vtkUnstructuredGrid* output,
00073                          vtkIdType cellId, vtkIdList* cellPtIds);
00074   void IntegratePolygon(vtkDataSet* input, 
00075                          vtkUnstructuredGrid* output,
00076                          vtkIdType cellId, vtkIdList* cellPtIds);
00077   void IntegrateTriangleStrip(vtkDataSet* input, 
00078                          vtkUnstructuredGrid* output,
00079                          vtkIdType cellId, vtkIdList* cellPtIds);
00080   void IntegrateTriangle(vtkDataSet* input, 
00081                          vtkUnstructuredGrid* output,
00082                          vtkIdType cellId, vtkIdType pt1Id,
00083                          vtkIdType pt2Id, vtkIdType pt3Id);
00084   void IntegrateSatelliteData(vtkDataSetAttributes* inda,
00085                               vtkDataSetAttributes* outda);                  
00086   void AllocateAttributes(vtkDataSetAttributes* inda, 
00087                           vtkDataSetAttributes* outda);
00088   void ZeroAttributes(vtkDataSetAttributes* outda);
00089   void IntegrateData1(vtkDataSetAttributes* inda,
00090                       vtkDataSetAttributes* outda,
00091                       vtkIdType pt1Id, double k);
00092   void IntegrateData2(vtkDataSetAttributes* inda,
00093                       vtkDataSetAttributes* outda,
00094                       vtkIdType pt1Id, vtkIdType pt2Id, double k);
00095   void IntegrateData3(vtkDataSetAttributes* inda,
00096                       vtkDataSetAttributes* outda, vtkIdType pt1Id, 
00097                       vtkIdType pt2Id, vtkIdType pt3Id, double k);
00098 
00099 private:
00100   vtkIntegrateAttributes(const vtkIntegrateAttributes&);  // Not implemented.
00101   void operator=(const vtkIntegrateAttributes&);  // Not implemented.
00102 };
00103 
00104 #endif

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