00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkWeightedTransformFilter.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 =========================================================================*/ 00073 #ifndef __vtkWeightedTransformFilter_h 00074 #define __vtkWeightedTransformFilter_h 00075 00076 #include "vtkPointSetAlgorithm.h" 00077 00078 class vtkAbstractTransform; 00079 00080 class VTK_HYBRID_EXPORT vtkWeightedTransformFilter : public vtkPointSetAlgorithm 00081 { 00082 public: 00083 static vtkWeightedTransformFilter *New(); 00084 vtkTypeRevisionMacro(vtkWeightedTransformFilter,vtkPointSetAlgorithm); 00085 void PrintSelf(ostream& os, vtkIndent indent); 00086 00088 unsigned long GetMTime(); 00089 00091 00098 vtkSetStringMacro(WeightArray); 00099 vtkGetStringMacro(WeightArray); 00101 00103 00115 vtkSetStringMacro(TransformIndexArray); 00116 vtkGetStringMacro(TransformIndexArray); 00118 00120 00124 vtkSetStringMacro(CellDataWeightArray); 00125 vtkGetStringMacro(CellDataWeightArray); 00127 00129 00131 vtkSetStringMacro(CellDataTransformIndexArray); 00132 vtkGetStringMacro(CellDataTransformIndexArray); 00134 00136 00140 virtual void SetTransform(vtkAbstractTransform *transform, int num); 00141 virtual vtkAbstractTransform *GetTransform(int num); 00143 00145 00150 virtual void SetNumberOfTransforms(int num); 00151 vtkGetMacro(NumberOfTransforms, int); 00153 00155 00159 vtkBooleanMacro(AddInputValues, int); 00160 vtkSetMacro(AddInputValues, int); 00161 vtkGetMacro(AddInputValues, int); 00163 00164 protected: 00165 vtkAbstractTransform **Transforms; 00166 int NumberOfTransforms; 00167 int AddInputValues; 00168 00169 char *CellDataWeightArray; 00170 char *WeightArray; 00171 00172 char *CellDataTransformIndexArray; 00173 char *TransformIndexArray; 00174 00175 vtkWeightedTransformFilter(); 00176 ~vtkWeightedTransformFilter(); 00177 00178 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00179 private: 00180 vtkWeightedTransformFilter(const vtkWeightedTransformFilter&); // Not implemented. 00181 void operator=(const vtkWeightedTransformFilter&); // Not implemented. 00182 }; 00183 00184 #endif