| 102 | |
| 103 | |
| 104 | static PJ_COORD forward_4d(PJ_COORD obs, PJ *P) { |
| 105 | struct vgridshiftData *Q = (struct vgridshiftData *) P->opaque; |
| 106 | PJ_COORD point = obs; |
| 107 | |
| 108 | /* If transformation is not time restricted, we always call it */ |
| 109 | if (Q->t_final==0 || Q->t_epoch==0) { |
| 110 | point.xyz = forward_3d (obs.lpz, P); |
| 111 | return point; |
| 112 | } |
| 113 | |
| 114 | /* Time restricted - only apply transform if within time bracket */ |
| 115 | if (obs.lpzt.t < Q->t_epoch && Q->t_final > Q->t_epoch) |
| 116 | point.xyz = forward_3d (obs.lpz, P); |
| 117 | |
| 118 | |
| 119 | return point; |
| 120 | } |
| 121 | |
| 122 | static PJ_COORD reverse_4d(PJ_COORD obs, PJ *P) { |
| 123 | struct vgridshiftData *Q = (struct vgridshiftData *) P->opaque; |
nothing calls this directly
no test coverage detected