GRASS GIS 8 Programmer's Manual
8.2.2dev(2023)-3d2c704037
|
OGSF library - manipulating views (lower level functions) More...
#include <grass/config.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <grass/ogsf.h>
#include "math.h"
Go to the source code of this file.
Functions | |
int | gsd_get_los (float(*vect)[3], short sx, short sy) |
ADD. More... | |
void | gsd_set_view (geoview *gv, geodisplay *gd) |
Set view. More... | |
void | gsd_check_focus (geoview *gv) |
Check focus. More... | |
void | gsd_get_zup (geoview *gv, double *up) |
Get z-up vector (z-direction) More... | |
int | gsd_zup_twist (geoview *gv) |
ADD. More... | |
void | gsd_do_scale (int doexag) |
Set current scale. More... | |
void | gsd_real2model (Point3 point) |
Convert real to model coordinates. More... | |
void | gsd_model2real (Point3 point) |
Convert model to real coordinates. More... | |
void | gsd_model2surf (geosurf *gs, Point3 point) |
Convert model to surface coordinates. More... | |
void | gsd_surf2model (Point3 point) |
Convert surface to model coordinates. More... | |
void | gsd_surf2real (geosurf *gs, Point3 point) |
Convert surface to real coordinates. More... | |
void | gsd_real2surf (geosurf *gs, Point3 point) |
Convert real to surface coordinates. More... | |
OGSF library - manipulating views (lower level functions)
GRASS OpenGL gsurf OGSF Library
(C) 1999-2008 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.
Definition in file gsd_views.c.
void gsd_check_focus | ( | geoview * | gv | ) |
Check focus.
gv | view (geoview) |
Definition at line 215 of file gsd_views.c.
References FROM, geoview::from_to, GS_get_zrange(), GS_v3eq(), GS_v3mult(), GS_v3normalize(), geoview::infocus, geoview::real_to, geoview::scale, TO, geoview::vert_exag, and Z.
Referenced by gsd_set_view().
void gsd_do_scale | ( | int | doexag | ) |
Set current scale.
doexag | use z-exaggeration |
Definition at line 355 of file gsd_views.c.
References GS_get_scale(), GS_get_zrange(), gsd_scale(), gsd_translate(), max, and min.
Referenced by GS_draw_X(), GS_set_Narrow(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_north_arrow(), gsd_scalebar(), gsd_scalebar_v2(), gsd_wire_arrows(), gsd_wire_surf_const(), gsd_wire_surf_map(), and gvld_wind3_box().
int gsd_get_los | ( | float(*) | vect[3], |
short | sx, | ||
short | sy | ||
) |
ADD.
vect | |
sx,sy | screen coordinates |
Definition at line 40 of file gsd_views.c.
Referenced by GS_look_here().
void gsd_get_zup | ( | geoview * | gv, |
double * | up | ||
) |
Get z-up vector (z-direction)
gv | view (geoview) |
up | up vector |
Definition at line 239 of file gsd_views.c.
References FROM, geoview::from_to, GS_v3dir(), TO, X, Y, and Z.
Referenced by gsd_set_view().
void gsd_model2real | ( | Point3 | point | ) |
Convert model to real coordinates.
point[in,out] | 3d point (x,y,z) |
Definition at line 393 of file gsd_views.c.
Referenced by GS_get_from_real(), and Gs_save_3dview().
Convert model to surface coordinates.
gs | surface (geosurf) |
point | 3d point (Point3) |
Definition at line 414 of file gsd_views.c.
References GS_get_scale(), GS_get_zrange(), max, min, X, Y, and Z.
void gsd_real2model | ( | Point3 | point | ) |
Convert real to model coordinates.
point[in,out] | 3d point (Point3) |
Definition at line 373 of file gsd_views.c.
Referenced by GS_moveto_real().
Convert real to surface coordinates.
gs | surface (geosurf) | |
[in,out] | point | 3d point (Point3) |
Definition at line 480 of file gsd_views.c.
References g_surf::ox, g_surf::oy, X, and Y.
Referenced by GS_get_cat_at_xy(), GS_get_norm_at_xy(), and GS_get_val_at_xy().
void gsd_set_view | ( | geoview * | gv, |
geodisplay * | gd | ||
) |
Set view.
Establishes viewing & projection matrices
gv | view (geoview) |
dp | display (geodisplay) |
Definition at line 146 of file gsd_views.c.
References geodisplay::aspect, georot::do_rot, geodisplay::farclip, geoview::fov, FROM, geoview::from_to, GS_get_aspect(), gs_get_datacenter(), gsd_check_focus(), gsd_get_zup(), gsd_surf2model(), gsd_update_cplanes(), geodisplay::nearclip, georot::rot_angle, georot::rot_axes, geoview::rotate, georot::rotMatrix, TO, geoview::twist, X, Y, and Z.
Referenced by GS_ready_draw(), and GS_set_focus().
void gsd_surf2model | ( | Point3 | point | ) |
Convert surface to model coordinates.
point | 3d point (Point3) |
Definition at line 441 of file gsd_views.c.
References GS_get_scale(), GS_get_zrange(), max, min, X, Y, and Z.
Referenced by gsd_set_view().
Convert surface to real coordinates.
gs | surface (geosurf) | |
[in,out] | point | 3d point (Point3) |
Definition at line 464 of file gsd_views.c.
References g_surf::ox, g_surf::oy, X, and Y.
int gsd_zup_twist | ( | geoview * | gv | ) |
ADD.
gv | view (geoview) |
Definition at line 274 of file gsd_views.c.
References FROM, geoview::from_to, GS_distance(), GS_v3eq(), TO, geoview::twist, X, Y, and Z.