1#ifndef COIN_SBDPMATRIX_H
2#define COIN_SBDPMATRIX_H
37#include <Inventor/SbBasic.h>
45typedef double SbDPMat[4][4];
50 SbDPMatrix(
const double a11,
const double a12,
const double a13,
const double a14,
51 const double a21,
const double a22,
const double a23,
const double a24,
52 const double a31,
const double a32,
const double a33,
const double a34,
53 const double a41,
const double a42,
const double a43,
const double a44);
62 const SbDPMat &
getValue(
void)
const;
67 double det3(
int r1,
int r2,
int r3,
68 int c1,
int c2,
int c3)
const;
69 double det3(
void)
const;
70 double det4(
void)
const;
104 void print(FILE * fp)
const;
106 operator double*(void);
107 operator SbDPMat&(void);
108 double * operator [](
int i);
109 const double * operator [](
int i)
const;
122 void operator /=(
const double v);
123 void operator *=(
const double v);
The SbDPLine class represents a line using double precision coordinates.
Definition SbDPLine.h:41
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.
Definition SbDPMatrix.h:47
void getTransform(SbVec3d &t, SbDPRotation &r, SbVec3d &s, SbDPRotation &so) const
Definition SbDPMatrix.cpp:890
SbDPMatrix(void)
Definition SbDPMatrix.cpp:140
void LUBackSubstitution(int index[4], double b[4]) const
Definition SbDPMatrix.cpp:1065
void setValue(const SbDPMat &m)
Definition SbDPMatrix.cpp:219
const SbDPMat & getValue(void) const
Definition SbDPMatrix.cpp:208
void makeIdentity(void)
Definition SbDPMatrix.cpp:277
double det3(int r1, int r2, int r3, int c1, int c2, int c3) const
Definition SbDPMatrix.cpp:332
double det4(void) const
Definition SbDPMatrix.cpp:380
static SbDPMatrix identity(void)
Definition SbDPMatrix.cpp:728
SbDPMatrix transpose(void) const
Definition SbDPMatrix.cpp:1109
SbBool equals(const SbDPMatrix &m, double tolerance) const
Definition SbDPMatrix.cpp:569
SbDPMatrix & multRight(const SbDPMatrix &m)
Definition SbDPMatrix.cpp:1129
void setScale(const double s)
Definition SbDPMatrix.cpp:740
void multDirMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1281
void setTranslate(const SbVec3d &t)
Definition SbDPMatrix.cpp:770
void setTransform(const SbVec3d &t, const SbDPRotation &r, const SbVec3d &s)
Definition SbDPMatrix.cpp:792
SbBool factor(SbDPMatrix &r, SbVec3d &s, SbDPMatrix &u, SbVec3d &t, SbDPMatrix &proj)
Definition SbDPMatrix.cpp:970
void multMatrixVec(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1197
void print(FILE *fp) const
Definition SbDPMatrix.cpp:1318
SbDPMatrix & multLeft(const SbDPMatrix &m)
Definition SbDPMatrix.cpp:1164
void multLineMatrix(const SbDPLine &src, SbDPLine &dst) const
Definition SbDPMatrix.cpp:1305
SbBool LUDecomposition(int index[4], double &d)
Definition SbDPMatrix.cpp:1003
void setRotate(const SbDPRotation &q)
Definition SbDPMatrix.cpp:294
SbDPMatrix inverse(void) const
Definition SbDPMatrix.cpp:398
void multVecMatrix(const SbVec3d &src, SbVec3d &dst) const
Definition SbDPMatrix.cpp:1227
The SbDPRotation class represents a rotation in 3D space using double precision data.
Definition SbDPRotation.h:42
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:47
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.
Definition SbVec3d.h:50
The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.
Definition SbVec4d.h:49