#include #include #include #include #include #include #include bool ModularEmitter_readLocalData(osg::Object &obj, osgDB::Input &fr); bool ModularEmitter_writeLocalData(const osg::Object &obj, osgDB::Output &fw); osgDB::RegisterDotOsgWrapperProxy ModularEmitter_Proxy ( new osgParticle::ModularEmitter, "ModularEmitter", "Object Node ParticleProcessor Emitter ModularEmitter", ModularEmitter_readLocalData, ModularEmitter_writeLocalData ); bool ModularEmitter_readLocalData(osg::Object &obj, osgDB::Input &fr) { osgParticle::ModularEmitter &myobj = static_cast(obj); bool itAdvanced = false; osgParticle::Counter *counter = static_cast(fr.readObjectOfType(osgDB::type_wrapper())); if (counter) { myobj.setCounter(counter); itAdvanced = true; } osgParticle::Placer *placer = static_cast(fr.readObjectOfType(osgDB::type_wrapper())); if (placer) { myobj.setPlacer(placer); itAdvanced = true; } osgParticle::Shooter *shooter = static_cast(fr.readObjectOfType(osgDB::type_wrapper())); if (shooter) { myobj.setShooter(shooter); itAdvanced = true; } return itAdvanced; } bool ModularEmitter_writeLocalData(const osg::Object &obj, osgDB::Output &fw) { const osgParticle::ModularEmitter &myobj = static_cast(obj); if (myobj.getCounter()) fw.writeObject(*myobj.getCounter()); if (myobj.getPlacer()) fw.writeObject(*myobj.getPlacer()); if (myobj.getShooter()) fw.writeObject(*myobj.getShooter()); return true; }