19 #include <grass/gis.h>
20 #include <grass/Vect.h>
113 G_debug(3,
" node is dead -> write 0 only");
162 Plus->Line[n] =
NULL;
169 G_debug(5,
" line type %d -> %d", tp, ptr->type);
175 if (ptr->type & (GV_POINTS |
GV_LINES | GV_KERNEL))
180 if (ptr->type & (GV_LINE | GV_BOUNDARY)) {
184 else if (ptr->type & (GV_POINTS | GV_KERNEL))
188 if (ptr->type & (GV_BOUNDARY | GV_CENTROID))
193 if (ptr->type & GV_BOUNDARY)
197 if ((ptr->type & GV_FACE) && Plus->with_z) {
210 if ((ptr->type & GV_KERNEL) && Plus->with_z)
215 if (ptr->type & (GV_LINE | GV_BOUNDARY | GV_FACE)) {
237 Node = Plus->Node[ptr->N1];
252 int n_edges = 0, vol = 0;
256 G_debug(4,
"dig_Wr_P_line() line = %d", n);
262 G_debug(3,
" line is dead -> write 0 only");
270 G_debug(5,
" line type %d -> %d", ptr->type, ch);
277 if (ptr->type & (GV_POINTS |
GV_LINES | GV_KERNEL))
282 if (ptr->type & (GV_LINE | GV_BOUNDARY))
287 if (ptr->type & (GV_BOUNDARY | GV_CENTROID))
292 if (ptr->type & GV_BOUNDARY)
296 if ((ptr->type & GV_FACE) && Plus->with_z) {
309 if ((ptr->type & GV_KERNEL) && Plus->with_z)
314 if (ptr->type & (GV_LINE | GV_BOUNDARY | GV_FACE)) {
341 G_debug(3,
"dig_Rd_P_area(): n = %d", n);
348 Plus->Area[n] =
NULL;
471 Plus->Isle[n] =
NULL;
568 unsigned char buf[5];
576 ptr->Version_Major = buf[0];
577 ptr->Version_Minor = buf[1];
578 ptr->Back_Major = buf[2];
579 ptr->Back_Minor = buf[3];
583 "Topo header: file version %d.%d , supported from GRASS version %d.%d",
584 ptr->Version_Major, ptr->Version_Minor, ptr->Back_Major,
587 G_debug(2,
" byte order %d", byte_order);
590 if (ptr->Version_Major > GV_TOPO_VER_MAJOR ||
591 ptr->Version_Minor > GV_TOPO_VER_MINOR) {
594 if (ptr->Back_Major > GV_TOPO_VER_MAJOR ||
595 ptr->Back_Minor > GV_TOPO_VER_MINOR) {
598 (
"Topology format version %d.%d is not supported by this release."
599 " Try to rebuild topology or upgrade GRASS.",
600 ptr->Version_Major, ptr->Version_Minor);
605 (
"Your GRASS version does not fully support topology format %d.%d of the vector."
606 " Consider to rebuild topology or upgrade GRASS.",
607 ptr->Version_Major, ptr->Version_Minor);
616 G_debug(2,
" header size %ld", ptr->head_size);
621 ptr->with_z = buf[0];
622 G_debug(2,
" with_z %d", ptr->with_z);
688 G_debug(2,
" coor size %ld", ptr->coor_size);
697 unsigned char buf[10];
704 buf[0] = GV_TOPO_VER_MAJOR;
705 buf[1] = GV_TOPO_VER_MINOR;
706 buf[2] = GV_TOPO_EARLIEST_MAJOR;
707 buf[3] = GV_TOPO_EARLIEST_MINOR;
708 buf[4] = ptr->port.byte_order;
717 buf[0] = ptr->with_z;