| BIMHome v1.0.0
    BIMHome接口文档说明 | 
#include <Matrix.h>
| Public 成员函数 | |
| std::string | analyse () const | 
| 分析矩阵的类型和特性 | |
| double | determinant () const | 
| 计算矩阵的行列式 | |
| double | determinant3 () const | 
| 计算 3x3 子矩阵的行列式 | |
| void | fromString (const std::string &str) | 
| 从字符串中读取矩阵 | |
| Vector3d | getCol (unsigned short usNdx) const | 
| 获取矩阵的指定列 | |
| void | getGLMatrix (double dMtrx[16]) const | 
| 获取 OpenGL 风格的矩阵 | |
| void | getMatrix (double dMtrx[16]) const | 
| 将矩阵数据复制到一维数组中 | |
| unsigned long | getMemSpace () | 
| 获取矩阵占用的内存空间大小 | |
| Vector3d | getRow (unsigned short usNdx) const | 
| 获取矩阵的指定行 | |
| ScaleType | hasScale (double tol=0.0) const | 
| 检查矩阵是否包含缩放成分 | |
| Matrix4D & | Hat (const Vector3d &rV) | 
| 将一个三维向量 rV 转换成一个 4x4 旋转矩阵的斜对称矩阵 | |
| Matrix4D & | Hat (const Vector3f &rV) | 
| 将一个三维向量转换为斜对称矩阵 | |
| void | inverse () | 
| 求取矩阵的逆矩阵 | |
| void | inverseGauss () | 
| 通过高斯-约当消元法计算矩阵的逆 | |
| void | inverseOrthogonal () | 
| 求取正交变换矩阵的逆矩阵 | |
| bool | isNull () const | 
| 检查矩阵是否为零矩阵 | |
| bool | isUnity () const | 
| 检查矩阵是否为单位矩阵 | |
| Matrix4D () | |
| 默认构造函数,初始化为单位矩阵 | |
| Matrix4D (const Matrix4D &rclMtrx) | |
| 复制构造函数 | |
| Matrix4D (const Vector3d &rclBase, const Vector3d &rclDir, double fAngle) | |
| 构造函数,创建一个围绕特定轴旋转特定角度的变换矩阵 | |
| Matrix4D (const Vector3f &rclBase, const Vector3f &rclDir, float fAngle) | |
| 构造函数,创建一个围绕特定轴旋转特定角度的变换矩阵 | |
| Matrix4D (double a11, double a12, double a13, double a14, double a21, double a22, double a23, double a24, double a31, double a32, double a33, double a34, double a41, double a42, double a43, double a44) | |
| 构造函数,创建一个 4x4 矩阵 | |
| Matrix4D (float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34, float a41, float a42, float a43, float a44) | |
| 构造函数,创建一个 4x4 矩阵 | |
| void | move (const Vector3d &rclVct) | 
| 沿指定向量移动矩阵 | |
| void | move (const Vector3f &rclVct) | 
| 沿指定向量移动矩阵 | |
| void | move (double x, double y, double z) | 
| 沿 x、y、z 轴移动矩阵 | |
| void | move (float x, float y, float z) | 
| 沿 x、y、z 轴移动矩阵 | |
| void | multVec (const Vector3d &src, Vector3d &dst) const | 
| 将矩阵与一个三维向量相乘 | |
| void | multVec (const Vector3f &src, Vector3f &dst) const | 
| 将矩阵与一个三维浮点向量相乘 | |
| void | nullify () | 
| 将矩阵设置为零矩阵 | |
| bool | operator!= (const Matrix4D &rclMtrx) const | 
| 矩阵不等运算符重载 | |
| Matrix4D | operator* (const Matrix4D &rclMtrx) const | 
| 矩阵乘法运算符重载 | |
| Vector3d | operator* (const Vector3d &rclVct) const | 
| 矩阵与向量的乘法运算符重载 | |
| Vector3f | operator* (const Vector3f &rclVct) const | 
| 矩阵与向量的乘法运算符重载 | |
| Matrix4D | operator* (double scalar) const | 
| 矩阵与标量的乘法运算符重载 | |
| Matrix4D & | operator*= (const Matrix4D &rclMtrx) | 
| 矩阵乘法赋值运算符重载 | |
| Matrix4D & | operator*= (double scalar) | 
| 矩阵与标量的乘法赋值运算符重载 | |
| Matrix4D | operator+ (const Matrix4D &rclMtrx) const | 
| 矩阵加法运算符重载 | |
| Matrix4D & | operator+= (const Matrix4D &rclMtrx) | 
| 矩阵加法赋值运算符重载 | |
| Matrix4D | operator- (const Matrix4D &rclMtrx) const | 
| 矩阵减法运算符重载 | |
| Matrix4D & | operator-= (const Matrix4D &rclMtrx) | 
| 矩阵减法赋值运算符重载 | |
| Matrix4D & | operator= (const Matrix4D &rclMtrx) | 
| 矩阵赋值运算符重载 | |
| bool | operator== (const Matrix4D &rclMtrx) const | 
| 矩阵等运算符重载 | |
| double * | operator[] (unsigned short usNdx) | 
| 提供对矩阵行的直接访问 | |
| const double * | operator[] (unsigned short usNdx) const | 
| 提供对矩阵行的只读访问 | |
| Matrix4D & | Outer (const Vector3d &rV1, const Vector3d &rV2) | 
| 创建一个由两个三维向量的外积构成的矩阵 | |
| Matrix4D & | Outer (const Vector3f &rV1, const Vector3f &rV2) | 
| 创建一个由两个三维向量的外积构成的矩阵 | |
| void | Print () const | 
| 打印矩阵的每一行 | |
| void | rotLine (const Vector3d &rclBase, const Vector3d &rclDir, double fAngle) | 
| 绕任意轴旋转 | |
| void | rotLine (const Vector3d &rclVct, double fAngle) | 
| 绕任意轴旋转 | |
| void | rotLine (const Vector3f &rclBase, const Vector3f &rclDir, float fAngle) | 
| 绕任意轴旋转 | |
| void | rotLine (const Vector3f &rclVct, float fAngle) | 
| 绕任意轴旋转 | |
| void | rotX (double fAngle) | 
| 绕 X 轴旋转 | |
| void | rotY (double fAngle) | 
| 绕 Y 轴旋转 | |
| void | rotZ (double fAngle) | 
| 绕 Z 轴旋转 | |
| void | scale (const Vector3d &rclVct) | 
| 缩放矩阵 | |
| void | scale (const Vector3f &rclVct) | 
| 缩放矩阵 | |
| void | scale (double scalexyz) | 
| 均匀缩放矩阵 | |
| void | scale (double x, double y, double z) | 
| 缩放矩阵 | |
| void | scale (float scalexyz) | 
| 均匀缩放矩阵 | |
| void | scale (float x, float y, float z) | 
| 缩放矩阵 | |
| void | setCol (unsigned short usNdx, const Vector3d &v) | 
| 设置矩阵的指定列 | |
| void | setGLMatrix (const double dMtrx[16]) | 
| 设置 OpenGL 风格的矩阵 | |
| void | setMatrix (const double dMtrx[16]) | 
| 将一维数组中的矩阵数据复制到矩阵对象中 | |
| void | setRow (unsigned short usNdx, const Vector3d &v) | 
| 设置矩阵的指定行 | |
| void | setToUnity () | 
| 设置矩阵为单位矩阵 | |
| void | setTrace (const Vector3d &v) | 
| 设置矩阵的主对角线元素 | |
| bool | toAxisAngle (Vector3d &rclBase, Vector3d &rclDir, double &fAngle, double &fTranslation) const | 
| 将矩阵转换为轴角表示 | |
| bool | toAxisAngle (Vector3f &rclBase, Vector3f &rclDir, float &fAngle, float &fTranslation) const | 
| 将矩阵转换为轴角表示 | |
| std::string | toString () const | 
| 将矩阵转换为字符串 | |
| Vector3d | trace () const | 
| 计算矩阵主对角线上的元素 | |
| void | transform (const Vector3d &rclVct, const Matrix4D &rclMtrx) | 
| 围绕一个点进行变换 | |
| void | transform (const Vector3f &rclVct, const Matrix4D &rclMtrx) | 
| 围绕一个点进行变换 | |
| void | transpose () | 
| 求取矩阵的转置 | |
| ~Matrix4D () | |
| 析构函数 | |
| Private 类型 | |
| typedef float_traits< double > | traits_type | 
| 定义了矩阵元素的数值类型特性 | |
| Private 属性 | |
| double | dMtrx4D [4][4] | 
| 矩阵数据 | |
Matrix4D 类,表示一个 4x4 矩阵
该类用于表示和操作 4x4 矩阵,常用于图形变换和线性代数运算。