From 658088ee68db1cebe669426f87c0a89283e88325 Mon Sep 17 00:00:00 2001 From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be> Date: Tue, 15 Apr 2008 08:29:33 +0000 Subject: [PATCH] correct const in from_cartesian --- Plugin/GSHHS.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Plugin/GSHHS.cpp b/Plugin/GSHHS.cpp index 68475b646d..6b30186709 100644 --- a/Plugin/GSHHS.cpp +++ b/Plugin/GSHHS.cpp @@ -57,7 +57,8 @@ class coordinate_lonlat:public coordinate_system{ // ************** UTM ************** class coordinate_utm :public coordinate_system{ int zone; - coordinate_lonlat ll; + coordinate_lonlat ll_conv; + SPoint3 ll; double a, b, n, n2, n3, n4, n5, e, e2, e1, e12, e13, e14, J1, J2, J3, J4, Ap, Bp, Cp, Dp, Ep, e4, e6, ep, ep2, ep4, k0, mu_fact; public: @@ -68,18 +69,18 @@ class coordinate_utm :public coordinate_system{ return Ap * lat + Bp * sin(2 * lat) + Cp * sin(4 * lat) + Dp * sin(6 * lat) + Ep; } - void from_cartesian( SPoint3 xyz,SPoint3 &utm) { - ll.from_cartesian(xyz,xyz); - double S = meridionalarc(xyz.x(),xyz.y()); - double slat = sin(xyz.y()); - double clat = cos(xyz.y()); + void from_cartesian(const SPoint3 xyz,SPoint3 &utm) { + ll_conv.from_cartesian(xyz,ll); + double S = meridionalarc(ll.x(),ll.y()); + double slat = sin(ll.y()); + double clat = cos(ll.y()); double slat2 = slat * slat; double clat2 = clat * clat; double clat3 = clat2 * clat; double clat4 = clat3 * clat; double tlat2 = slat2 / clat2; double nu = a / sqrt(1 - e * e * slat2); - double p = xyz.x() - ((zone - 0.5) / 30 - 1) * M_PI; + double p = ll.x() - ((zone - 0.5) / 30 - 1) * M_PI; double p2 = p * p; double p3 = p * p2; double p4 = p2 * p2; @@ -112,7 +113,7 @@ class coordinate_utm :public coordinate_system{ double d4 = d2 * d2; double d5 = d4 * d; double d6 = d4 * d2; - xyz.setPosition( + ll.setPosition( ((zone - 0.5) / 30 - 1) * M_PI + (d - (1 + 2 * t1 + c1) * d3 / 6 + (5 - 2 * c1 + 28 * t1 - 3 * c12 + 8 * ep2 + @@ -121,7 +122,7 @@ class coordinate_utm :public coordinate_system{ * (d2 / 2 - (5 + 3 * t1 + 10 * c1 - 4 * c12 - 9 * ep2) * d4 / 24 + (61 + 90 * t1 + 298 * c1 + 45 * t12 - 3 * c12 - 252 * ep2) * d6 / 720), 0); - ll.to_cartesian(xyz,xyz); + ll_conv.to_cartesian(ll,xyz); } coordinate_utm(int _zone, double _a = 6378137, double _b = 6356752.3142) { /* see http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.HTM */ @@ -272,7 +273,7 @@ class GeoEarthImport } }; -/* $Id: GSHHS.cpp,v 1.7 2008-04-06 02:33:54 remacle Exp $ +/* $Id: GSHHS.cpp,v 1.8 2008-04-15 08:29:33 remacle Exp $ * * PROGRAM: gshhs.c * AUTHOR: Paul Wessel (pwessel@hawaii.edu) -- GitLab