20 #include <grass/gis.h>
21 #include <grass/Vect.h>
22 #include <grass/glocale.h>
35 Plus->Version_Major = 0;
36 Plus->Version_Minor = 0;
48 Plus->built = GV_BUILD_NONE;
63 Plus->alloc_nodes = 0;
64 Plus->alloc_edges = 0;
65 Plus->alloc_lines = 0;
66 Plus->alloc_areas = 0;
67 Plus->alloc_isles = 0;
68 Plus->alloc_volumes = 0;
69 Plus->alloc_holes = 0;
78 Plus->Node_offset = 0L;
79 Plus->Edge_offset = 0L;
80 Plus->Line_offset = 0L;
81 Plus->Area_offset = 0L;
82 Plus->Isle_offset = 0L;
83 Plus->Volume_offset = 0L;
84 Plus->Hole_offset = 0L;
86 Plus->Node_spidx_offset = 0L;
87 Plus->Edge_spidx_offset = 0L;
88 Plus->Line_spidx_offset = 0L;
89 Plus->Area_spidx_offset = 0L;
90 Plus->Isle_spidx_offset = 0L;
91 Plus->Volume_spidx_offset = 0L;
92 Plus->Hole_spidx_offset = 0L;
110 G_debug(2,
"dig_free_plus_nodes()");
114 for (i = 1; i <= Plus->n_nodes; i++) {
115 Node = Plus->Node[i];
119 if (Node->alloc_lines > 0) {
129 Plus->alloc_nodes = 0;
142 G_debug(2,
"dig_free_plus_lines()");
146 for (i = 1; i <= Plus->n_lines; i++) {
147 Line = Plus->Line[i];
158 Plus->alloc_lines = 0;
178 G_debug(2,
"dig_free_plus_areas()");
182 for (i = 1; i <= Plus->n_areas; i++) {
183 Area = Plus->Area[i];
187 if (Area->alloc_lines > 0)
190 if (Area->alloc_isles > 0)
199 Plus->alloc_areas = 0;
212 G_debug(2,
"dig_free_plus_isles()");
216 for (i = 1; i <= Plus->n_isles; i++) {
217 Isle = Plus->Isle[i];
221 if (Isle->alloc_lines > 0)
231 Plus->alloc_isles = 0;
287 if (
dig_fseek(plus, Plus->Node_offset, 0) == -1)
291 for (i = 1; i <= Plus->n_nodes; i++) {
297 if (
dig_fseek(plus, Plus->Line_offset, 0) == -1)
301 for (i = 1; i <= Plus->n_lines; i++) {
307 if (
dig_fseek(plus, Plus->Area_offset, 0) == -1)
311 for (i = 1; i <= Plus->n_areas; i++) {
317 if (
dig_fseek(plus, Plus->Isle_offset, 0) == -1)
321 for (i = 1; i <= Plus->n_isles; i++) {
345 G_warning(_(
"Unable to write head to plus file"));
350 G_warning(_(
"Unable to write nodes to plus file"));
355 G_warning(_(
"Unable to write lines to plus file"));
360 G_warning(_(
"Unable to write areas to plus file"));
365 G_warning(_(
"Unable to write isles to plus file"));
371 G_warning(_(
"Unable to write head to plus file"));
395 for (i = 1; i <= Plus->n_nodes; i++) {
419 for (i = 1; i <= Plus->n_lines; i++) {
444 for (i = 1; i <= Plus->n_areas; i++) {
469 for (i = 1; i <= Plus->n_isles; i++) {