1 #ifndef COIN_SBMATRIX_H
2 #define COIN_SBMATRIX_H
28 #include <Inventor/SbBasic.h>
35 typedef float SbMat[4][4];
40 SbMatrix(
const float a11,
const float a12,
const float a13,
const float a14,
41 const float a21,
const float a22,
const float a23,
const float a24,
42 const float a31,
const float a32,
const float a33,
const float a34,
43 const float a41,
const float a42,
const float a43,
const float a44);
48 SbMatrix & operator =(
const SbMat & m);
50 operator float*(void);
52 void setValue(
const SbMat & m);
53 const SbMat & getValue(
void)
const;
55 void makeIdentity(
void);
58 float det3(
int r1,
int r2,
int r3,
59 int c1,
int c2,
int c3)
const;
60 float det3(
void)
const;
61 float det4(
void)
const;
63 SbBool equals(
const SbMatrix & m,
float tolerance)
const;
66 operator SbMat&(void);
67 float * operator [](
int i);
68 const float * operator [](
int i)
const;
72 friend COIN_DLL_API
int operator ==(
const SbMatrix & m1,
const SbMatrix & m2);
73 friend COIN_DLL_API
int operator !=(
const SbMatrix & m1,
const SbMatrix & m2);
74 void getValue(SbMat & m)
const;
76 void setScale(
const float s);
77 void setScale(
const SbVec3f & s);
78 void setTranslate(
const SbVec3f & t);
82 void setTransform(
const SbVec3f & translation,
92 SbBool LUDecomposition(
int index[4],
float & d);
93 void LUBackSubstitution(
int index[4],
float b[4])
const;
100 void multLineMatrix(
const SbLine & src,
SbLine & dst)
const;
103 void print(FILE * fp)
const;
108 void operator /=(
const float v);
109 void operator *=(
const float v);
116 #endif // !COIN_SBMATRIX_H
const float * getValue(void) const
Definition: SbRotation.cpp:179
The SbRotation class represents a rotation in 3D space.
Definition: SbRotation.h:33
static SbRotation identity(void)
Definition: SbRotation.cpp:674
void multLineMatrix(const SbLine &src, SbLine &dst) const
Definition: SbMatrix.cpp:1435
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
void print(FILE *fp) const
Definition: SbMatrix.cpp:1448
SbBool equals(const SbMatrix &m, float tolerance) const
Definition: SbMatrix.cpp:589
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
void setRotate(const SbRotation &q)
Definition: SbMatrix.cpp:314
void multMatrixVec(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1319
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
Definition: SbMatrix.cpp:812
void multVecMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1357
float det3(void) const
Definition: SbMatrix.cpp:391
SbMatrix inverse(void) const
Definition: SbMatrix.cpp:418
SbMatrix & multLeft(const SbMatrix &m)
Definition: SbMatrix.cpp:1280
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
SbRotation & setValue(const float q0, const float q1, const float q2, const float q3)
Definition: SbRotation.cpp:204
void setScale(const float s)
Definition: SbMatrix.cpp:760
SbMatrix & multRight(const SbMatrix &m)
Definition: SbMatrix.cpp:1240
~SbMatrix(void)
Definition: SbMatrix.cpp:244
int operator!=(const SbBox2s &b1, const SbBox2s &b2)
Definition: SbBox2s.cpp:443
SbBool LUDecomposition(int index[4], float &d)
Definition: SbMatrix.cpp:1110
SbMatrix transpose(void) const
Definition: SbMatrix.cpp:1216
SbRotation inverse(void) const
Definition: SbRotation.cpp:316
SbMatrix(void)
Definition: SbMatrix.cpp:200
const SbVec3f & getDirection(void) const
Definition: SbLine.cpp:315
void getTransform(SbVec3f &t, SbRotation &r, SbVec3f &s, SbRotation &so) const
Definition: SbMatrix.cpp:997
void multDirMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1411
int operator==(const SbBox2s &b1, const SbBox2s &b2)
Definition: SbBox2s.cpp:432
float det4(void) const
Definition: SbMatrix.cpp:400
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
void makeIdentity(void)
Definition: SbMatrix.cpp:297
SbMatrix & operator*=(const SbMatrix &m)
Definition: SbMatrix.cpp:678
const SbMat & getValue(void) const
Definition: SbMatrix.cpp:255
const SbVec3f & getPosition(void) const
Definition: SbLine.cpp:305
The SbLine class represents a line in 3D space.
Definition: SbLine.h:32
void LUBackSubstitution(int index[4], float b[4]) const
Definition: SbMatrix.cpp:1172
SbBool factor(SbMatrix &r, SbVec3f &s, SbMatrix &u, SbVec3f &t, SbMatrix &proj)
Definition: SbMatrix.cpp:1077
void setValue(const SbVec3f &origin, const SbVec3f &point)
Definition: SbLine.cpp:88
static SbMatrix identity(void)
Definition: SbMatrix.cpp:748
SbMatrix operator*(const SbMatrix &m1, const SbMatrix &m2)
Definition: SbMatrix.cpp:690
void setTranslate(const SbVec3f &t)
Definition: SbMatrix.cpp:790
float * operator[](int i)
Definition: SbMatrix.cpp:631
SbRotation & invert(void)
Definition: SbRotation.cpp:290
void setValue(const SbMat &m)
Definition: SbMatrix.cpp:266
SbMatrix & operator=(const SbMat &m)
Definition: SbMatrix.cpp:275
The SbVec4f class is a 4 dimensional vector with floating point coordinates.
Definition: SbVec4f.h:34
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18