Hi Robert, I've been playing around with serializers in order to use it as a "generic" property mechanism for osg::Object.
The main problem I have found is that InputStream and OutputStream only takes the stream when you call start method, and in that case it attaches to the stream buffer some stuff, useful for files but not for runtime/gui usage. I have added a simple setInputIterator and setOutputIterator to the classes so now you can easily serialize values without version and other stuff. Writing matrix: osgDB::OutputStream os(0); std::stringstream sstream; os.setOutputIterator(new AsciiOutputIterator(&sstream)); os << matrix; std::string value = sstream.str(); Reading matrix: osgDB::InputStream is(0); std::stringstream sstream(value); is.setInputIterator(new AsciiInputIterator(&sstream)); osg::Matrixf mat2; is >> mat2; Maybe this can be used with the Metadata mechanism that is in discussion in the osg-user list, so generic values can be read by a GUI in a string like format, or even generic properties of objects. Cheers, Rafa. -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia
osgdbstreams.tar.gz
Description: GNU Zip compressed data
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
