The the email I quoted. I was just wondering if there was a reason to limit
storing of SMCs in the description lists of Geodes only. It appears that SMCs
could be stored in the descriptions of any Node type.
-Paul
On 11/27/2012 9:56 AM, We See wrote:
Hi Paul,
Yes, DescriptionLists are part of UserDataContainer and are implemented in
osg::Node, so descriptions can be added to every class inherited from osg::Node.
But what has it to do with the SMC extension of OpenFlight-plugin?
-WeSee
Paul Martz wrote:
DescriptionLists are part of UserDataContainer now, right? So they could be
attached to any Node, not just Geode.
-Paul
On 11/16/2012 5:35 AM, WeSee wrote:
Hi guys,
I am very proud to present my first contribution to OSG. It is a small extension
of the OpenFlight-plugin for reading Surface Material Codes and adding this code
as description to the geode.
I have seen, the OpenFlight-Load does not support the Surface Material Code
(SMC) attribute. Therefore all Surface Mateial Codes of models in flt-Format
will be lost when reading into OSG. So I made a change in the OpenFlight plugin,
which reads the SMC and adds a description to the geode (the OSG-nodes have no
such element). The description will be: ‘SMC:<surfaceCode>’. Example: if the
surface-code is 1234, the description will be ‘SMC:1234’.
Adding this desciption can be enabled/disabled with the import-option
‚preserveNonOsgAttrsAsDescription’ (default is disabled). If it is set, the
description will be added, if it is not set, SMC will be ignored (=> like it
was
without this change). It would make sense to describe this new option in the
wiki-page:
http://www.openscenegraph.org/projects/osg/wiki/Support/KnowledgeBase/OpenFlight.
I tested this change with a lot of flt-models containing different SMC and it
worked flawless.
The base for my changes was OSG-3.0.1.
Following changes I made:
src/osgPlugins/OpenFlight/Document.h& Document.cpp:
New member-variable bool _preserveNonOsgAttrsAsDescription which will be set to
false in the constructor and getter/setter-methods for it added
(getPreserveNonOsgAttrsAsDescription() and
setPreserveNonOsgAttrsAsDescription())
src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp:
In the constructor FLTReaderWriter()preserveNonOsgAttrsAsDescription will be
declared as import-option
In readNode() the new option preserveNonOsgAttrsAsDescription will be read and
set (also an OSG_DEBUG will be made)
src/osgPlugins/OpenFlight/GeometryRecords.cpp:
In Face::readRecord() the surface will be read and if
preserveNonOsgAttrsAsDescription-option is set, the description will be
generated and added to the geode
In Mesh::readRecord() the surface will be read and if
preserveNonOsgAttrsAsDescription-option is set, the description will be
generated and added to the geode
I hope you can add this to the trunc, otherwise please inform me why this is not
possible.
Cheers
WeSee
_______________________________________________
osg-submissions mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
_______________________________________________
osg-submissions mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
------------------
Post generated by Mail2Forum
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=51253#51253
_______________________________________________
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