io_multitexturecontrol.cpp

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

CPP
80
字号
#include <osgFX/MultiTextureControl>#include <osgDB/Registry>#include <osgDB/Input>#include <osgDB/Output>bool MultiTextureControl_readLocalData(osg::Object &obj, osgDB::Input &fr);bool MultiTextureControl_writeLocalData(const osg::Object &obj, osgDB::Output &fw);osgDB::RegisterDotOsgWrapperProxy MultiTextureControl_Proxy(    new osgFX::MultiTextureControl,    "osgFX::MultiTextureControl",    "Object Node osgFX::MultiTextureControl Group",    MultiTextureControl_readLocalData,    MultiTextureControl_writeLocalData);bool MultiTextureControl_readLocalData(osg::Object &obj, osgDB::Input &fr){    osgFX::MultiTextureControl &mtc = static_cast<osgFX::MultiTextureControl &>(obj);    bool iteratorAdvanced = false;    bool matchFirst = false;    if ((matchFirst=fr.matchSequence("TextureWeights {")) || fr.matchSequence("TextureWeights %i {"))    {        // set up coordinates.        int entry = fr[0].getNoNestedBrackets();        if (matchFirst)        {            fr += 2;        }        else        {            fr += 3;        }        float weight=0.0f;        unsigned int i=0;        while (!fr.eof() && fr[0].getNoNestedBrackets()>entry)        {            if (fr[0].getFloat(weight))            {                mtc.setTextureWeight(i,weight);                ++fr;                ++i;            }            else            {                ++fr;            }        }        iteratorAdvanced = true;        ++fr;    }    return iteratorAdvanced;}bool MultiTextureControl_writeLocalData(const osg::Object &obj, osgDB::Output &fw){    const osgFX::MultiTextureControl &mtc = static_cast<const osgFX::MultiTextureControl &>(obj);    fw.indent() << "TextureWeights "<<mtc.getNumTextureWeights()<<" {"<< std::endl;    fw.moveIn();        for(unsigned int i=0; i<mtc.getNumTextureWeights();++i)    {        fw.indent() << mtc.getTextureWeight(i)<<std::endl;    }    fw.moveOut();    fw.indent() << "}"<< std::endl;    return true;}

⌨️ 快捷键说明

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