1 #define TOOL_BREAK    1		/* break at intersection */
2 #define TOOL_RMDUPL   2		/* remove duplicates */
3 #define TOOL_RMDANGLE 3		/* remove dangles */
4 #define TOOL_CHDANGLE 4		/* retype 'boundary' dangles to 'line' */
5 #define TOOL_SNAP     5		/* snap line to vertex in threshold */
6 #define TOOL_RMDAC    6		/* remove duplicate area centroids */
7 #define TOOL_BPOL     7		/* break polygons on shared points with different angles */
8 #define TOOL_RMBRIDGE 8		/* remove bridges connecting area and island or 2 islands */
9 #define TOOL_CHBRIDGE 9		/* change the type of bridges connecting area and island or 2 islands from boundary to line */
10 #define TOOL_PRUNE   10		/* remove vertices in threshold from lines and boundaries */
11 #define TOOL_RMAREA  11		/* remove small areas */
12 #define TOOL_RMSA    12		/* remove small angles between lines at nodes */
13 #define TOOL_RMLINE  13		/* remove all line or boundaries of zero length */
14 
15 #define SEP \
16     "--------------------------------------------------"
17 
18 int rmdac(struct Map_info *Out, struct Map_info *Err);
19 void remove_bridges(struct Map_info *Map, struct Map_info *Err);
20 int prune(struct Map_info *Out, int otype, double thresh,
21 	  struct Map_info *Err);
22 int remove_zero_line(struct Map_info *Map, int type, struct Map_info *Err);
23 int split_lines(struct Map_info *Map, int otype, struct Map_info *Err);
24