Hi Sebastian, On 20 April 2016 at 09:49, Sebastian Messerschmidt < sebastian.messerschm...@gmx.de> wrote:
> Am 20.04.2016 um 10:05 schrieb Robert Osfield: > > Hi Sebastian, > > On 20 April 2016 at 08:17, Sebastian Messerschmidt < > sebastian.messerschm...@gmx.de> wrote: > >> Openflight databases seem to use this user-data at the root node to >> describe the geographic base coordinates of UTM-databases. >> Unfortunately this class doesn't seem to have a serializer for the osgXYZ >> file formats. What is the best way to add such serialization capabilities? >> > > Been a very very long time since I heard mention of the > osgSim::GeoographicLocation class... just been sitting there quietly > minding it's own business. > > The issue right now is, that I somehow have to distribute the lat,lon > origin in some OpenFlight centric workflow. I could totally do this > differently by transforming the information into my own format. > > > Looking at the implementation now the two parameters that need to be > serialized at the latitude and longitude paramters. If these used the > setName()/getName() convention then it'd be easy to add serializers using > the standard ADD_DOUBLE_SERIALIZER( Name, 0.0); serializers (for instance > see the usage in src/osgWrappers/serializers/osg/ ). > > As these don't follow the setName/getName() one will either have to write > a custom serializer for it or simply change the naming across to the > setName()/getName() convention that the almost all of the OSG uses. I'd be > inclined to do the later. Then just add the GeographicLocation serializers > to the src/osgWrappes/serializers/osgSim. This would mean that the change > could only be add to OSG master and no backported to OSG-3.4 or OSG-3.2 as > the ABI would change, but personally I'd be happy with this. > > I'll try to do this then and present the submission when I find the time. > The other route which would with recent OSG versions would be to copy the GeographicLocation data to the a Node's UserValue i.e. node->setValue("latitude", geographicLocation->latitude()); node->setValue("longitude", geographicLocation->longitude)); The values then would be serialized automatically. Robert.
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org