1#ifndef COIN_SBDPMATRIX_H
2#define COIN_SBDPMATRIX_H
28#include <Inventor/SbBasic.h>
36typedef 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);
55 const SbDPMat &
getValue(
void)
const;
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;
68 operator SbDPMat&(void);
69 double * operator [](
int i);
70 const double * operator [](
int i)
const;
71 SbDPMatrix & operator =(
const SbDPRotation & q);
83 const SbDPRotation & so);
85 const SbDPRotation & rotation,
const SbVec3d & scaleFactor,
86 const SbDPRotation & scaleOrientation,
const SbVec3d & center);
88 SbVec3d & s, SbDPRotation & so)
const;
90 SbVec3d & scaleFactor, SbDPRotation & scaleOrientation,
105 void print(FILE * fp)
const;
110 void operator /=(
const double v);
111 void operator *=(
const double v);
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.
Definition SbDPMatrix.h:38
void getTransform(SbVec3d &t, SbDPRotation &r, SbVec3d &s, SbDPRotation &so) const
Definition SbDPMatrix.cpp:843
SbDPMatrix(void)
Definition SbDPMatrix.cpp:120
void LUBackSubstitution(int index[4], double b[4]) const
Definition SbDPMatrix.cpp:1018
void setValue(const SbDPMat &m)
Definition SbDPMatrix.cpp:199
const SbDPMat & getValue(void) const
Definition SbDPMatrix.cpp:188
void makeIdentity(void)
Definition SbDPMatrix.cpp:230
double det3(int r1, int r2, int r3, int c1, int c2, int c3) const
Definition SbDPMatrix.cpp:285
double det4(void) const
Definition SbDPMatrix.cpp:333
static SbDPMatrix identity(void)
Definition SbDPMatrix.cpp:681
SbDPMatrix transpose(void) const
Definition SbDPMatrix.cpp:1062
SbBool equals(const SbDPMatrix &m, double tolerance) const
Definition SbDPMatrix.cpp:522
SbDPMatrix & multRight(const SbDPMatrix &m)
Definition SbDPMatrix.cpp:1082
void setScale(const double s)
Definition SbDPMatrix.cpp:693
void multDirMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1234
void setTranslate(const SbVec3d &t)
Definition SbDPMatrix.cpp:723
void setTransform(const SbVec3d &t, const SbDPRotation &r, const SbVec3d &s)
Definition SbDPMatrix.cpp:745
SbBool factor(SbDPMatrix &r, SbVec3d &s, SbDPMatrix &u, SbVec3d &t, SbDPMatrix &proj)
Definition SbDPMatrix.cpp:923
void multMatrixVec(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1150
void print(FILE *fp) const
Definition SbDPMatrix.cpp:1271
SbDPMatrix & multLeft(const SbDPMatrix &m)
Definition SbDPMatrix.cpp:1117
void multLineMatrix(const SbDPLine &src, SbDPLine &dst) const
Definition SbDPMatrix.cpp:1258
SbBool LUDecomposition(int index[4], double &d)
Definition SbDPMatrix.cpp:956
void setRotate(const SbDPRotation &q)
Definition SbDPMatrix.cpp:247
SbDPMatrix inverse(void) const
Definition SbDPMatrix.cpp:351
void multVecMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1180
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:37
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.
Definition SbVec3d.h:35
The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.
Definition SbVec4d.h:34