io_emitter.cpp
来自「最新osg包」· C++ 代码 · 共 71 行
CPP
71 行
#include <osgParticle/Emitter>#include <iostream>#include <osgDB/Registry>#include <osgDB/Input>#include <osgDB/Output>extern bool read_particle(osgDB::Input &fr, osgParticle::Particle &P);extern void write_particle(const osgParticle::Particle &P, osgDB::Output &fw);bool Emitter_readLocalData(osg::Object &obj, osgDB::Input &fr);bool Emitter_writeLocalData(const osg::Object &obj, osgDB::Output &fw);osgDB::RegisterDotOsgWrapperProxy Emitter_Proxy( 0, "Emitter", "Object Node ParticleProcessor Emitter", Emitter_readLocalData, Emitter_writeLocalData);bool Emitter_readLocalData(osg::Object &obj, osgDB::Input &fr){ osgParticle::Emitter &myobj = static_cast<osgParticle::Emitter &>(obj); bool itAdvanced = false; if (fr[0].matchWord("useDefaultTemplate")) { if (fr[1].matchWord("TRUE")) { myobj.setUseDefaultTemplate(true); fr += 2; itAdvanced = true; } if (fr[1].matchWord("FALSE")) { myobj.setUseDefaultTemplate(false); fr += 2; itAdvanced = true; } } if (fr[0].matchWord("particleTemplate")) { ++fr; itAdvanced = true; osgParticle::Particle P; if (read_particle(fr, P)) { myobj.setParticleTemplate(P); } } return itAdvanced;}bool Emitter_writeLocalData(const osg::Object &obj, osgDB::Output &fw){ const osgParticle::Emitter &myobj = static_cast<const osgParticle::Emitter &>(obj); fw.indent() << "useDefaultTemplate "; if (!myobj.getUseDefaultTemplate()) { fw << "FALSE" << std::endl; fw.indent() << "particleTemplate "; write_particle(myobj.getParticleTemplate(), fw); fw << std::endl; } else { fw << "TRUE" << std::endl; } return true;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?