19 #include <grass/gis.h>
20 #include <grass/Vect.h>
21 #include <grass/version.h>
114 G_debug(3,
" node is dead -> write 0 only");
163 Plus->Line[n] =
NULL;
170 G_debug(5,
" line type %d -> %d", tp, ptr->type);
176 if (ptr->type & (GV_POINTS |
GV_LINES | GV_KERNEL))
181 if (ptr->type & (GV_LINE | GV_BOUNDARY)) {
185 else if (ptr->type & (GV_POINTS | GV_KERNEL))
189 if (ptr->type & (GV_BOUNDARY | GV_CENTROID))
194 if (ptr->type & GV_BOUNDARY)
198 if ((ptr->type & GV_FACE) && Plus->with_z) {
211 if ((ptr->type & GV_KERNEL) && Plus->with_z)
216 if (ptr->type & (GV_LINE | GV_BOUNDARY | GV_FACE)) {
238 Node = Plus->Node[ptr->N1];
253 int n_edges = 0, vol = 0;
257 G_debug(4,
"dig_Wr_P_line() line = %d", n);
263 G_debug(3,
" line is dead -> write 0 only");
271 G_debug(5,
" line type %d -> %d", ptr->type, ch);
278 if (ptr->type & (GV_POINTS |
GV_LINES | GV_KERNEL))
283 if (ptr->type & (GV_LINE | GV_BOUNDARY))
288 if (ptr->type & (GV_BOUNDARY | GV_CENTROID))
293 if (ptr->type & GV_BOUNDARY)
297 if ((ptr->type & GV_FACE) && Plus->with_z) {
310 if ((ptr->type & GV_KERNEL) && Plus->with_z)
315 if (ptr->type & (GV_LINE | GV_BOUNDARY | GV_FACE)) {
342 G_debug(3,
"dig_Rd_P_area(): n = %d", n);
349 Plus->Area[n] =
NULL;
472 Plus->Isle[n] =
NULL;
569 unsigned char buf[5];
577 ptr->Version_Major = buf[0];
578 ptr->Version_Minor = buf[1];
579 ptr->Back_Major = buf[2];
580 ptr->Back_Minor = buf[3];
584 "Topo header: file version %d.%d , supported from GRASS version %d.%d",
585 ptr->Version_Major, ptr->Version_Minor, ptr->Back_Major,
588 G_debug(2,
" byte order %d", byte_order);
591 if (ptr->Version_Major > GV_TOPO_VER_MAJOR ||
592 ptr->Version_Minor > GV_TOPO_VER_MINOR) {
595 if (ptr->Back_Major > GV_TOPO_VER_MAJOR ||
596 ptr->Back_Minor > GV_TOPO_VER_MINOR) {
598 G_debug(1,
"Topology format version %d.%d",
599 ptr->Version_Major, ptr->Version_Minor);
601 (
"This version of GRASS (%d.%d) is too old to read this topology format."
602 " Try to rebuild topology or upgrade GRASS to at least version %d.",
603 GRASS_VERSION_MAJOR, GRASS_VERSION_MINOR, GRASS_VERSION_MAJOR + 1);
608 (
"Your GRASS version does not fully support topology format %d.%d of the vector."
609 " Consider to rebuild topology or upgrade GRASS.",
610 ptr->Version_Major, ptr->Version_Minor);
619 G_debug(2,
" header size %ld", ptr->head_size);
624 ptr->with_z = buf[0];
625 G_debug(2,
" with_z %d", ptr->with_z);
691 G_debug(2,
" coor size %ld", ptr->coor_size);
700 unsigned char buf[10];
707 buf[0] = GV_TOPO_VER_MAJOR;
708 buf[1] = GV_TOPO_VER_MINOR;
709 buf[2] = GV_TOPO_EARLIEST_MAJOR;
710 buf[3] = GV_TOPO_EARLIEST_MINOR;
711 buf[4] = ptr->port.byte_order;
720 buf[0] = ptr->with_z;