Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Common/vtkHomogeneousTransform.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00040 #ifndef __vtkHomogeneousTransform_h
00041 #define __vtkHomogeneousTransform_h
00042
00043 #include "vtkAbstractTransform.h"
00044
00045 class vtkMatrix4x4;
00046
00047 class VTK_COMMON_EXPORT vtkHomogeneousTransform : public vtkAbstractTransform
00048 {
00049 public:
00050
00051 vtkTypeRevisionMacro(vtkHomogeneousTransform,vtkAbstractTransform);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00056 void TransformPoints(vtkPoints *inPts, vtkPoints *outPts);
00057
00059
00061 virtual void TransformPointsNormalsVectors(vtkPoints *inPts,
00062 vtkPoints *outPts,
00063 vtkDataArray *inNms,
00064 vtkDataArray *outNms,
00065 vtkDataArray *inVrs,
00066 vtkDataArray *outVrs);
00068
00071 void GetMatrix(vtkMatrix4x4 *m);
00072
00077 vtkMatrix4x4 *GetMatrix() { this->Update(); return this->Matrix; };
00078
00080
00082 vtkHomogeneousTransform *GetHomogeneousInverse() {
00083 return (vtkHomogeneousTransform *)this->GetInverse(); };
00085
00087
00089 void InternalTransformPoint(const float in[3], float out[3]);
00090 void InternalTransformPoint(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
00102 protected:
00103 vtkHomogeneousTransform();
00104 ~vtkHomogeneousTransform();
00105
00106 void InternalDeepCopy(vtkAbstractTransform *transform);
00107
00108 vtkMatrix4x4 *Matrix;
00109
00110 private:
00111 vtkHomogeneousTransform(const vtkHomogeneousTransform&);
00112 void operator=(const vtkHomogeneousTransform&);
00113 };
00114
00115 #endif
00116
00117
00118
00119
00120