PostGIS  3.0.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 863 of file gserialized_gist_2d.c.

864 {
865  bool retval;
866 
867  POSTGIS_DEBUGF(4, "[GIST] leaf consistent, strategy [%d], count[%i]",
868  strategy, g2d_counter_leaf++);
869 
870  switch (strategy)
871  {
872 
873  /* Basic overlaps */
874  case RTOverlapStrategyNumber:
875  retval = (bool) box2df_overlaps(key, query);
876  break;
877  case RTSameStrategyNumber:
878  retval = (bool) box2df_equals(key, query);
879  break;
880  case RTContainsStrategyNumber:
881  case RTOldContainsStrategyNumber:
882  retval = (bool) box2df_contains(key, query);
883  break;
884  case RTContainedByStrategyNumber:
885  case RTOldContainedByStrategyNumber:
886  retval = (bool) box2df_within(key, query);
887  break;
888 
889  /* To one side */
890  case RTAboveStrategyNumber:
891  retval = (bool) box2df_above(key, query);
892  break;
893  case RTBelowStrategyNumber:
894  retval = (bool) box2df_below(key, query);
895  break;
896  case RTRightStrategyNumber:
897  retval = (bool) box2df_right(key, query);
898  break;
899  case RTLeftStrategyNumber:
900  retval = (bool) box2df_left(key, query);
901  break;
902 
903  /* Overlapping to one side */
904  case RTOverAboveStrategyNumber:
905  retval = (bool) box2df_overabove(key, query);
906  break;
907  case RTOverBelowStrategyNumber:
908  retval = (bool) box2df_overbelow(key, query);
909  break;
910  case RTOverRightStrategyNumber:
911  retval = (bool) box2df_overright(key, query);
912  break;
913  case RTOverLeftStrategyNumber:
914  retval = (bool) box2df_overleft(key, query);
915  break;
916 
917  default:
918  retval = false;
919  }
920 
921  return (retval);
922 }
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: