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 "vtkPointSetAlgorithm.h" 00047 00048 class vtkDataArray; 00049 00050 class VTK_GRAPHICS_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm 00051 { 00052 public: 00053 static vtkWarpScalar *New(); 00054 vtkTypeMacro(vtkWarpScalar,vtkPointSetAlgorithm); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 00059 vtkSetMacro(ScaleFactor,double); 00060 vtkGetMacro(ScaleFactor,double); 00062 00064 00066 vtkSetMacro(UseNormal,int); 00067 vtkGetMacro(UseNormal,int); 00068 vtkBooleanMacro(UseNormal,int); 00070 00072 00074 vtkSetVector3Macro(Normal,double); 00075 vtkGetVectorMacro(Normal,double,3); 00077 00079 00083 vtkSetMacro(XYPlane,int); 00084 vtkGetMacro(XYPlane,int); 00085 vtkBooleanMacro(XYPlane,int); 00087 00088 int FillInputPortInformation(int port, vtkInformation *info); 00089 00090 protected: 00091 vtkWarpScalar(); 00092 ~vtkWarpScalar(); 00093 00094 int RequestDataObject(vtkInformation *request, 00095 vtkInformationVector **inputVector, 00096 vtkInformationVector *outputVector); 00097 int RequestData(vtkInformation *, 00098 vtkInformationVector **, 00099 vtkInformationVector *); 00100 00101 double ScaleFactor; 00102 int UseNormal; 00103 double Normal[3]; 00104 int XYPlane; 00105 00106 //BTX 00107 double *(vtkWarpScalar::*PointNormal)(vtkIdType id, vtkDataArray *normals); 00108 double *DataNormal(vtkIdType id, vtkDataArray *normals=NULL); 00109 double *InstanceNormal(vtkIdType id, vtkDataArray *normals=NULL); 00110 double *ZNormal(vtkIdType id, vtkDataArray *normals=NULL); 00111 //ETX 00112 00113 private: 00114 vtkWarpScalar(const vtkWarpScalar&); // Not implemented. 00115 void operator=(const vtkWarpScalar&); // Not implemented. 00116 }; 00117 00118 #endif