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