|
Revision 11020, 1.2 kB
(checked in by robert, 3 years ago)
|
|
From Wang Rui, added osgParticle serializers
|
| Line | |
|---|
| 1 | #include <osgParticle/Emitter> |
|---|
| 2 | #include <osgDB/ObjectWrapper> |
|---|
| 3 | #include <osgDB/InputStream> |
|---|
| 4 | #include <osgDB/OutputStream> |
|---|
| 5 | |
|---|
| 6 | extern bool readParticle( osgDB::InputStream& is, osgParticle::Particle& p ); |
|---|
| 7 | extern bool writeParticle( osgDB::OutputStream& os, const osgParticle::Particle& p ); |
|---|
| 8 | |
|---|
| 9 | static bool checkParticleTemplate( const osgParticle::Emitter& emitter ) |
|---|
| 10 | { |
|---|
| 11 | return !emitter.getUseDefaultTemplate(); |
|---|
| 12 | } |
|---|
| 13 | |
|---|
| 14 | static bool readParticleTemplate( osgDB::InputStream& is, osgParticle::Emitter& emitter ) |
|---|
| 15 | { |
|---|
| 16 | osgParticle::Particle p; |
|---|
| 17 | readParticle( is, p ); |
|---|
| 18 | emitter.setParticleTemplate( p ); |
|---|
| 19 | return true; |
|---|
| 20 | } |
|---|
| 21 | |
|---|
| 22 | static bool writeParticleTemplate( osgDB::OutputStream& os, const osgParticle::Emitter& emitter ) |
|---|
| 23 | { |
|---|
| 24 | const osgParticle::Particle& p = emitter.getParticleTemplate(); |
|---|
| 25 | writeParticle( os, p ); |
|---|
| 26 | return true; |
|---|
| 27 | } |
|---|
| 28 | |
|---|
| 29 | REGISTER_OBJECT_WRAPPER( osgParticleEmitter, |
|---|
| 30 | NULL, |
|---|
| 31 | osgParticle::Emitter, |
|---|
| 32 | "osg::Object osg::Node osgParticle::ParticleProcessor osgParticle::Emitter" ) |
|---|
| 33 | { |
|---|
| 34 | ADD_BOOL_SERIALIZER( UseDefaultTemplate, true ); |
|---|
| 35 | ADD_USER_SERIALIZER( ParticleTemplate ); |
|---|
| 36 | } |
|---|