Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- osg::Vec3 apply(const osg::Vec3& v)
- {
- osg::EllipsoidModel em;
- em.computeLocalToWorldTransformFromLatLongHeight(osg::DegreesToRadians(_latitude), osg::DegreesToRadians(_longitude), _altitude, l2w);
- osg::Vec3d ecef = osg::Vec3d(v) * l2w;
- double lat;
- double lon;
- double alt;
- em.convertXYZToLatLongHeight(ecef.x(), ecef.y(), ecef.z(), lat, lon, alt);
- em.convertLatLongHeightToXYZ(lat, lon, _altitude+v.z(), ecef.x(), ecef.y(), ecef.z());
- osg::Vec3d origin;
- em.convertLatLongHeightToXYZ(osg::DegreesToRadians(_latitude), osg::DegreesToRadians(_longitude), _altitude, origin.x(),origin.y(),origin.z());
- osg::Vec3 result = ecef - origin;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement