/
| 97 | |
| 98 | /**************************************************************************************/ |
| 99 | PJ_COORD pj_approx_3D_trans (PJ *P, PJ_DIRECTION direction, PJ_COORD coo) { |
| 100 | /*************************************************************************************** |
| 101 | Companion to pj_approx_2D_trans. |
| 102 | |
| 103 | Behave mostly as proj_trans, but attempt to use 3D interfaces only. |
| 104 | Used in gie.c, to enforce testing 3D code, and by PJ_pipeline.c to implement |
| 105 | chained calls starting out with a call to its 3D interface. |
| 106 | ***************************************************************************************/ |
| 107 | if (nullptr==P) |
| 108 | return coo; |
| 109 | if (P->inverted) |
| 110 | direction = static_cast<PJ_DIRECTION>(-direction); |
| 111 | switch (direction) { |
| 112 | case PJ_FWD: |
| 113 | coo.xyz = pj_fwd3d (coo.lpz, P); |
| 114 | return coo; |
| 115 | case PJ_INV: |
| 116 | coo.lpz = pj_inv3d (coo.xyz, P); |
| 117 | return coo; |
| 118 | case PJ_IDENT: |
| 119 | break; |
| 120 | } |
| 121 | return coo; |
| 122 | } |
| 123 | |
| 124 | /**************************************************************************************/ |
| 125 | int pj_has_inverse(PJ *P) { |
no test coverage detected