Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Common/vtkIdentityTransform.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkIdentityTransform.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00032 #ifndef __vtkIdentityTransform_h 00033 #define __vtkIdentityTransform_h 00034 00035 #include "vtkLinearTransform.h" 00036 00037 class VTK_COMMON_EXPORT vtkIdentityTransform : public vtkLinearTransform 00038 { 00039 public: 00040 static vtkIdentityTransform *New(); 00041 00042 vtkTypeRevisionMacro(vtkIdentityTransform,vtkLinearTransform); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00047 void TransformPoints(vtkPoints *inPts, vtkPoints *outPts); 00048 00051 void TransformNormals(vtkDataArray *inNms, vtkDataArray *outNms); 00052 00055 void TransformVectors(vtkDataArray *inVrs, vtkDataArray *outVrs); 00056 00058 00060 void TransformPointsNormalsVectors(vtkPoints *inPts, 00061 vtkPoints *outPts, 00062 vtkDataArray *inNms, 00063 vtkDataArray *outNms, 00064 vtkDataArray *inVrs, 00065 vtkDataArray *outVrs); 00067 00068 // Invert the transformation. This doesn't do anything to the 00069 // identity transformation. 00070 void Inverse() {}; 00071 00073 00075 void InternalTransformPoint(const float in[3], float out[3]); 00076 void InternalTransformPoint(const double in[3], double out[3]); 00078 00080 00082 void InternalTransformNormal(const float in[3], float out[3]); 00083 void InternalTransformNormal(const double in[3], double out[3]); 00085 00087 00089 void InternalTransformVector(const float in[3], float out[3]); 00090 void InternalTransformVector(const double in[3], double out[3]); 00092 00094 00096 void InternalTransformDerivative(const float in[3], float out[3], 00097 float derivative[3][3]); 00098 void InternalTransformDerivative(const double in[3], double out[3], 00099 double derivative[3][3]); 00101 00104 vtkAbstractTransform *MakeTransform(); 00105 00106 protected: 00107 vtkIdentityTransform(); 00108 ~vtkIdentityTransform(); 00109 00110 void InternalDeepCopy(vtkAbstractTransform *t); 00111 00112 private: 00113 vtkIdentityTransform(const vtkIdentityTransform&); // Not implemented. 00114 void operator=(const vtkIdentityTransform&); // Not implemented. 00115 }; 00116 00117 #endif 00118 00119 00120 00121 00122