GRASS Programmer's Manual
6.4.2(2012)
|
00001 00017 #include <stdlib.h> 00018 #include <grass/gis.h> 00019 #include <grass/Vect.h> 00020 00026 void dig_line_reset_updated(struct Plus_head *Plus) 00027 { 00028 Plus->n_uplines = 0; 00029 } 00030 00037 void dig_line_add_updated(struct Plus_head *Plus, int line) 00038 { 00039 int i; 00040 00041 G_debug(3, "dig_line_add_updated(): line = %d", line); 00042 00043 /* Check if already in list */ 00044 for (i = 0; i < Plus->n_uplines; i++) 00045 if (Plus->uplines[i] == line) 00046 return; 00047 00048 /* Alloc space if needed */ 00049 if (Plus->n_uplines == Plus->alloc_uplines) { 00050 Plus->alloc_uplines += 1000; 00051 Plus->uplines = 00052 (int *)G_realloc(Plus->uplines, 00053 Plus->alloc_uplines * sizeof(int)); 00054 } 00055 00056 Plus->uplines[Plus->n_uplines] = line; 00057 Plus->n_uplines++; 00058 } 00059 00065 void dig_node_reset_updated(struct Plus_head *Plus) 00066 { 00067 Plus->n_upnodes = 0; 00068 } 00069 00076 void dig_node_add_updated(struct Plus_head *Plus, int node) 00077 { 00078 int i; 00079 00080 G_debug(3, "dig_node_add_updated(): node = %d", node); 00081 00082 /* Check if already in list */ 00083 for (i = 0; i < Plus->n_upnodes; i++) 00084 if (Plus->upnodes[i] == node) 00085 return; 00086 00087 /* Alloc space if needed */ 00088 if (Plus->n_upnodes == Plus->alloc_upnodes) { 00089 Plus->alloc_upnodes += 1000; 00090 Plus->upnodes = 00091 (int *)G_realloc(Plus->upnodes, 00092 Plus->alloc_upnodes * sizeof(int)); 00093 } 00094 00095 Plus->upnodes[Plus->n_upnodes] = node; 00096 Plus->n_upnodes++; 00097 }