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
SbBool factor(SbDPMatrix &r, SbVec3d &s, SbDPMatrix &u, SbVec3d &t, SbDPMatrix &proj)
Definition: SbDPMatrix.cpp:923
void multLineMatrix(const SbDPLine &src, SbDPLine &dst) const
Definition: SbDPMatrix.cpp:1258
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
void setTranslate(const SbVec3d &t)
Definition: SbDPMatrix.cpp:723
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
void setTransform(const SbVec3d &t, const SbDPRotation &r, const SbVec3d &s)
Definition: SbDPMatrix.cpp:745
double * operator[](int i)
Definition: SbDPMatrix.cpp:564
SbDPMatrix & operator*=(const SbDPMatrix &m)
Definition: SbDPMatrix.cpp:611
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.
Definition: SbVec3d.h:35
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
void print(FILE *fp) const
Definition: SbDPMatrix.cpp:1271
void multDirMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition: SbDPMatrix.cpp:1234
SbDPMatrix transpose(void) const
Definition: SbDPMatrix.cpp:1062
const SbDPMat & getValue(void) const
Definition: SbDPMatrix.cpp:188
double det4(void) const
Definition: SbDPMatrix.cpp:333
SbBool LUDecomposition(int index[4], double &d)
Definition: SbDPMatrix.cpp:956
SbDPMatrix(void)
Definition: SbDPMatrix.cpp:120
int operator!=(const SbBox2s &b1, const SbBox2s &b2)
Definition: SbBox2s.cpp:443
SbDPMatrix & multRight(const SbDPMatrix &m)
Definition: SbDPMatrix.cpp:1082
void multVecMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition: SbDPMatrix.cpp:1180
static SbDPMatrix identity(void)
Definition: SbDPMatrix.cpp:681
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.
Definition: SbDPMatrix.h:38
void makeIdentity(void)
Definition: SbDPMatrix.cpp:230
void setValue(const SbDPMat &m)
Definition: SbDPMatrix.cpp:199
The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.
Definition: SbVec4d.h:34
int operator==(const SbBox2s &b1, const SbBox2s &b2)
Definition: SbBox2s.cpp:432
void LUBackSubstitution(int index[4], double b[4]) const
Definition: SbDPMatrix.cpp:1018
double det3(void) const
Definition: SbDPMatrix.cpp:324
SbBool equals(const SbDPMatrix &m, double tolerance) const
Definition: SbDPMatrix.cpp:522
void getTransform(SbVec3d &t, SbDPRotation &r, SbVec3d &s, SbDPRotation &so) const
Definition: SbDPMatrix.cpp:843
void setScale(const double s)
Definition: SbDPMatrix.cpp:693
void setRotate(const SbDPRotation &q)
Definition: SbDPMatrix.cpp:247
SbDPMatrix & operator=(const SbDPMat &m)
Definition: SbDPMatrix.cpp:208
~SbDPMatrix(void)
Definition: SbDPMatrix.cpp:177
void multMatrixVec(const SbVec3d &src, SbVec3d &dst) const
Definition: SbDPMatrix.cpp:1150
static SbMatrix identity(void)
Definition: SbMatrix.cpp:748
SbMatrix operator*(const SbMatrix &m1, const SbMatrix &m2)
Definition: SbMatrix.cpp:690
SbDPMatrix & multLeft(const SbDPMatrix &m)
Definition: SbDPMatrix.cpp:1117
SbDPMatrix inverse(void) const
Definition: SbDPMatrix.cpp:351
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18