proto.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef PROTO_H
  2. #define PROTO_H
  3. #define OP_EQUALS 0
  4. #define OP_DISJOINT 1
  5. #define OP_INTERSECTS 2
  6. #define OP_TOUCHES 3
  7. #define OP_CROSSES 4
  8. #define OP_WITHIN 5
  9. #define OP_CONTAINS 6
  10. #define OP_OVERLAPS 7
  11. #define OP_OVERLAP 8
  12. #define OP_RELATE 9
  13. struct GParm {
  14. struct Option *input[2], *output, *type[2], *field[2],
  15. *operator, *relate;
  16. };
  17. struct GFlag {
  18. struct Flag *table, *reverse, *cat;
  19. };
  20. /* args.c */
  21. void parse_options(struct GParm *, struct GFlag *);
  22. /* copy_tabs.c */
  23. void copy_tabs(struct Map_info *, struct Map_info *,
  24. int, int *, int *, int **);
  25. #ifdef HAVE_GEOS
  26. /* geos.c */
  27. int line_relate_geos(struct Map_info *, const GEOSGeometry *,
  28. int, int, const char *);
  29. int area_relate_geos(struct Map_info *, const GEOSGeometry *,
  30. int, int, const char *);
  31. #endif
  32. /* select.c */
  33. int select_lines(struct Map_info *, int, int,
  34. struct Map_info *, int, int,
  35. int, int, const char *, int *);
  36. /* overlap.c */
  37. void add_aarea(struct Map_info *, int, int *);
  38. int line_overlap_area(struct line_pnts *, struct Map_info *, int);
  39. /* write.c */
  40. void write_lines(struct Map_info *, struct field_info *, int *,
  41. struct Map_info *, int, int,
  42. int, int *, int *, int **);
  43. #endif /* PROTO_H */