5 #ifndef homogeneousTransformMatrix_H_
6 #define homogeneousTransformMatrix_H_
14 #include <matrix/vlVector.h>
31 void initToIdentityTransformation();
32 void initTranslation(
const DtPoint& wc);
33 void initScale(
double sx,
double sy,
double sz);
34 void initShear(
double shx,
double shy);
35 void initRotAboutX(
double theta);
36 void initRotAboutY(
double theta);
37 void initRotAboutZ(
double theta);
38 void initPerspective(
double distanceToProjectionPlane);
39 void initPerspectiveToParallel(
double zmin);
41 void setTranslation(
const DtPoint& wc);
42 void setScale(
double sx,
double sy,
double sz);
43 void setShear(
double shx,
double shy);
44 void setRotAboutX(
double theta);
45 void setRotAboutY(
double theta);
46 void setRotAboutZ(
double theta);
47 void setPerspective(
double distanceToProjectionPlane);
48 void setPerspectiveToParallel(
double zmin);
50 void setRow(
int col,
double sx,
double sy,
double sz,
double sa);
51 void setColumn(
int col,
double sx,
double sy,
double sz,
double sa);
64 void transformPoint(
DtPoint& inout)
const;
66 void transformVector(
DtVector& inout)
const;
68 void transformChord(
DtChord& inout)
const;
69 void transformExtent(
DtExtent& inout)
const;
72 bool isIdentity()
const;
75 bool readFrom(FILE* fp);
76 bool writeTo(FILE* fp);
77 void dump(
const char* label,
int indentLevel)
const;
82 void transform(Dt4dPoint& out,
const Dt4dPoint& in)
const;
83 void swapRow(
int row1,
int row2);
84 void divideRow(
int row,
double divisor);
88 double myMatrix[4][4];
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
#define DT_DLL_geometry
Definition: geometryDefines.h:23