VTK
|
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