Hi Robert, > I have reviewed your changes, but felt that the user data support that > you grafted into Object.cpp was inappropriate, so what I've done is to > come up with a more general purpose solution for user data, which will > allow support for other subclasses from osg::Object to be saved, along > with ShapeAttributeList. I've also merged the ShapeAttribute IO into > ShapeAttributeList to keep things self contained.
Good, I guess this I why we send submissions for review before they are committed:) Thanks for improving the solution. To my defense this was my first look at the osgPlugin structure;)
> Could you do an svn update and let me know if things are working fine > for your too. Checked out, compiled and tested with data: Works great!! Best regards, John Robert Osfield wrote:
Hi John, I have reviewed your changes, but felt that the user data support that you grafted into Object.cpp was inappropriate, so what I've done is to come up with a more general purpose solution for user data, which will allow support for other subclasses from osg::Object to be saved, along with ShapeAttributeList. I've also merged the ShapeAttribute IO into ShapeAttributeList to keep things self contained. Using your input.osg I'm not able to do an osgconv input.osg test.ive sogconv test.ive test.osg And get out all the original settings, so it looks like the hyrbrid of our work that is now checked in is working just fine. Could you do an svn update and let me know if things are working fine for your too. Cheers, Robert. On Wed, Aug 27, 2008 at 12:19 PM, John Vidar Larring <[EMAIL PROTECTED]> wrote:Hi Robert, I have added support for the osgSim::ShapeAttribute in the .ive plugin. Since osgSim::ShapeAttributeList is stored as UserData in osg::Object, I also had to modify the serialization of ive::Object.cpp and up the ive version number. Additional access methods have been added to osgSim::ShapeAttribute to support serialization. svn version modified: 8803 Files: ------ include/osgSim/ShapeAttribute src/osgPlugins/ive/Object.cpp src/osgPlugins/ive/DataInputStream.h src/osgPlugins/ive/ReadWrite.h src/osgPlugins/ive/IveVersion.h src/osgPlugins/ive/DataOutputStream.cpp src/osgPlugins/ive/DataOutputStream.h src/osgPlugins/ive/DataInputStream.cpp src/osgPlugins/ive/CMakeLists.txt src/osgPlugins/ive/ShapeAttribute.h (new) src/osgPlugins/ive/ShapeAttribute.cpp (new) src/osgPlugins/ive/ShapeAttributeList.h (new) src/osgPlugins/ive/ShapeAttributeList.cpp (new) For testing: ------------ Use the attached input.osg file with osgconv in the following command sequence: % osgconv input.osg qwe.ive % osgconv qwe.ive qwe.osg % diff input.osg qwe.osg On success the diff should be empty. Best regards, John -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. Group { name "input.osg" nodeMask 0xffffffff cullingActive TRUE num_children 1 Geode { name "ShapeAttributeListSample.osg" UserData { osgSim::ShapeAttributeList { string "cntry_name" "New Zealand" int "colormap" 6 string "curr_code" "NZD" string "curr_type" "NZ Dollar" string "fips_cntry" "NZ" string "gmi_cntry" "NZL" string "iso_2digit" "NZ" string "iso_3digit" "NZL" string "landlocked" "N" string "long_name" "New Zealand" int "pop_cntry" 3528197 string "sovereign" "New Zealand" double "sqkm" 268341 double "sqmi" 103606 } } nodeMask 0xffffffff cullingActive TRUE num_drawables 0 } } _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
-- Best regards, John WeatherOne -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
