VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSphericalTransform.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 =========================================================================*/ 00037 #ifndef __vtkSphericalTransform_h 00038 #define __vtkSphericalTransform_h 00039 00040 #include "vtkCommonTransformsModule.h" // For export macro 00041 #include "vtkWarpTransform.h" 00042 00043 class VTKCOMMONTRANSFORMS_EXPORT vtkSphericalTransform : public vtkWarpTransform 00044 { 00045 public: 00046 static vtkSphericalTransform *New(); 00047 vtkTypeMacro(vtkSphericalTransform,vtkWarpTransform); 00048 virtual void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 vtkAbstractTransform *MakeTransform(); 00052 00053 protected: 00054 vtkSphericalTransform(); 00055 ~vtkSphericalTransform(); 00056 00058 void InternalDeepCopy(vtkAbstractTransform *transform); 00059 00061 00062 void ForwardTransformPoint(const float in[3], float out[3]); 00063 void ForwardTransformPoint(const double in[3], double out[3]); 00065 00066 void ForwardTransformDerivative(const float in[3], float out[3], 00067 float derivative[3][3]); 00068 void ForwardTransformDerivative(const double in[3], double out[3], 00069 double derivative[3][3]); 00070 00071 void InverseTransformPoint(const float in[3], float out[3]); 00072 void InverseTransformPoint(const double in[3], double out[3]); 00073 00074 void InverseTransformDerivative(const float in[3], float out[3], 00075 float derivative[3][3]); 00076 void InverseTransformDerivative(const double in[3], double out[3], 00077 double derivative[3][3]); 00078 00079 private: 00080 vtkSphericalTransform(const vtkSphericalTransform&); // Not implemented. 00081 void operator=(const vtkSphericalTransform&); // Not implemented. 00082 }; 00083 00084 #endif 00085