VTK
dox/Filters/General/vtkDeformPointSet.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile$
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 =========================================================================*/
00064 #ifndef __vtkDeformPointSet_h
00065 #define __vtkDeformPointSet_h
00066 
00067 #include "vtkFiltersGeneralModule.h" // For export macro
00068 #include "vtkPointSetAlgorithm.h"
00069 
00070 #include "vtkSmartPointer.h" // For protected ivars
00071 
00072 class vtkDoubleArray;
00073 class vtkPolyData;
00074 
00075 
00076 class VTKFILTERSGENERAL_EXPORT vtkDeformPointSet : public vtkPointSetAlgorithm
00077 {
00078 public:
00080 
00081   static vtkDeformPointSet *New();
00082   vtkTypeMacro(vtkDeformPointSet,vtkPointSetAlgorithm);
00083   void PrintSelf(ostream& os, vtkIndent indent);
00085 
00087 
00089   void SetControlMeshData(vtkPolyData *controlMesh);
00090   vtkPolyData *GetControlMeshData();
00092 
00095   void SetControlMeshConnection(vtkAlgorithmOutput* algOutput);
00096 
00098 
00104   vtkSetMacro(InitializeWeights, int);
00105   vtkGetMacro(InitializeWeights, int);
00106   vtkBooleanMacro(InitializeWeights, int);
00108 
00109 protected:
00110   vtkDeformPointSet();
00111   ~vtkDeformPointSet();
00112 
00113   int InitializeWeights;
00114 
00115   // Keep track of information between execution passes
00116   vtkIdType InitialNumberOfControlMeshPoints;
00117   vtkIdType InitialNumberOfControlMeshCells;
00118   vtkIdType InitialNumberOfPointSetPoints;
00119   vtkIdType InitialNumberOfPointSetCells;
00120   vtkSmartPointer<vtkDoubleArray> Weights;
00121 
00122   virtual int RequestData(vtkInformation *, vtkInformationVector **,
00123     vtkInformationVector *);
00124 
00125 private:
00126   vtkDeformPointSet(const vtkDeformPointSet&);  // Not implemented.
00127   void operator=(const vtkDeformPointSet&);  // Not implemented.
00128 
00129 };
00130 
00131 #endif