40 float top, bottom, left, right;
56 return (
bgn[
X] >= left &&
bgn[
X] <= right && end[
X] >= left &&
57 end[
X] <= right &&
bgn[
Y] >= bottom &&
bgn[
Y] <= top &&
58 end[
Y] >= bottom && end[
Y] <= top);
81 float zmin, zmax,
fudge;
86 G_debug(5,
"gvd_vect(): id=%d",
gv->gvect_id);
97 fudge = (zmax - zmin) / 500.;
123 if (!
gv->fastlines) {
134 G_debug(5,
"gvd_vect(): type = %d dims = %d",
gln->type,
gln->dims);
145 if (
gln->highlighted > 0) {
149 else if (
gv->tstyle &&
gv->tstyle->active) {
161 if (
gln->dims == 2 || !
gv->use_z) {
162 G_debug(5,
"gvd_vect(): 2D vector line");
163 for (k = 0; k <
gln->npts - 1; k++) {
164 if (
gln->dims == 3) {
167 end[
X] =
gln->p3[k + 1][
X] +
gv->x_trans -
gs->ox;
168 end[
Y] =
gln->p3[k + 1][
Y] +
gv->y_trans -
gs->oy;
173 end[
X] =
gln->p2[k + 1][
X] +
gv->x_trans -
gs->ox;
174 end[
Y] =
gln->p2[k + 1][
Y] +
gv->y_trans -
gs->oy;
181 for (i = 0,
j = 0; i < npts; i++) {
190 points[i][
Z] +=
gv->z_trans;
220 G_debug(5,
"gvd_vect(): 3D vector line");
224 for (k = 0; k <
gln->npts; k++) {
240 if (
gln->dims == 3) {
241 G_debug(5,
"gvd_vect(): draw 3D polygon");
244 if (
gln->npts >= 3) {
263 for (k = 0; k <
gln->npts; k++) {
306 for (i = 0,
j = 0; i < npts; i++) {
void G_free(void *)
Free allocated memory.
int G_debug(int, const char *,...) __attribute__((format(printf
int gs_point_is_masked(geosurf *, float *)
Check if point is masked.
int gv_decimate_lines(geovect *)
Decimate line.
void gsd_pushmatrix(void)
Push the current matrix stack.
void gsd_do_scale(int)
Set current scale.
int gs_get_zrange(float *, float *)
Get z-range.
int gs_get_att_src(geosurf *, int)
Get attribute source.
Point3 * gsdrape_get_segments(geosurf *, float *, float *, int *)
ADD.
int gs_update_curmask(geosurf *)
Update current maps.
void gsd_color_func(unsigned int)
Set current color.
void gsd_translate(float, float, float)
Multiply the current matrix by a translation matrix.
void gsd_popmatrix(void)
Pop the current matrix stack.
void gsd_linewidth(short)
Set width of rasterized lines.
void gsd_endline(void)
End line.
void gsd_colormode(int)
Set color mode.
void GS_get_scale(float *, float *, float *, int)
Get axis scale.
void gsd_bgnline(void)
Begin line.
void gsd_vert_func(float *)
ADD.
int GS_check_cancel(void)
Check for cancel.
void gvd_draw_lineonsurf(geosurf *gs, float *bgn, float *end, int color)
Draw line on surface.
int gvd_vect(geovect *gv, geosurf *gs, int do_fast)
Draw vector set.
int gs_clip_segment(geosurf *gs, float *bgn, float *end, float *region)
Clip segment.
OGSF header file (structures)