aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-22 14:09:35 +0100
committerGitHub <noreply@github.com>2020-01-22 14:09:35 +0100
commita95431d8666db9953115a3a824db396f8aa82b52 (patch)
tree21117e52f95b8f36880efef8cd71c1fcec21242c /src/pipeline.cpp
parentc5fb54168665d41503ef3a08f0534da58949b632 (diff)
parent4724025e6c817761052fc0dc8810fd489a9e0104 (diff)
downloadPROJ-a95431d8666db9953115a3a824db396f8aa82b52.tar.gz
PROJ-a95431d8666db9953115a3a824db396f8aa82b52.zip
Merge pull request #1855 from rouault/rfc4_merge_back_master
[RFC4_dev] Merge master back to rfc4 latest branch
Diffstat (limited to 'src/pipeline.cpp')
-rw-r--r--src/pipeline.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/pipeline.cpp b/src/pipeline.cpp
index f65dbfa0..511a69fe 100644
--- a/src/pipeline.cpp
+++ b/src/pipeline.cpp
@@ -170,6 +170,9 @@ static PJ_COORD pipeline_forward_4d (PJ_COORD point, PJ *P) {
if( !step.omit_fwd )
{
point = proj_trans (step.pj, PJ_FWD, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}
@@ -186,6 +189,9 @@ static PJ_COORD pipeline_reverse_4d (PJ_COORD point, PJ *P) {
if( !step.omit_inv )
{
point = proj_trans (step.pj, PJ_INV, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}
@@ -204,6 +210,9 @@ static PJ_XYZ pipeline_forward_3d (PJ_LPZ lpz, PJ *P) {
if( !step.omit_fwd )
{
point = pj_approx_3D_trans (step.pj, PJ_FWD, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}
@@ -222,6 +231,9 @@ static PJ_LPZ pipeline_reverse_3d (PJ_XYZ xyz, PJ *P) {
if( !step.omit_inv )
{
point = proj_trans (step.pj, PJ_INV, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}
@@ -240,6 +252,9 @@ static PJ_XY pipeline_forward (PJ_LP lp, PJ *P) {
if( !step.omit_fwd )
{
point = pj_approx_2D_trans (step.pj, PJ_FWD, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}
@@ -258,6 +273,9 @@ static PJ_LP pipeline_reverse (PJ_XY xy, PJ *P) {
if( !step.omit_inv )
{
point = pj_approx_2D_trans (step.pj, PJ_INV, point);
+ if( point.xyzt.x == HUGE_VAL ) {
+ break;
+ }
}
}