1 #ifndef COIN_SBDPMATRIX_H 2 #define COIN_SBDPMATRIX_H 28 #include <Inventor/SbBasic.h> 36 typedef double SbDPMat[4][4];
41 SbDPMatrix(
const double a11,
const double a12,
const double a13,
const double a14,
42 const double a21,
const double a22,
const double a23,
const double a24,
43 const double a31,
const double a32,
const double a33,
const double a34,
44 const double a41,
const double a42,
const double a43,
const double a44);
52 operator double*(void);
54 void setValue(
const SbDPMat & m);
55 const SbDPMat & getValue(
void)
const;
57 void makeIdentity(
void);
58 void setRotate(
const SbDPRotation & q);
60 double det3(
int r1,
int r2,
int r3,
61 int c1,
int c2,
int c3)
const;
62 double det3(
void)
const;
63 double det4(
void)
const;
65 SbBool equals(
const SbDPMatrix & m,
double tolerance)
const;
68 operator SbDPMat&(void);
69 double * operator [](
int i);
70 const double * operator [](
int i)
const;
71 SbDPMatrix & operator =(
const SbDPRotation & q);
76 void getValue(SbDPMat & m)
const;
78 void setScale(
const double s);
79 void setScale(
const SbVec3d & s);
80 void setTranslate(
const SbVec3d & t);
81 void setTransform(
const SbVec3d & t,
const SbDPRotation & r,
const SbVec3d & s);
82 void setTransform(
const SbVec3d & t,
const SbDPRotation & r,
const SbVec3d & s,
83 const SbDPRotation & so);
84 void setTransform(
const SbVec3d & translation,
85 const SbDPRotation & rotation,
const SbVec3d & scaleFactor,
86 const SbDPRotation & scaleOrientation,
const SbVec3d & center);
87 void getTransform(
SbVec3d & t, SbDPRotation & r,
88 SbVec3d & s, SbDPRotation & so)
const;
89 void getTransform(
SbVec3d & translation, SbDPRotation & rotation,
90 SbVec3d & scaleFactor, SbDPRotation & scaleOrientation,
94 SbBool LUDecomposition(
int index[4],
double & d);
95 void LUBackSubstitution(
int index[4],
double b[4])
const;
102 void multLineMatrix(
const SbDPLine & src, SbDPLine & dst)
const;
105 void print(FILE * fp)
const;
110 void operator /=(
const double v);
111 void operator *=(
const double v);
118 #endif // !COIN_SBDPMATRIX_H The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.
Definition: SbVec3d.h:35
The SbMatrix class is a 4x4 dimensional representation of a matrix.SbMatrix is used by many other cla...
Definition: SbMatrix.h:37
The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.
Definition: SbVec4d.h:34
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.This class is like the SbMatrix class, but uses double-precision floating point values for its elements. For more class documentation, see SbMatrix.
Definition: SbDPMatrix.h:38