Skip to content

Commit

Permalink
Merge 2a7acaf into 5001cd2
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Mar 23, 2019
2 parents 5001cd2 + 2a7acaf commit c246805
Show file tree
Hide file tree
Showing 18 changed files with 133 additions and 124 deletions.
2 changes: 1 addition & 1 deletion src/apps/gie.cpp
Expand Up @@ -874,7 +874,7 @@ static int expect_failure_with_errno_message (int expected, int got) {

/* For test purposes, we want to call a transformation of the same */
/* dimensionality as the number of dimensions given in accept */
static PJ_COORD expect_trans_n_dim (PJ_COORD ci) {
static PJ_COORD expect_trans_n_dim (const PJ_COORD& ci) {
if (4==T.dimensions_given_at_last_accept)
return proj_trans (T.P, T.dir, ci);

Expand Down
8 changes: 4 additions & 4 deletions src/conversions/axisswap.cpp
Expand Up @@ -104,7 +104,7 @@ static PJ_LP reverse_2d(PJ_XY xy, PJ *P) {
}


static PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P) {
static PJ_XYZ forward_3d(const PJ_LPZ& lpz, PJ *P) {
struct pj_opaque *Q = (struct pj_opaque *) P->opaque;
unsigned int i;
PJ_COORD out, in;
Expand All @@ -118,7 +118,7 @@ static PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P) {
return out.xyz;
}

static PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P) {
static PJ_LPZ reverse_3d(const PJ_XYZ& xyz, PJ *P) {
struct pj_opaque *Q = (struct pj_opaque *) P->opaque;
unsigned int i;
PJ_COORD in, out;
Expand All @@ -133,7 +133,7 @@ static PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P) {
}


static PJ_COORD forward_4d(PJ_COORD coo, PJ *P) {
static PJ_COORD forward_4d(const PJ_COORD& coo, PJ *P) {
struct pj_opaque *Q = (struct pj_opaque *) P->opaque;
unsigned int i;
PJ_COORD out;
Expand All @@ -147,7 +147,7 @@ static PJ_COORD forward_4d(PJ_COORD coo, PJ *P) {
}


static PJ_COORD reverse_4d(PJ_COORD coo, PJ *P) {
static PJ_COORD reverse_4d(const PJ_COORD& coo, PJ *P) {
struct pj_opaque *Q = (struct pj_opaque *) P->opaque;
unsigned int i;
PJ_COORD out;
Expand Down
4 changes: 2 additions & 2 deletions src/conversions/cart.cpp
Expand Up @@ -131,7 +131,7 @@ static double geocentric_radius (double a, double b, double phi) {


/*********************************************************************/
static PJ_XYZ cartesian (PJ_LPZ geod, PJ *P) {
static PJ_XYZ cartesian (const PJ_LPZ& geod, PJ *P) {
/*********************************************************************/
double N, cosphi = cos(geod.phi);
PJ_XYZ xyz;
Expand All @@ -148,7 +148,7 @@ static PJ_XYZ cartesian (PJ_LPZ geod, PJ *P) {


/*********************************************************************/
static PJ_LPZ geodetic (PJ_XYZ cart, PJ *P) {
static PJ_LPZ geodetic (const PJ_XYZ& cart, PJ *P) {
/*********************************************************************/
double N, p, theta, c, s;
PJ_LPZ lpz;
Expand Down
4 changes: 2 additions & 2 deletions src/conversions/geoc.cpp
Expand Up @@ -37,12 +37,12 @@
PROJ_HEAD(geoc, "Geocentric Latitude");

/* Geographical to geocentric */
static PJ_COORD forward(PJ_COORD coo, PJ *P) {
static PJ_COORD forward(const PJ_COORD& coo, PJ *P) {
return pj_geocentric_latitude (P, PJ_FWD, coo);
}

/* Geocentric to geographical */
static PJ_COORD inverse(PJ_COORD coo, PJ *P) {
static PJ_COORD inverse(const PJ_COORD& coo, PJ *P) {
return pj_geocentric_latitude (P, PJ_INV, coo);
}

Expand Down
8 changes: 4 additions & 4 deletions src/conversions/unitconvert.cpp
Expand Up @@ -313,7 +313,7 @@ static PJ_LP reverse_2d(PJ_XY xy, PJ *P) {


/***********************************************************************/
static PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P) {
static PJ_XYZ forward_3d(const PJ_LPZ& lpz, PJ *P) {
/************************************************************************
Forward unit conversions the vertical component
************************************************************************/
Expand All @@ -330,7 +330,7 @@ static PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P) {
}

/***********************************************************************/
static PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P) {
static PJ_LPZ reverse_3d(const PJ_XYZ& xyz, PJ *P) {
/************************************************************************
Reverse unit conversions the vertical component
************************************************************************/
Expand All @@ -348,7 +348,7 @@ static PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P) {


/***********************************************************************/
static PJ_COORD forward_4d(PJ_COORD obs, PJ *P) {
static PJ_COORD forward_4d(const PJ_COORD& obs, PJ *P) {
/************************************************************************
Forward conversion of time units
************************************************************************/
Expand All @@ -368,7 +368,7 @@ static PJ_COORD forward_4d(PJ_COORD obs, PJ *P) {


/***********************************************************************/
static PJ_COORD reverse_4d(PJ_COORD obs, PJ *P) {
static PJ_COORD reverse_4d(const PJ_COORD& obs, PJ *P) {
/************************************************************************
Reverse conversion of time units
************************************************************************/
Expand Down
6 changes: 4 additions & 2 deletions src/fwd.cpp
Expand Up @@ -197,7 +197,8 @@ PJ_XY pj_fwd(PJ_LP lp, PJ *P) {
}



// public interface defined in proj_api.h for now
// cppcheck-suppress passedByValue
PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P) {
int last_errno;
PJ_COORD coo = {{0,0,0,0}};
Expand Down Expand Up @@ -232,7 +233,8 @@ PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P) {



PJ_COORD pj_fwd4d (PJ_COORD coo, PJ *P) {
PJ_COORD pj_fwd4d (const PJ_COORD& cooIn, PJ *P) {
PJ_COORD coo(cooIn);
int last_errno = proj_errno_reset(P);

if (!P->skip_fwd_prepare)
Expand Down
7 changes: 4 additions & 3 deletions src/inv.cpp
Expand Up @@ -173,8 +173,8 @@ PJ_LP pj_inv(PJ_XY xy, PJ *P) {
return error_or_coord(P, coo, last_errno).lp;
}



// public interface defined in proj_api.h for now
// cppcheck-suppress passedByValue
PJ_LPZ pj_inv3d (PJ_XYZ xyz, PJ *P) {
int last_errno;
PJ_COORD coo = {{0,0,0,0}};
Expand Down Expand Up @@ -209,7 +209,8 @@ PJ_LPZ pj_inv3d (PJ_XYZ xyz, PJ *P) {



PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P) {
PJ_COORD pj_inv4d (const PJ_COORD& cooIn, PJ *P) {
PJ_COORD coo(cooIn);
int last_errno = proj_errno_reset(P);

if (!P->skip_inv_prepare)
Expand Down
25 changes: 9 additions & 16 deletions src/pipeline.cpp
Expand Up @@ -130,35 +130,27 @@ struct pj_opaque_pushpop {
} // anonymous namespace


static PJ_COORD pipeline_forward_4d (PJ_COORD point, PJ *P);
static PJ_COORD pipeline_reverse_4d (PJ_COORD point, PJ *P);
static PJ_XYZ pipeline_forward_3d (PJ_LPZ lpz, PJ *P);
static PJ_LPZ pipeline_reverse_3d (PJ_XYZ xyz, PJ *P);
static PJ_XY pipeline_forward (PJ_LP lp, PJ *P);
static PJ_LP pipeline_reverse (PJ_XY xy, PJ *P);




static PJ_COORD pipeline_forward_4d (PJ_COORD point, PJ *P) {
static PJ_COORD pipeline_forward_4d (const PJ_COORD& pointIn, PJ *P) {
int i, first_step, last_step;

first_step = 1;
last_step = static_cast<struct pj_opaque*>(P->opaque)->steps + 1;

PJ_COORD point(pointIn);
for (i = first_step; i != last_step; i++)
point = proj_trans (static_cast<struct pj_opaque*>(P->opaque)->pipeline[i], PJ_FWD, point);

return point;
}


static PJ_COORD pipeline_reverse_4d (PJ_COORD point, PJ *P) {
static PJ_COORD pipeline_reverse_4d (const PJ_COORD& pointIn, PJ *P) {
int i, first_step, last_step;

first_step = static_cast<struct pj_opaque*>(P->opaque)->steps;
last_step = 0;

PJ_COORD point(pointIn);
for (i = first_step; i != last_step; i--)
point = proj_trans (static_cast<struct pj_opaque*>(P->opaque)->pipeline[i], PJ_INV, point);

Expand All @@ -168,7 +160,7 @@ static PJ_COORD pipeline_reverse_4d (PJ_COORD point, PJ *P) {



static PJ_XYZ pipeline_forward_3d (PJ_LPZ lpz, PJ *P) {
static PJ_XYZ pipeline_forward_3d (const PJ_LPZ& lpz, PJ *P) {
PJ_COORD point = {{0,0,0,0}};
int i;
point.lpz = lpz;
Expand All @@ -180,7 +172,7 @@ static PJ_XYZ pipeline_forward_3d (PJ_LPZ lpz, PJ *P) {
}


static PJ_LPZ pipeline_reverse_3d (PJ_XYZ xyz, PJ *P) {
static PJ_LPZ pipeline_reverse_3d (const PJ_XYZ& xyz, PJ *P) {
PJ_COORD point = {{0,0,0,0}};
int i;
point.xyz = xyz;
Expand Down Expand Up @@ -570,7 +562,7 @@ PJ *OPERATION(pipeline,0) {
return P;
}

static PJ_COORD push(PJ_COORD point, PJ *P) {
static PJ_COORD push(const PJ_COORD& point, PJ *P) {
if (P->parent == nullptr)
return point;

Expand All @@ -589,7 +581,8 @@ static PJ_COORD push(PJ_COORD point, PJ *P) {
return point;
}

static PJ_COORD pop(PJ_COORD point, PJ *P) {
static PJ_COORD pop(const PJ_COORD& pointIn, PJ *P) {
PJ_COORD point(pointIn);
if (P->parent == nullptr)
return point;

Expand Down
10 changes: 5 additions & 5 deletions src/proj_internal.h
Expand Up @@ -193,8 +193,8 @@ struct projCppContext;
/* not sure why we need to export it, but mingw needs it */
void PROJ_DLL proj_context_delete_cpp_context(struct projCppContext* cppContext);

PJ_COORD pj_fwd4d (PJ_COORD coo, PJ *P);
PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P);
PJ_COORD pj_fwd4d (const PJ_COORD& coo, PJ *P);
PJ_COORD pj_inv4d (const PJ_COORD& coo, PJ *P);

PJ_COORD PROJ_DLL pj_approx_2D_trans (PJ *P, PJ_DIRECTION direction, PJ_COORD coo);
PJ_COORD PROJ_DLL pj_approx_3D_trans (PJ *P, PJ_DIRECTION direction, PJ_COORD coo);
Expand Down Expand Up @@ -291,7 +291,7 @@ typedef struct projCtx_t projCtx_t;
*****************************************************************************/
typedef PJ *(* PJ_CONSTRUCTOR) (PJ *);
typedef PJ *(* PJ_DESTRUCTOR) (PJ *, int);
typedef PJ_COORD (* PJ_OPERATOR) (PJ_COORD, PJ *);
typedef PJ_COORD (* PJ_OPERATOR) (const PJ_COORD&, PJ *);
/****************************************************************************/


Expand Down Expand Up @@ -352,8 +352,8 @@ struct PJconsts {

PJ_XY (*fwd)(PJ_LP, PJ *) = nullptr;
PJ_LP (*inv)(PJ_XY, PJ *) = nullptr;
PJ_XYZ (*fwd3d)(PJ_LPZ, PJ *) = nullptr;
PJ_LPZ (*inv3d)(PJ_XYZ, PJ *) = nullptr;
PJ_XYZ (*fwd3d)(const PJ_LPZ&, PJ *) = nullptr;
PJ_LPZ (*inv3d)(const PJ_XYZ&, PJ *) = nullptr;
PJ_OPERATOR fwd4d = nullptr;
PJ_OPERATOR inv4d = nullptr;

Expand Down
8 changes: 4 additions & 4 deletions src/projections/latlong.cpp
Expand Up @@ -56,7 +56,7 @@ static PJ_LP latlong_inverse(PJ_XY xy, PJ *P) {
}


static PJ_XYZ latlong_forward_3d (PJ_LPZ lpz, PJ *P) {
static PJ_XYZ latlong_forward_3d (const PJ_LPZ& lpz, PJ *P) {
PJ_XYZ xyz = {0,0,0};
(void) P;
xyz.x = lpz.lam;
Expand All @@ -66,7 +66,7 @@ static PJ_LP latlong_inverse(PJ_XY xy, PJ *P) {
}


static PJ_LPZ latlong_inverse_3d (PJ_XYZ xyz, PJ *P) {
static PJ_LPZ latlong_inverse_3d (const PJ_XYZ& xyz, PJ *P) {
PJ_LPZ lpz = {0,0,0};
(void) P;
lpz.lam = xyz.x;
Expand All @@ -75,13 +75,13 @@ static PJ_LPZ latlong_inverse_3d (PJ_XYZ xyz, PJ *P) {
return lpz;
}

static PJ_COORD latlong_forward_4d (PJ_COORD obs, PJ *P) {
static PJ_COORD latlong_forward_4d (const PJ_COORD& obs, PJ *P) {
(void) P;
return obs;
}


static PJ_COORD latlong_inverse_4d (PJ_COORD obs, PJ *P) {
static PJ_COORD latlong_inverse_4d (const PJ_COORD& obs, PJ *P) {
(void) P;
return obs;
}
Expand Down
4 changes: 2 additions & 2 deletions src/projections/sch.cpp
Expand Up @@ -55,7 +55,7 @@ struct pj_opaque {

PROJ_HEAD(sch, "Spherical Cross-track Height") "\n\tMisc\n\tplat_0= plon_0= phdg_0= [h_0=]";

static PJ_LPZ inverse3d(PJ_XYZ xyz, PJ *P) {
static PJ_LPZ inverse3d(const PJ_XYZ& xyz, PJ *P) {
PJ_LPZ lpz = {0.0, 0.0, 0.0};
struct pj_opaque *Q = static_cast<struct pj_opaque*>(P->opaque);
double temp[3];
Expand Down Expand Up @@ -93,7 +93,7 @@ static PJ_LPZ inverse3d(PJ_XYZ xyz, PJ *P) {
return lpz;
}

static PJ_XYZ forward3d(PJ_LPZ lpz, PJ *P) {
static PJ_XYZ forward3d(const PJ_LPZ& lpz, PJ *P) {
PJ_XYZ xyz = {0.0, 0.0, 0.0};
struct pj_opaque *Q = static_cast<struct pj_opaque*>(P->opaque);
double temp[3];
Expand Down
20 changes: 10 additions & 10 deletions src/transformations/affine.cpp
Expand Up @@ -59,7 +59,7 @@ struct pj_opaque_affine {
} // anonymous namespace


static PJ_COORD forward_4d(PJ_COORD obs, PJ *P) {
static PJ_COORD forward_4d(const PJ_COORD& obs, PJ *P) {
PJ_COORD newObs;
const struct pj_opaque_affine *Q = (const struct pj_opaque_affine *) P->opaque;
const struct pj_affine_coeffs *C = &(Q->forward);
Expand All @@ -70,7 +70,7 @@ static PJ_COORD forward_4d(PJ_COORD obs, PJ *P) {
return newObs;
}

static PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P) {
static PJ_XYZ forward_3d(const PJ_LPZ& lpz, PJ *P) {
PJ_COORD point = {{0,0,0,0}};
point.lpz = lpz;
return forward_4d(point, P).xyz;
Expand All @@ -84,21 +84,21 @@ static PJ_XY forward_2d(PJ_LP lp, PJ *P) {
}


static PJ_COORD reverse_4d(PJ_COORD obs, PJ *P) {
static PJ_COORD reverse_4d(const PJ_COORD& obs, PJ *P) {
PJ_COORD newObs;
const struct pj_opaque_affine *Q = (const struct pj_opaque_affine *) P->opaque;
const struct pj_affine_coeffs *C = &(Q->reverse);
obs.xyzt.x -= Q->xoff;
obs.xyzt.y -= Q->yoff;
obs.xyzt.z -= Q->zoff;
newObs.xyzt.x = C->s11 * obs.xyzt.x + C->s12 * obs.xyzt.y + C->s13 * obs.xyzt.z;
newObs.xyzt.y = C->s21 * obs.xyzt.x + C->s22 * obs.xyzt.y + C->s23 * obs.xyzt.z;
newObs.xyzt.z = C->s31 * obs.xyzt.x + C->s32 * obs.xyzt.y + C->s33 * obs.xyzt.z;
const double x = obs.xyzt.x - Q->xoff;
const double y = obs.xyzt.y - Q->yoff;
const double z = obs.xyzt.z - Q->zoff;
newObs.xyzt.x = C->s11 * x + C->s12 * y + C->s13 * z;
newObs.xyzt.y = C->s21 * x + C->s22 * y + C->s23 * z;
newObs.xyzt.z = C->s31 * x + C->s32 * y + C->s33 * z;
newObs.xyzt.t = C->tscale * (obs.xyzt.t - Q->toff);
return newObs;
}

static PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P) {
static PJ_LPZ reverse_3d(const PJ_XYZ& xyz, PJ *P) {
PJ_COORD point = {{0,0,0,0}};
point.xyz = xyz;
return reverse_4d(point, P).lpz;
Expand Down

0 comments on commit c246805

Please sign in to comment.