PostGIS  3.1.6dev-r@@SVN_REVISION@@

◆ gserialized_gist_consistent_leaf_2d()

static bool gserialized_gist_consistent_leaf_2d ( BOX2DF *  key,
BOX2DF *  query,
StrategyNumber  strategy 
)
inlinestatic

Definition at line 910 of file gserialized_gist_2d.c.

911 {
912  bool retval;
913 
914  POSTGIS_DEBUGF(4, "[GIST] leaf consistent, strategy [%d], count[%i]",
915  strategy, g2d_counter_leaf++);
916 
917  switch (strategy)
918  {
919 
920  /* Basic overlaps */
921  case RTOverlapStrategyNumber:
922  retval = (bool) box2df_overlaps(key, query);
923  break;
924  case RTSameStrategyNumber:
925  retval = (bool) box2df_equals(key, query);
926  break;
927  case RTContainsStrategyNumber:
928  case RTOldContainsStrategyNumber:
929  retval = (bool) box2df_contains(key, query);
930  break;
931  case RTContainedByStrategyNumber:
932  case RTOldContainedByStrategyNumber:
933  retval = (bool) box2df_within(key, query);
934  break;
935 
936  /* To one side */
937  case RTAboveStrategyNumber:
938  retval = (bool) box2df_above(key, query);
939  break;
940  case RTBelowStrategyNumber:
941  retval = (bool) box2df_below(key, query);
942  break;
943  case RTRightStrategyNumber:
944  retval = (bool) box2df_right(key, query);
945  break;
946  case RTLeftStrategyNumber:
947  retval = (bool) box2df_left(key, query);
948  break;
949 
950  /* Overlapping to one side */
951  case RTOverAboveStrategyNumber:
952  retval = (bool) box2df_overabove(key, query);
953  break;
954  case RTOverBelowStrategyNumber:
955  retval = (bool) box2df_overbelow(key, query);
956  break;
957  case RTOverRightStrategyNumber:
958  retval = (bool) box2df_overright(key, query);
959  break;
960  case RTOverLeftStrategyNumber:
961  retval = (bool) box2df_overleft(key, query);
962  break;
963 
964  default:
965  retval = false;
966  }
967 
968  return (retval);
969 }
bool box2df_left(const BOX2DF *a, const BOX2DF *b)
bool box2df_equals(const BOX2DF *a, const BOX2DF *b)
bool box2df_contains(const BOX2DF *a, const BOX2DF *b)
bool box2df_right(const BOX2DF *a, const BOX2DF *b)
bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
static bool box2df_within(const BOX2DF *a, const BOX2DF *b)
bool box2df_above(const BOX2DF *a, const BOX2DF *b)
bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b)
bool box2df_overright(const BOX2DF *a, const BOX2DF *b)
bool box2df_overabove(const BOX2DF *a, const BOX2DF *b)
bool box2df_below(const BOX2DF *a, const BOX2DF *b)
bool box2df_overleft(const BOX2DF *a, const BOX2DF *b)

References box2df_above(), box2df_below(), box2df_contains(), box2df_equals(), box2df_left(), box2df_overabove(), box2df_overbelow(), box2df_overlaps(), box2df_overleft(), box2df_overright(), box2df_right(), and box2df_within().

Referenced by gserialized_gist_consistent_2d().

Here is the call graph for this function:
Here is the caller graph for this function: