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 "vtkWarpTransform.h" 00041 00042 class VTK_COMMON_EXPORT vtkSphericalTransform : public vtkWarpTransform 00043 { 00044 public: 00045 static vtkSphericalTransform *New(); 00046 vtkTypeMacro(vtkSphericalTransform,vtkWarpTransform); 00047 virtual void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 vtkAbstractTransform *MakeTransform(); 00051 00052 protected: 00053 vtkSphericalTransform(); 00054 ~vtkSphericalTransform(); 00055 00057 void InternalDeepCopy(vtkAbstractTransform *transform); 00058 00060 00061 void ForwardTransformPoint(const float in[3], float out[3]); 00062 void ForwardTransformPoint(const double in[3], double out[3]); 00064 00065 void ForwardTransformDerivative(const float in[3], float out[3], 00066 float derivative[3][3]); 00067 void ForwardTransformDerivative(const double in[3], double out[3], 00068 double derivative[3][3]); 00069 00070 void InverseTransformPoint(const float in[3], float out[3]); 00071 void InverseTransformPoint(const double in[3], double out[3]); 00072 00073 void InverseTransformDerivative(const float in[3], float out[3], 00074 float derivative[3][3]); 00075 void InverseTransformDerivative(const double in[3], double out[3], 00076 double derivative[3][3]); 00077 00078 private: 00079 vtkSphericalTransform(const vtkSphericalTransform&); // Not implemented. 00080 void operator=(const vtkSphericalTransform&); // Not implemented. 00081 }; 00082 00083 #endif 00084