matrix.cpp

来自「最新osg包」· C++ 代码 · 共 52 行

CPP
52
字号
#include "Matrix.h"bool readMatrix(osg::Matrix& matrix, osgDB::Input& fr, const char* keyword){    bool iteratorAdvanced = false;        if (fr[0].matchWord(keyword) && fr[1].isOpenBracket())    {        int entry = fr[0].getNoNestedBrackets();        fr += 2;        int row=0;        int col=0;        double v;        while (!fr.eof() && fr[0].getNoNestedBrackets()>entry)        {            if (fr[0].getFloat(v))            {                matrix(row,col)=v;                ++col;                if (col>=4)                {                    col = 0;                    ++row;                }                ++fr;            }            else fr.advanceOverCurrentFieldOrBlock();        }        iteratorAdvanced = true;    }                    return iteratorAdvanced;}bool writeMatrix(const osg::Matrix& matrix, osgDB::Output& fw, const char* keyword){    fw.indent() << keyword <<" {" << std::endl;    fw.moveIn();    fw.indent() << matrix(0,0) << " " << matrix(0,1) << " " << matrix(0,2) << " " << matrix(0,3) << std::endl;    fw.indent() << matrix(1,0) << " " << matrix(1,1) << " " << matrix(1,2) << " " << matrix(1,3) << std::endl;    fw.indent() << matrix(2,0) << " " << matrix(2,1) << " " << matrix(2,2) << " " << matrix(2,3) << std::endl;    fw.indent() << matrix(3,0) << " " << matrix(3,1) << " " << matrix(3,2) << " " << matrix(3,3) << std::endl;    fw.moveOut();    fw.indent() << "}"<< std::endl;    return true;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?