MCPcopy Create free account
hub / github.com/Kitware/VTK / pj_inv4d

Function pj_inv4d

ThirdParty/libproj/vtklibproj/src/inv.cpp:214–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212
213
214PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P) {
215 int last_errno = proj_errno_reset(P);
216
217 if (!P->skip_inv_prepare)
218 coo = inv_prepare (P, coo);
219 if (HUGE_VAL==coo.v[0])
220 return proj_coord_error ();
221
222 /* Call the highest dimensional converter available */
223 if (P->inv4d)
224 coo = P->inv4d (coo, P);
225 else if (P->inv3d)
226 coo.lpz = P->inv3d (coo.xyz, P);
227 else if (P->inv)
228 coo.lp = P->inv (coo.xy, P);
229 else {
230 proj_errno_set (P, PROJ_ERR_OTHER_NO_INVERSE_OP);
231 return proj_coord_error ();
232 }
233 if (HUGE_VAL==coo.v[0])
234 return proj_coord_error ();
235
236 if (!P->skip_inv_finalize)
237 coo = inv_finalize (P, coo);
238
239 return error_or_coord(P, coo, last_errno);
240}

Callers 1

proj_transFunction · 0.85

Calls 6

proj_errno_resetFunction · 0.85
inv_prepareFunction · 0.85
proj_coord_errorFunction · 0.85
proj_errno_setFunction · 0.85
inv_finalizeFunction · 0.85
error_or_coordFunction · 0.70

Tested by

no test coverage detected