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

Reply via email to