⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_objectrecorddata.cpp

📁 最新osg包
💻 CPP
字号:
#include <osgSim/ObjectRecordData>#include <osg/io_utils>#include <iostream>#include <string>#include <osgDB/Registry>#include <osgDB/Input>#include <osgDB/Output>#include <osgDB/ParameterOutput>//#include <map>bool ObjectRecordData_readLocalData( osg::Object &obj, osgDB::Input &fr );bool ObjectRecordData_writeLocalData( const osg::Object &obj, osgDB::Output &fw );osgDB::RegisterDotOsgWrapperProxy ObjectRecordData_Proxy(    new osgSim::ObjectRecordData,    "ObjectRecordData",    "Object ObjectRecordData",    &ObjectRecordData_readLocalData,    &ObjectRecordData_writeLocalData,    osgDB::DotOsgWrapper::READ_AND_WRITE);static const int numBits( 6 );typedef std::pair< std::string,unsigned int> FlagBits;static FlagBits flagBits[numBits] = {    FlagBits( std::string("DONT_DISPLAY_IN_DAYLIGHT"), osgSim::ObjectRecordData::DONT_DISPLAY_IN_DAYLIGHT ),    FlagBits( "DONT_DISPLAY_AT_DUSK", osgSim::ObjectRecordData::DONT_DISPLAY_AT_DUSK ),    FlagBits( "DONT_DISPLAY_AT_NIGHT", osgSim::ObjectRecordData::DONT_DISPLAY_AT_NIGHT ),    FlagBits( "DONT_ILLUMINATE", osgSim::ObjectRecordData::DONT_ILLUMINATE ),    FlagBits( "FLAT_SHADED", osgSim::ObjectRecordData::FLAT_SHADED ),    FlagBits( "GROUPS_SHADOW_OBJECT", osgSim::ObjectRecordData::GROUPS_SHADOW_OBJECT )};bool ObjectRecordData_readLocalData(osg::Object &obj, osgDB::Input &fr){    bool iteratorAdvanced = false;    osgSim::ObjectRecordData &ord = static_cast<osgSim::ObjectRecordData&>(obj);    if (fr.matchSequence("flags %i"))    {        unsigned int flags;        fr[1].getUInt( flags );        ord._flags = flags;        fr += 2;        iteratorAdvanced = true;    }    if (fr.matchSequence("relativePriority %i"))    {        int relativePriority;        fr[1].getInt( relativePriority );        ord._relativePriority = (short) relativePriority;        fr += 2;        iteratorAdvanced = true;    }    if (fr.matchSequence("transparency %i"))    {        int transparency;        fr[1].getInt( transparency );        ord._transparency = (unsigned short) transparency;        fr += 2;        iteratorAdvanced = true;    }    if (fr.matchSequence("effectID1 %i"))    {        int effectID1;        fr[1].getInt( effectID1 );        ord._effectID1 = (short) effectID1;        fr += 2;        iteratorAdvanced = true;    }    if (fr.matchSequence("effectID2 %i"))    {        int effectID2;        fr[1].getInt( effectID2 );        ord._effectID2 = (short) effectID2;        fr += 2;        iteratorAdvanced = true;    }    if (fr.matchSequence("significance %i"))    {        int significance;        fr[1].getInt( significance );        ord._significance = (short) significance;        fr += 2;        iteratorAdvanced = true;    }    return iteratorAdvanced;}bool ObjectRecordData_writeLocalData(const osg::Object &obj, osgDB::Output &fw){    const osgSim::ObjectRecordData &ord = static_cast<const osgSim::ObjectRecordData&>(obj);    fw.indent() << "flags " << ord._flags << std::endl;    fw.indent() << "relativePriority " << ord._relativePriority << std::endl;    fw.indent() << "transparency " << ord._transparency << std::endl;    fw.indent() << "effectID1 " << ord._effectID1 << std::endl;    fw.indent() << "effectID2 " << ord._effectID2 << std::endl;    fw.indent() << "significance " << ord._significance << std::endl;    return true;}

⌨️ 快捷键说明

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