GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-f4d8c62acd
gvd.c File Reference

OGSF library - loading and manipulating vector sets (lower level functions) More...

#include <stdio.h>
#include <stdlib.h>
#include <grass/gis.h>
#include <grass/ogsf.h>
#include "rowcol.h"
Include dependency graph for gvd.c:

Go to the source code of this file.


#define CHK_FREQ   5


int gs_clip_segment (geosurf *gs, float *bgn, float *end, float *region)
 Clip segment. More...
int gvd_vect (geovect *gv, geosurf *gs, int do_fast)
 Draw vector set. More...
void gvd_draw_lineonsurf (geosurf *gs, float *bgn, float *end, int color)
 Draw line on surface. More...

Detailed Description

OGSF library - loading and manipulating vector sets (lower level functions)

(C) 1999-2008, 2011 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Bill Brown USACERL (December 1993)
Doxygenized by Martin Landa (June 2008)

Definition in file gvd.c.

Macro Definition Documentation


#define CHK_FREQ   5

Definition at line 24 of file gvd.c.

Function Documentation

◆ gs_clip_segment()

int gs_clip_segment ( geosurf gs,
float *  bgn,
float *  end,
float *  region 

Clip segment.

to use fast clipping and move to gs.c
bgnbegin point
endend point
regionregion settings
1 segment inside region
0 segment outside region

Definition at line 40 of file gvd.c.

◆ gvd_draw_lineonsurf()

void gvd_draw_lineonsurf ( geosurf gs,
float *  bgn,
float *  end,
int  color 

Draw line on surface.

bgnfirst line point
endend line point
colorcolor value

Definition at line 299 of file gvd.c.

References gs_point_is_masked(), gsd_bgnline(), gsd_color_func(), gsd_endline(), gsd_vert_func(), and gsdrape_get_segments().

◆ gvd_vect()

int gvd_vect ( geovect gv,
geosurf gs,
int  do_fast 

Draw vector set.

Need to think about translations - If user translates surface, vector should automatically go with it, but translating vector should translate it relative to surface on which it's displayed?

Handling mask checking here, but may be more appropriate to handle in get_drape_segments?

gvvector set
do_fastnon-zero for fast mode

Definition at line 79 of file gvd.c.

Referenced by GV_draw_fastvect(), and GV_draw_vect().