VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkWarpScalar.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 =========================================================================*/ 00043 #ifndef __vtkWarpScalar_h 00044 #define __vtkWarpScalar_h 00045 00046 #include "vtkFiltersGeneralModule.h" // For export macro 00047 #include "vtkPointSetAlgorithm.h" 00048 00049 class vtkDataArray; 00050 00051 class VTKFILTERSGENERAL_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm 00052 { 00053 public: 00054 static vtkWarpScalar *New(); 00055 vtkTypeMacro(vtkWarpScalar,vtkPointSetAlgorithm); 00056 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 00060 vtkSetMacro(ScaleFactor,double); 00061 vtkGetMacro(ScaleFactor,double); 00063 00065 00067 vtkSetMacro(UseNormal,int); 00068 vtkGetMacro(UseNormal,int); 00069 vtkBooleanMacro(UseNormal,int); 00071 00073 00075 vtkSetVector3Macro(Normal,double); 00076 vtkGetVectorMacro(Normal,double,3); 00078 00080 00084 vtkSetMacro(XYPlane,int); 00085 vtkGetMacro(XYPlane,int); 00086 vtkBooleanMacro(XYPlane,int); 00088 00089 int FillInputPortInformation(int port, vtkInformation *info); 00090 00091 protected: 00092 vtkWarpScalar(); 00093 ~vtkWarpScalar(); 00094 00095 int RequestDataObject(vtkInformation *request, 00096 vtkInformationVector **inputVector, 00097 vtkInformationVector *outputVector); 00098 int RequestData(vtkInformation *, 00099 vtkInformationVector **, 00100 vtkInformationVector *); 00101 00102 double ScaleFactor; 00103 int UseNormal; 00104 double Normal[3]; 00105 int XYPlane; 00106 00107 //BTX 00108 double *(vtkWarpScalar::*PointNormal)(vtkIdType id, vtkDataArray *normals); 00109 double *DataNormal(vtkIdType id, vtkDataArray *normals=NULL); 00110 double *InstanceNormal(vtkIdType id, vtkDataArray *normals=NULL); 00111 double *ZNormal(vtkIdType id, vtkDataArray *normals=NULL); 00112 //ETX 00113 00114 private: 00115 vtkWarpScalar(const vtkWarpScalar&); // Not implemented. 00116 void operator=(const vtkWarpScalar&); // Not implemented. 00117 }; 00118 00119 #endif