Loading...
Searching...
No Matches
gs2.c File Reference

OGSF library - loading and manipulating surfaces (higher level functions). More...

`#include <stdlib.h>`
`#include <string.h>`
`#include <math.h>`
`#include <grass/config.h>`
`#include <grass/gis.h>`
`#include <grass/raster.h>`
`#include <grass/ogsf.h>`
`#include <grass/glocale.h>`
`#include "gsget.h"`
`#include "rowcol.h"`
`#include "rgbpack.h"`
Include dependency graph for gs2.c:

Go to the source code of this file.

## Macros

#define | NVIZ_HACK 1

## Functions

int | gsd_getViewport (GLint *, GLint *)
void | void_func (void)
void | GS_libinit (void)
| Initialize OGSF library.
int | GS_get_longdim (float *dim)
| Get largest dimension.
int | GS_get_region (float *n, float *s, float *w, float *e)
| Get 2D region extent.
void | GS_set_att_defaults (float *defs, float *null_defs)
| Set default attributes for map objects.
int | GS_surf_exists (int id)
int | GS_new_surface (void)
| Add new surface.
void | GS_set_light_reset (int i)
int | GS_get_light_reset (void)
int | GS_new_light (void)
| Add new model light.
void | GS_setlight_position (int num, float xpos, float ypos, float zpos, int local)
| Set light position.
void | GS_getlight_position (int num, float *xpos, float *ypos, float *zpos, int *local)
| Get light position.
void | GS_setlight_color (int num, float red, float green, float blue)
| Set light color.
void | GS_getlight_color (int num, float *red, float *green, float *blue)
| Get light color.
void | GS_setlight_ambient (int num, float red, float green, float blue)
| Set light ambient.
void | GS_getlight_ambient (int num, float *red, float *green, float *blue)
| Get light ambient.
void | GS_lights_off (void)
| Switch off all lights.
void | GS_lights_on (void)
| Switch on all lights.
void | GS_switchlight (int num, int on)
| Switch on/off light.
int | GS_transp_is_set (void)
| Check if transparency is set.
void | GS_get_modelposition1 (float pos[])
| Retrieves coordinates for lighting model position, at center of view.
void | GS_get_modelposition (float *size, float *pos)
| Retrieves coordinates for lighting model position, at center of view.
void | GS_set_Narrow (int *pt, int id, float *pos2)
| Set decoration, north arrow ??
void | GS_draw_X (int id, float *pt)
| Draw place marker.
void | GS_draw_line_onsurf (int id, float x1, float y1, float x2, float y2)
| Draw line on surface.
int | GS_draw_nline_onsurf (int id, float x1, float y1, float x2, float y2, float *lasp, int n)
| Draw multiline on surface.
void | GS_draw_flowline_at_xy (int id, float x, float y)
| Draw flow-line on surace.
void | GS_draw_fringe (int id, unsigned long clr, float elev, int *where)
| Draw fringe around data (surface) at selected corners.
int | GS_draw_legend (const char *name, GLuint fontbase, int size, int *flags, float *range, int *pt)
| Draw legend.
void | GS_draw_list (GLuint list_id)
| Draw pre-defined list.
void | GS_draw_all_list (void)
| Draw all glLists.
void | GS_delete_list (GLuint list_id)
| Delete pre-defined list.
void | GS_draw_lighting_model1 (void)
| Draw lighting model.
void | GS_draw_lighting_model (void)
| Draw lighting model.
int | GS_update_curmask (int id)
| Update current mask.
int | GS_is_masked (int id, float *pt)
| Check if point is masked ?
void | GS_unset_SDsurf (void)
| Unset Scaled Difference surface.
int | GS_set_SDsurf (int id)
| Set surface as Scaled Difference surface.
int | GS_set_SDscale (float scale)
| Set ?
int | GS_get_SDsurf (int *id)
| Get ?
int | GS_get_SDscale (float *scale)
| Get ?
int | GS_update_normals (int id)
| Update normals.
int | GS_get_att (int id, int att, int *set, float *constant, char *mapname)
| Get attributes.
int | GS_get_cat_at_xy (int id, int att, char *catstr, float x, float y)
| Get surface category on given position.
int | GS_get_norm_at_xy (int id, float x, float y, float *nv)
| Get surface normal at x,y (real coordinates).
int | GS_get_val_at_xy (int id, int att, char *valstr, float x, float y)
| Get RGB color at given point.
int | GS_unset_att (int id, int att)
| Unset attribute.
int | GS_set_att_const (int id, int att, float constant)
| Set attribute constant.
int | GS_set_maskmode (int id, int mode)
| Set mask mode.
int | GS_get_maskmode (int id, int *mode)
| Get mask mode.
int | GS_Set_ClientData (int id, void *clientd)
| Set client data.
void * | GS_Get_ClientData (int id)
| Get client data.
int | GS_num_surfs (void)
| Get number of surfaces.
int * | GS_get_surf_list (int *numsurfs)
| Get surface list.
int | GS_delete_surface (int id)
| Delete surface.
int | GS_load_att_map (int id, const char *filename, int att)
| Load raster map as attribute.
void | GS_draw_surf (int id)
| Draw surface.
void | GS_draw_wire (int id)
| Draw surface wire.
void | GS_alldraw_wire (void)
| Draw all wires.
void | GS_alldraw_surf (void)
| Draw all surfaces.
void | GS_set_exag (int id, float exag)
| Set Z exag for surface.
void | GS_set_global_exag (float exag)
| Set global z-exag value.
float | GS_global_exag (void)
| Get global z-exag value.
void | GS_set_wire_color (int id, int colr)
| Set wire color.
int | GS_get_wire_color (int id, int *colr)
| Get wire color.
int | GS_setall_drawmode (int mode)
| Set all draw-modes.
int | GS_set_drawmode (int id, int mode)
| Set draw mode.
int | GS_get_drawmode (int id, int *mode)
| Get draw mode.
void | GS_set_nozero (int id, int att, int mode)
| Set no-zero ?
int | GS_get_nozero (int id, int att, int *mode)
| Get no-zero ?
int | GS_setall_drawres (int xres, int yres, int xwire, int ywire)
| Set all draw resolutions.
int | GS_set_drawres (int id, int xres, int yres, int xwire, int ywire)
| Set draw resolution for surface.
void | GS_get_drawres (int id, int *xres, int *yres, int *xwire, int *ywire)
| Get draw resolution of surface.
void | GS_get_dims (int id, int *rows, int *cols)
| Get dimension of surface.
int | GS_get_exag_guess (int id, float *exag)
| Get exag-value guess.
void | GS_get_zrange_nz (float *min, float *max)
| Get Z extents for all loaded surfaces.
void | GS_set_trans (int id, float xtrans, float ytrans, float ztrans)
| Set translation (surface position).
void | GS_get_trans (int id, float *xtrans, float *ytrans, float *ztrans)
| Get translation values (surface position).
unsigned int | GS_default_draw_color (void)
| Get default draw color.
unsigned int | GS_background_color (void)
| Get background color.
void | GS_set_draw (int where)
| Sets which buffer to draw to.
void | GS_ready_draw (void)
void | GS_done_draw (void)
| Draw done, swap buffers.
void | GS_set_focus (float *realto)
| Set focus.
void | GS_set_focus_real (float *realto)
| Set real focus.
int | GS_get_focus (float *realto)
| Get focus.
void | GS_set_focus_center_map (int id)
| Set focus to map center.
void | GS_moveto (float *pt)
| Move viewpoint.
void | GS_moveto_real (float *pt)
| Move position to (real).
int | GS_get_zextents (int id, float *min, float *max, float *mid)
| Get z-extent for a single surface.
int | GS_get_zrange (float *min, float *max, int doexag)
| Get z-extent for all loaded surfaces.
void | GS_get_from (float *fr)
| Get viewpoint 'from' position.
void | GS_get_from_real (float *fr)
| Get viewpoint 'from' real coordinates.
void | GS_get_to_real (float *to)
| Get 'to' real coordinates.
void | GS_zoom_setup (int *a, int *b, int *c, int *d, int *maxx, int *maxy)
| Get zoom setup.
void | GS_get_to (float *to)
| Get 'to' model coordinates.
void | GS_get_viewdir (float *dir)
| Get viewdir.
void | GS_set_viewdir (float *dir)
| Set viewdir.
void | GS_set_fov (int fov)
| Set field of view.
int | GS_get_fov (void)
| Get field of view.
int | GS_get_twist (void)
| Get twist value.
void | GS_set_twist (int t)
| Set viewpoint twist value.
void | GS_set_rotation (double angle, double x, double y, double z)
| Set rotation params.
void | GS_unset_rotation (void)
| Stop scene rotation.
void | GS_init_rotation (void)
| Reset scene rotation.
void | GS_get_rotation_matrix (double *matrix)
| Get rotation matrix.
void | GS_set_rotation_matrix (double *matrix)
| Set rotation matrix.
void | GS_set_nofocus (void)
| Unset focus.
void | GS_set_infocus (void)
| Set focus.
void | GS_set_viewport (int left, int right, int bottom, int top)
| Set viewport.
int | GS_look_here (int sx, int sy)
| Send screen coords sx and sy, lib traces through surfaces; sets new center to point of nearest intersection.
int | GS_get_selected_point_on_surface (int sx, int sy, int *id, float *x, float *y, float *z)
| Get selected point of surface.
void | GS_set_cplane_rot (int num, float dx, float dy, float dz)
| Set cplace rotation.
void | GS_set_cplane_trans (int num, float dx, float dy, float dz)
| Set cplace trans.
void | GS_draw_cplane (int num)
| Draw cplace.
int | GS_draw_cplane_fence (int hs1, int hs2, int num)
| Draw cplace fence ?
void | GS_alldraw_cplane_fences (void)
| Draw all cplace fences ?
void | GS_set_cplane (int num)
| Set cplace.
void | GS_unset_cplane (int num)
| Unset clip place (turn off).
void | GS_get_scale (float *sx, float *sy, float *sz, int doexag)
| Get axis scale.
void | GS_set_fencecolor (int mode)
| Set fence color.
int | GS_get_fencecolor (void)
| Get fence color.
int | GS_get_distance_alongsurf (int hs, float x1, float y1, float x2, float y2, float *dist, int use_exag)
| Measure distance "as the ball rolls" between two points on surface.
int | GS_save_3dview (const char *vname, int surfid)
| Save 3d view.
int | GS_load_3dview (const char *vname, int surfid)
| Load 3d view.
void | GS_init_view (void)
| Init viewpoint.
void | GS_clear (int col)
| Clear view.
double | GS_get_aspect (void)
| Get aspect value.
int | GS_has_transparency (void)
| Check for transparency.

## Detailed Description

OGSF library - loading and manipulating surfaces (higher level functions).

GRASS OpenGL gsurf OGSF Library

Plans for handling color maps: NOW: if able to load as unsigned char, make lookup table containing palette otherwise, load directly as packed color, set lookup = NULL MAYBE LATER: if able to load as POSITIVE short, make lookup table containing palette

- may want to calculate savings first (ie, numcells > 32768) (not exactly, it's Friday & time to go home - figure it later) otherwise, load directly as packed color, set lookup = NULL MESSY! - need to fix up!

(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.

Author
  Bill Brown USACERL (1993)
  Pierre de Mouveaux <p_de_mouveaux hotmail.com> (updated October 1999)
  Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)

Definition in file gs2.c.

## Macro Definition Documentation

## NVIZ_HACK

#define NVIZ_HACK 1

Definition at line 60 of file gs2.c.

## Function Documentation

## GS_alldraw_cplane_fences()

void GS_alldraw_cplane_fences | ( | void |  | ) |

Draw all cplace fences ?

Definition at line 3194 of file gs2.c.

References GS_draw_cplane_fence(), and gsd_get_cplanes_state().

Referenced by gk_follow_frames().

## GS_alldraw_surf()

void GS_alldraw_surf | ( | void |  | ) |

Draw all surfaces.

Definition at line 1937 of file gs2.c.

References GS_draw_surf().

Referenced by gk_follow_frames().

## GS_alldraw_wire()

void GS_alldraw_wire | ( | void |  | ) |

Draw all wires.

Overrides draw_mode for fast display

Definition at line 1920 of file gs2.c.

References gs_get_surf(), and gsd_wire_surf().

Referenced by gk_follow_frames(), GK_set_tension(), Gs_load_3dview(), Nviz_draw_quick(), and Nviz_resize_window().

## GS_background_color()

unsigned int GS_background_color | ( | void |  | ) |

Get background color.

Returns
  color value

Definition at line 2452 of file gs2.c.

Referenced by gk_draw_path(), gk_follow_frames(), and GK_set_tension().

## GS_clear()

void GS_clear | ( | int | col | ) |

Clear view.

Parameters

  col | color value

Definition at line 3417 of file gs2.c.

References G_debug(), and gsd_flush().

Referenced by gk_follow_frames(), GK_set_tension(), Nviz_draw_all(), and Nviz_draw_quick().

## GS_default_draw_color()

unsigned int GS_default_draw_color | ( | void |  | ) |

Get default draw color.

Returns
  color value

Definition at line 2439 of file gs2.c.

References G_debug().

Referenced by gk_draw_path(), GS_draw_line_onsurf(), GS_draw_nline_onsurf(), and gsd_draw_cplane().

## GS_delete_list()

void GS_delete_list | ( | GLuint | list_id | ) |

Delete pre-defined list.

Parameters

  list_id | list id

Definition at line 886 of file gs2.c.

References gsd_deletelist().

## GS_delete_surface()

int GS_delete_surface | ( | int | id | ) |

Delete surface.

Parameters

  id | surface id

Returns
  1 on success
  -1 on error

Definition at line 1559 of file gs2.c.

References FALSE, G_debug(), gs_delete_surf(), GS_surf_exists(), gv_update_drapesurfs(), and TRUE.

## GS_done_draw()

void GS_done_draw | ( | void |  | ) |

Draw done, swap buffers.

Definition at line 2501 of file gs2.c.

References G_debug(), gsd_flush(), and gsd_swapbuffers().

Referenced by gk_follow_frames(), GK_set_tension(), GK_show_path(), GK_show_site(), GK_show_vect(), GK_show_vol(), gsd_end_legend_viewport(), 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(), Nviz_draw_all(), Nviz_draw_all_site(), Nviz_draw_all_vect(), Nviz_draw_all_vol(), Nviz_draw_image(), Nviz_draw_model(), Nviz_draw_quick(), and Nviz_resize_window().

## GS_draw_all_list()

void GS_draw_all_list | ( | void |  | ) |

Draw all glLists.

Uses glFlush() to ensure all drawing is complete before returning

Definition at line 874 of file gs2.c.

References gsd_calllists().

Referenced by gk_follow_frames(), and GK_show_list().

## GS_draw_cplane()

void GS_draw_cplane | ( | int | num | ) |

Draw cplace.

Parameters

  num | cplace id

Definition at line 3147 of file gs2.c.

References gs_getall_surfaces(), gs_num_surfaces(), gsd_draw_cplane(), and gsd_draw_cplane_fence().

## GS_draw_cplane_fence()

int GS_draw_cplane_fence | ( | int | hs1,
|  | int | hs2,
|  | int | num )

Draw cplace fence ?

Parameters

  hs1,hs2 |
  num | cplane id

Returns
  0 on error
  1 on success

Definition at line 3174 of file gs2.c.

References gs_get_surf(), gsd_draw_cplane_fence(), and NULL.

Referenced by GS_alldraw_cplane_fences(), and Nviz_draw_all_surf().

## GS_draw_flowline_at_xy()

void GS_draw_flowline_at_xy | ( | int | id,
|  | float | x,
|  | float | y )

Draw flow-line on surace.

This is slow - should be moved to gs_ but GS_ good for testing and useful for app programmer

Parameters

  id | surface id
  x,y | coordinates of flow-line

Definition at line 753 of file gs2.c.

References G_debug(), GS_coordpair_repeats(), GS_draw_nline_onsurf(), GS_get_norm_at_xy(), gs_get_surf(), GS_v2norm(), VXRES, VYRES, X, x, and Y.

## GS_draw_fringe()

void GS_draw_fringe | ( | int | id,
|  | unsigned long | clr,
|  | float | elev,
|  | int * | where )

Draw fringe around data (surface) at selected corners.

Parameters

  id | surface id
  clr | color
  elev | elevation value
  where | nw/ne/sw/se edges - 0 (turn off) 1 (turn on)

Definition at line 820 of file gs2.c.

References G_debug(), gs_get_surf(), and gsd_display_fringe().

Referenced by Nviz_draw_all(), and Nviz_draw_fringe().

## GS_draw_legend()

int GS_draw_legend | ( | const char * | name,
|  | GLuint | fontbase,
|  | int | size,
|  | int * | flags,
|  | float * | range,
|  | int * | pt )

Draw legend.

Todo
  add legend from list option make font loading more flexible

Parameters

  name | legend name
  fontbase | font-base
  size | ?
  flags | legend flags
  range | values range
  pt | ?

Definition at line 843 of file gs2.c.

References gsd_put_legend(), and name.

## GS_draw_lighting_model()

void GS_draw_lighting_model | ( | void |  | ) |

Draw lighting model.

Just turn off any cutting planes and draw it just outside near clipping plane, since lighting is infinite now

Definition at line 936 of file gs2.c.

References GS_get_modelposition(), GS_v3eq(), gsd_backface(), gsd_colormode(), gsd_cplane_off(), gsd_cplane_on(), gsd_drawsphere(), gsd_flush(), gsd_get_cplanes_state(), gsd_popmatrix(), gsd_pushmatrix(), gsd_shademodel(), and gsd_zwritemask().

Referenced by Nviz_draw_model().

## GS_draw_lighting_model1()

void GS_draw_lighting_model1 | ( | void |  | ) |

Draw lighting model.

Definition at line 896 of file gs2.c.

References GS_get_modelposition1(), GS_v3eq(), gsd_backface(), gsd_colormode(), gsd_do_scale(), gsd_drawsphere(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_shademodel(), and gsd_zwritemask().

## GS_draw_line_onsurf()

void GS_draw_line_onsurf | ( | int | id,
|  | float | x1,
|  | float | y1,
|  | float | x2,
|  | float | y2 )

Draw line on surface.

Parameters

  id | surface id
  x1,y1,x2,y2 | line nodes

Definition at line 675 of file gs2.c.

References GS_default_draw_color(), gs_get_surf(), gsd_color_func(), gsd_do_scale(), gsd_flush(), gsd_line_onsurf(), gsd_linewidth(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), X, and Y.

## GS_draw_list()

void GS_draw_list | ( | GLuint | list_id | ) |

Draw pre-defined list.

Uses glFlush() to ensure all drawing is complete before returning

Parameters

  list_id | list id

Definition at line 861 of file gs2.c.

References gsd_calllist().

## GS_draw_nline_onsurf()

int GS_draw_nline_onsurf | ( | int | id,
|  | float | x1,
|  | float | y1,
|  | float | x2,
|  | float | y2,
|  | float * | lasp,
|  | int | n )

Draw multiline on surface.

Like above but limits points in line to n or points found in segment, whichever is smaller.

Parameters

  id | surface id
  x1,y1,x2,y2 | line nodes
  lasp |
  n |

Returns
  number of points used

Definition at line 715 of file gs2.c.

References GS_default_draw_color(), gs_get_surf(), gsd_color_func(), gsd_do_scale(), gsd_flush(), gsd_linewidth(), gsd_nline_onsurf(), gsd_popmatrix(), gsd_pushmatrix(), gsd_surf2real(), gsd_translate(), X, and Y.

Referenced by GS_draw_flowline_at_xy().

## GS_draw_surf()

void GS_draw_surf | ( | int | id | ) |

Draw surface.

Parameters

  id | surface id

Definition at line 1865 of file gs2.c.

References G_debug(), gs_get_surf(), gsd_shademodel(), gsd_surf(), and gsd_wire_surf().

Referenced by GS_alldraw_surf(), and Nviz_draw_all_surf().

## GS_draw_wire()

void GS_draw_wire | ( | int | id | ) |

Draw surface wire.

Overrides draw_mode for fast display

Parameters

  id | surface id

Definition at line 1900 of file gs2.c.

References G_debug(), gs_get_surf(), and gsd_wire_surf().

## GS_draw_X()

void GS_draw_X | ( | int | id,
|  | float * | pt )

Draw place marker.

Used to display query point for raster queries.

Parameters

  id | surface id
  pt | point, X, Y value in true world coordinates

Definition at line 634 of file gs2.c.

References _viewcell_tri_interp(), gpd_obj(), gs_get_att_src(), GS_get_longdim(), gs_get_surf(), gsd_do_scale(), gsd_flush(), gsd_linewidth(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), NULL, X, and Y.

## GS_get_aspect()

double GS_get_aspect | ( | void |  | ) |

Get aspect value.

Returns
  aspect value

Definition at line 3450 of file gs2.c.

References G_debug().

Referenced by GS_init_view(), and gsd_set_view().

## GS_get_att()

int GS_get_att | ( | int | id,
|  | int | att,
|  | int * | set,
|  | float * | constant,
|  | char * | mapname )

Get attributes.

Parameters

  | id | surface id
  | att |
  [out] | set |
  [out] | constant |
  [out] | mapname |

Returns
  1 on success
  -1 on error (invalid surface id)

Definition at line 1134 of file gs2.c.

References gs_get_att_src(), gs_get_surf(), gsds_get_name(), and strcpy.

## GS_get_cat_at_xy()

int GS_get_cat_at_xy | ( | int | id,
|  | int | att,
|  | char * | catstr,
|  | float | x,
|  | float | y )

Get surface category on given position.

Prints "no data" or a description (i.e., "coniferous forest") to catstr. Usually call after GS_get_selected_point_on_surface(). Define att as MAP_ATT

Todo
  Allocate catstr using G_store()

Parameters

  id | surface id
  att | attribute id (MAP_ATT)
  catstr | cat string (must be allocated, dim?)
  x,y | real coordinates

Returns
  -1 if no category info or point outside of window
  1 on success

Definition at line 1177 of file gs2.c.

References DRC2OFF, GET_MAPATT, gs_get_att_src(), gs_get_att_typbuff(), Gs_get_cat_label(), gs_get_surf(), gs_point_is_masked(), gsd_real2surf(), gsds_get_name(), in_vregion(), NULL, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.

## GS_Get_ClientData()

void * GS_Get_ClientData | ( | int | id | ) |

Get client data.

Parameters

  id | surface id

Returns
  pointer to client data
  NULL on error

Definition at line 1500 of file gs2.c.

References gs_get_surf(), and NULL.

## GS_get_dims()

void GS_get_dims | ( | int | id,
|  | int * | rows,
|  | int * | cols )

Get dimension of surface.

Parameters

  | id | surface id
  [out] | rows,cols | number of rows/cols

Definition at line 2280 of file gs2.c.

References gs_get_surf().

Referenced by Nviz_set_attr().

## GS_get_distance_alongsurf()

int GS_get_distance_alongsurf | ( | int | hs,
|  | float | x1,
|  | float | y1,
|  | float | x2,
|  | float | y2,
|  | float * | dist,
|  | int | use_exag )

Measure distance "as the ball rolls" between two points on surface.

Parameters

  | hs | surface id
  | x1,y1,x2,y2 | two points on surface
  [out] | dist | measured distance
  | use_exag | use exag. surface

Returns
  0 on error or if one or more points is not in region
  distance following terrain

Definition at line 3284 of file gs2.c.

References G_debug(), gs_distance_onsurf(), gs_get_surf(), gsd_real2surf(), NULL, X, and Y.

## GS_get_drawmode()

int GS_get_drawmode | ( | int | id,
|  | int * | mode )

Get draw mode.

Parameters

  | id | surface id
  [out] | mode | mode id

Returns
  1 on success
  -1 on error (invalid surface id)

Definition at line 2110 of file gs2.c.

References gs_get_surf().

## GS_get_drawres()

void GS_get_drawres | ( | int | id,
|  | int * | xres,
|  | int * | yres,
|  | int * | xwire,
|  | int * | ywire )

Get draw resolution of surface.

Parameters

  | id | surface id
  [out] | xres,yres | x/y resolution value
  [out] | xwire,ywire | x/y wire value

Definition at line 2256 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_get_exag_guess()

int GS_get_exag_guess | ( | int | id,
|  | float * | exag )

Get exag-value guess.

Use no_zero range because if zero IS data, then range won't be that much off (it's just a GUESS, after all), but if zero is NO data, could drastically affect guess

Parameters

  | id | surface id
  [out] | exag | exag value

Returns
  1 on success
  -1 on error

Definition at line 2307 of file gs2.c.

References G_debug(), gs_get_att_src(), and gs_get_surf().

Referenced by Nviz_get_exag(), and Nviz_get_exag_height().

## GS_get_fencecolor()

int GS_get_fencecolor | ( | void |  | ) |

Get fence color.

Returns
  color value

Definition at line 3267 of file gs2.c.

References gsd_getfc().

## GS_get_focus()

int GS_get_focus | ( | float * | realto | ) |

Get focus.

OK to call with NULL argument if just want to check state

Parameters

  realto | real coordinates to

Returns
  ?

Definition at line 2562 of file gs2.c.

References G_debug(), and GS_v3eq().

Referenced by GS_get_to_real(), Nviz_get_focus(), and Nviz_has_focus().

## GS_get_fov()

int GS_get_fov | ( | void |  | ) |

Get field of view.

Returns
  field of view, in 10ths of degrees

Definition at line 2853 of file gs2.c.

Referenced by GK_add_key().

## GS_get_from()

void GS_get_from | ( | float * | fr | ) |

Get viewpoint 'from' position.

Parameters

  [out] | fr | from model coordinates

Definition at line 2724 of file gs2.c.

References G_debug(), and GS_v3eq().

Referenced by GK_add_key(), gk_draw_path(), gk_follow_frames(), Nviz_flythrough(), Nviz_get_viewpoint_position(), and Nviz_set_viewpoint_position().

## GS_get_from_real()

void GS_get_from_real | ( | float * | fr | ) |

Get viewpoint 'from' real coordinates.

Parameters

  [out] | fr | 'from' real coordinates

Definition at line 2738 of file gs2.c.

References GS_v3eq(), and gsd_model2real().

Referenced by Nviz_get_viewpoint_height(), and Nviz_set_viewpoint_height().

## GS_get_light_reset()

int GS_get_light_reset | ( | void |  | ) |

Definition at line 257 of file gs2.c.

Referenced by GS_new_light().

## GS_get_longdim()

int GS_get_longdim | ( | float * | dim | ) |

Get largest dimension.

Parameters

  [out] | dim | dimension

Returns
  1

Definition at line 140 of file gs2.c.

References G_debug().

Referenced by gk_draw_path(), gp_set_defaults(), GS_draw_X(), gsd_draw_cplane(), Nviz_get_exag_height(), Nviz_get_longdim(), and Nviz_update_ranges().

## GS_get_maskmode()

int GS_get_maskmode | ( | int | id,
|  | int * | mode )

Get mask mode.

Parameters

  | id | surface id
  [out] | mode | id

Returns
  1 on success
  -1 on error (invalid surface id)

Definition at line 1454 of file gs2.c.

References gs_get_surf().

## GS_get_modelposition()

void GS_get_modelposition | ( | float * | size,
|  | float * | pos )

Retrieves coordinates for lighting model position, at center of view.

Position at nearclip * 2: tried nearclip + siz, but since need to know position to calculate size, have two dependent variables (nearclip * 2) from eye.

Parameters

  [out] | size | size
  [out] | pos | coordinates (X, Y, Z)

Definition at line 528 of file gs2.c.

References GS_v3dir(), X, and Y.

Referenced by GS_draw_lighting_model().

## GS_get_modelposition1()

void GS_get_modelposition1 | ( | float | pos[] | ) |

Retrieves coordinates for lighting model position, at center of view.

Parameters

  [out] | pos | coordinates

Definition at line 499 of file gs2.c.

References G_debug(), gs_get_data_avg_zmax(), gs_get_datacenter(), X, and Y.

Referenced by GS_draw_lighting_model1().

## GS_get_norm_at_xy()

int GS_get_norm_at_xy | ( | int | id,
|  | float | x,
|  | float | y,
|  | float * | nv )

Get surface normal at x,y (real coordinates).

Usually call after GS_get_selected_point_on_surface()

Parameters

  | id | surface id
  | x,y | real coordinates
  [out] | nv | surface normal

Returns
  -1 if point outside of window or masked
  1 on success

Definition at line 1239 of file gs2.c.

References DRC2OFF, FNORM, gs_calc_normals(), gs_get_surf(), gs_point_is_masked(), gsd_real2surf(), in_vregion(), NULL, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.

Referenced by GS_draw_flowline_at_xy().

## GS_get_nozero()

int GS_get_nozero | ( | int | id,
|  | int | att,
|  | int * | mode )

Get no-zero ?

Parameters

  | id | surface id
  | att | attribute id
  [out] | mode | mode id

Returns
  -1 on error (invalid surface id)
  1 on success

Definition at line 2165 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_get_region()

int GS_get_region | ( | float * | n,
|  | float * | s,
|  | float * | w,
|  | float * | e )

Get 2D region extent.

Parameters

  [out] | n,s,w,e | extent values

Returns
  1

Definition at line 156 of file gs2.c.

Referenced by GP_draw_site(), gsd_model2real(), gsd_real2model(), and Nviz_set_cplane_here().

## GS_get_rotation_matrix()

void GS_get_rotation_matrix | ( | double * | matrix | ) |

Get rotation matrix.

Definition at line 2927 of file gs2.c.

## GS_get_scale()

void GS_get_scale | ( | float * | sx,
|  | float * | sy,
|  | float * | sz,
|  | int | doexag )

Get axis scale.

Parameters

  sx,sy,sz | x/y/z scale values
  doexag | use vertical exaggeration

Definition at line 3239 of file gs2.c.

Referenced by gsd_coarse_surf_map(), gsd_def_cplane(), gsd_do_scale(), gsd_model2real(), gsd_model2surf(), gsd_norm_arrows(), gsd_real2model(), gsd_surf2model(), gsd_surf_const(), gsd_surf_map(), gsd_surf_map_old(), gsd_wire_arrows(), gvd_vect(), gvld_isosurf(), gvld_slices(), and init_vars().

## GS_get_SDscale()

int GS_get_SDscale | ( | float * | scale | ) |

Get ?

Parameters

  [out] | scale | value

Returns
  1

Definition at line 1099 of file gs2.c.

References gsdiff_get_SDscale().

## GS_get_SDsurf()

int GS_get_SDsurf | ( | int * | id | ) |

Get ?

Parameters

  [out] | id | ?

Returns
  1 on success
  0 on error

Definition at line 1079 of file gs2.c.

References gsdiff_get_SDref().

## GS_get_selected_point_on_surface()

int GS_get_selected_point_on_surface | ( | int | sx,
|  | int | sy,
|  | int * | id,
|  | float * | x,
|  | float * | y,
|  | float * | z )

Get selected point of surface.

Given screen coordinates sx and sy, find closest intersection of view ray with surfaces and return coordinates of intersection in x, y, z, and identifier of surface in id.

Parameters

  | sx,sy | screen coordinates
  [out] | id | surface id
  [out] | x,y,z | point on surface (model coordinates?)

Returns
  0 if no intersections found
  number of intersections

Definition at line 3054 of file gs2.c.

References G_debug(), GS_distance(), gs_get_surf(), gs_los_intersect(), gs_los_intersect1(), gs_point_is_masked(), gs_setlos_enterdata(), GS_v3eq(), gsd_get_los(), gsd_surf2real(), X, x, and Y.

Referenced by GS_look_here(), GS_set_Narrow(), and Nviz_set_cplane_here().

## GS_get_surf_list()

int * GS_get_surf_list | ( | int * | numsurfs | ) |

Get surface list.

Must be freed when not needed!

Parameters

  [out] | numsurfs | number of available surfaces

Returns
  pointer to surface array
  NULL on error

Definition at line 1532 of file gs2.c.

References NULL.

Referenced by Nviz_draw_all_surf(), Nviz_get_exag(), Nviz_get_exag_height(), Nviz_new_fringe(), Nviz_new_map_obj(), Nviz_set_arrow(), Nviz_set_focus_map(), Nviz_set_fringe(), and Nviz_set_scalebar().

## GS_get_to()

void GS_get_to | ( | float * | to | ) |

Get 'to' model coordinates.

Todo
  need set_to? - just use viewdir?

Parameters

  [out] | to | 'to' model coordinates

Definition at line 2793 of file gs2.c.

References G_debug(), and GS_v3eq().

## GS_get_to_real()

void GS_get_to_real | ( | float * | to | ) |

Get 'to' real coordinates.

Parameters

  [out] | to | 'to' real coordinates

Definition at line 2751 of file gs2.c.

References G_get_set_window(), GS_get_focus(), X, and Y.

## GS_get_trans()

void GS_get_trans | ( | int | id,
|  | float * | xtrans,
|  | float * | ytrans,
|  | float * | ztrans )

Get translation values (surface position).

Parameters

  | id | surface id
  [out] | xtrans,ytrans,ztrans | trans values

Definition at line 2416 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_get_twist()

int GS_get_twist | ( | void |  | ) |

Get twist value.

10ths of degrees off twelve o'clock

Definition at line 2863 of file gs2.c.

Referenced by GK_add_key().

## GS_get_val_at_xy()

int GS_get_val_at_xy | ( | int | id,
|  | int | att,
|  | char * | valstr,
|  | float | x,
|  | float | y )

Get RGB color at given point.

Colors are translated to rgb and returned as Rxxx Gxxx Bxxx Usually call after GS_get_selected_point_on_surface().

Prints NULL or the value (i.e., "921.5") to valstr

Parameters

  | id | surface id
  | att | attribute id
  [out] | valstr | value string (allocated, dim?)
  | x,y | real coordinates

Returns
  -1 if point outside of window or masked
  1 on success

Definition at line 1303 of file gs2.c.

References b, DRC2OFF, g, GET_MAPATT, gs_get_att_src(), gs_get_att_typbuff(), gs_get_surf(), gs_mapcolor(), gs_point_is_masked(), gsd_real2surf(), in_vregion(), INT_TO_BLU, INT_TO_GRN, INT_TO_RED, NULL, r, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.

## GS_get_viewdir()

void GS_get_viewdir | ( | float * | dir | ) |

Get viewdir.

Parameters

  [out] | dir | viewdir value

Definition at line 2807 of file gs2.c.

References GS_v3dir().

Referenced by GK_add_key(), gk_follow_frames(), and Nviz_flythrough().

## GS_get_wire_color()

int GS_get_wire_color | ( | int | id,
|  | int * | colr )

Get wire color.

Parameters

  | id | surface id
  [out] | colr | color value

Returns
  1 on success
  -1 on error

Definition at line 2039 of file gs2.c.

References gs_get_surf().

## GS_get_zextents()

int GS_get_zextents | ( | int | id,
|  | float * | min,
|  | float * | max,
|  | float * | mid )

Get z-extent for a single surface.

Parameters

  | id | surface id
  [out] | min | min z-value
  [out] | max | max z-value
  [out] | mid | middle z-value

Returns
  -1 on error (invalid surface id)
  ?

Definition at line 2665 of file gs2.c.

References G_debug(), gs_get_surf(), gs_get_zextents(), max, min, and NULL.

## GS_get_zrange()

int GS_get_zrange | ( | float * | min,
|  | float * | max,
|  | int | doexag )

Get z-extent for all loaded surfaces.

Parameters

  [out] | min | min z-value
  [out] | max | max z-value
  | doexag | use z-exaggeration

Returns
  1 on success
  -1 on error

Definition at line 2688 of file gs2.c.

References G_debug(), gs_get_zrange(), gvl_get_zrange(), max, and min.

Referenced by gs_get_databounds_planes(), Gs_save_3dview(), gsd_check_focus(), gsd_def_cplane(), gsd_do_scale(), gsd_model2real(), gsd_model2surf(), gsd_real2model(), and gsd_surf2model().

## GS_get_zrange_nz()

void GS_get_zrange_nz | ( | float * | min,
|  | float * | max )

Get Z extents for all loaded surfaces.

Treating zeros as "no data"

Parameters

  [out] | min | min value
  [out] | max | max value

Definition at line 2358 of file gs2.c.

References G_debug(), gs_get_surf(), max, and min.

Referenced by Nviz_get_exag_height(), Nviz_get_zrange(), and Nviz_update_ranges().

## GS_getlight_ambient()

void GS_getlight_ambient | ( | int | num,
|  | float * | red,
|  | float * | green,
|  | float * | blue )

Get light ambient.

Parameters

  | num | light id (starts at 1)
  [out] | red,green,blue | color values

Definition at line 422 of file gs2.c.

## GS_getlight_color()

void GS_getlight_color | ( | int | num,
|  | float * | red,
|  | float * | green,
|  | float * | blue )

Get light color.

Parameters

  | num | light id (starts at 1)
  [out] | red,green,blue | color values

Definition at line 378 of file gs2.c.

## GS_getlight_position()

void GS_getlight_position | ( | int | num,
|  | float * | xpos,
|  | float * | ypos,
|  | float * | zpos,
|  | int * | local )

Get light position.

Parameters

  | num | light id (starts at 1)
  [out] | xpos,ypos,zpos | coordinates
  [out] | local | ?

Definition at line 334 of file gs2.c.

References X, and Y.

Referenced by gk_follow_frames().

## GS_global_exag()

float GS_global_exag | ( | void |  | ) |

Get global z-exag value.

Returns
  value

Definition at line 2000 of file gs2.c.

References G_debug().

Referenced by gpd_3dsite(), gpd_obj(), gs_distance_onsurf(), gsd_coarse_surf_map(), gsd_draw_cplane(), gsd_norm_arrows(), gsd_surf_map(), gsd_surf_map_old(), gsd_wire_arrows(), init_vars(), Nviz_change_exag(), and Nviz_update_ranges().

## GS_has_transparency()

int GS_has_transparency | ( | void |  | ) |

Check for transparency.

Disabled.

Returns
  1

Definition at line 3478 of file gs2.c.

## GS_init_rotation()

void GS_init_rotation | ( | void |  | ) |

Reset scene rotation.

Definition at line 2907 of file gs2.c.

Referenced by GS_init_view(), and Nviz_init_rotation().

## GS_init_view()

void GS_init_view | ( | void |  | ) |

Init viewpoint.

Todo
  allow setting center?

Definition at line 3346 of file gs2.c.

References G_debug(), GS_get_aspect(), GS_init_rotation(), GS_set_focus(), GS_v3eq(), GS_v3normalize(), X, and Y.

Referenced by Nviz_init_view().

## GS_is_masked()

int GS_is_masked | ( | int | id,
|  | float * | pt )

Check if point is masked ?

Parameters

  id | surface id
  pt | point

Returns
  1 masked
  0 not masked
  -1 on error, invalid surface id

Definition at line 1009 of file gs2.c.

References gs_get_surf(), gs_point_is_masked(), X, and Y.

## GS_libinit()

void GS_libinit | ( | void |  | ) |

Initialize OGSF library.

Get region settings - wind

Set Region (NSWE array) and compute scale

Definition at line 98 of file gs2.c.

References Cxl_func, G_debug(), G_get_set_window(), gs_init(), and void_func().

## GS_lights_off()

void GS_lights_off | ( | void |  | ) |

Switch off all lights.

Definition at line 439 of file gs2.c.

References gsd_switchlight().

## GS_lights_on()

void GS_lights_on | ( | void |  | ) |

Switch on all lights.

Definition at line 453 of file gs2.c.

References gsd_switchlight().

## GS_load_3dview()

int GS_load_3dview | ( | const char * | vname,
|  | int | surfid )

Load 3d view.

Parameters

  vname | view file name
  surfid | surface id

Returns
  ?

Definition at line 3328 of file gs2.c.

References gs_get_surf(), and Gs_load_3dview().

## GS_load_att_map()

int GS_load_att_map | ( | int | id,
|  | const char * | filename,
|  | int | att )

Load raster map as attribute.

Parameters

  id | surface id
  filename | filename
  att | attribute descriptor

Returns
  -1 on error (invalid surface id)
  ?

Definition at line 1600 of file gs2.c.

References G_debug(), G_fatal_error(), G_find_raster2(), G_free(), G_fully_qualified_name(), G_warning(), Gs_build_256lookup(), gs_get_att_typbuff(), gs_get_surf(), gs_init_normbuff(), Gs_loadmap_as_bitmap(), Gs_loadmap_as_char(), Gs_loadmap_as_float(), Gs_loadmap_as_int(), Gs_loadmap_as_short(), gs_malloc_att_buff(), gs_malloc_lookup(), Gs_numtype(), Gs_pack_colors(), Gs_pack_colors_float(), gs_set_att_src(), gs_set_att_type(), Gs_update_attrange(), gs_update_curmask(), gsds_findh(), gsds_free_data_buff(), gsds_newh(), gsds_set_changed(), and NULL.

Referenced by Nviz_set_attr().

## GS_look_here()

int GS_look_here | ( | int | sx,
|  | int | sy )

Send screen coords sx and sy, lib traces through surfaces; sets new center to point of nearest intersection.

If no intersection, uses line of sight with length of current view ray (eye to center) to set new center.

Reset center of view to screen coordinates sx, sy.

Parameters

  sx,sy | screen coordinates

Returns
  1 on success
  0 on error (invalid surface id)

Definition at line 3005 of file gs2.c.

References GS_distance(), GS_get_selected_point_on_surface(), gs_get_surf(), GS_set_focus(), GS_v3dir(), GS_v3mult(), gsd_get_los(), X, x, and Y.

Referenced by Nviz_look_here().

## GS_moveto()

void GS_moveto | ( | float * | pt | ) |

Move viewpoint.

Parameters

  pt | 'from' model coordinates

Definition at line 2616 of file gs2.c.

References G_debug(), GS_v3add(), GS_v3eq(), GS_v3normalize(), and GS_v3sub().

Referenced by gk_follow_frames(), GS_moveto_real(), Nviz_flythrough(), and Nviz_set_viewpoint_position().

## GS_moveto_real()

void GS_moveto_real | ( | float * | pt | ) |

Move position to (real).

Parameters

  pt | point real coordinates

Definition at line 2646 of file gs2.c.

References GS_moveto(), and gsd_real2model().

Referenced by Gs_load_3dview(), and Nviz_set_viewpoint_height().

## GS_new_light()

int GS_new_light | ( | void |  | ) |

Add new model light.

Returns
  light model id
  -1 on error (MAX_LIGHTS exceeded)

Definition at line 268 of file gs2.c.

References GS_get_light_reset(), GS_set_light_reset(), gsd_deflight(), gsd_init_lightmodel(), gsd_switchlight(), X, and Y.

Referenced by Nviz_new_light().

## GS_new_surface()

int GS_new_surface | ( | void |  | ) |

Add new surface.

Note that origin has 1/2 cell added to represent center of cells because library assumes that east - west = (cols - 1) * ew_res, since left and right columns are on the edges.

Returns
  surface id
  -1 on error (MAX_SURFS exceeded)

Definition at line 223 of file gs2.c.

References G_debug(), gs_get_new_surface(), gs_init_surf(), gs_set_att_src(), and gs_set_defaults().

Referenced by Nviz_new_map_obj().

## GS_num_surfs()

int GS_num_surfs | ( | void |  | ) |

Get number of surfaces.

Returns
  number of surfaces

Definition at line 1517 of file gs2.c.

References gs_num_surfaces().

Referenced by Nviz_new_map_obj(), Nviz_set_arrow(), Nviz_set_focus_map(), and Nviz_set_scalebar().

## GS_ready_draw()

void GS_ready_draw | ( | void |  | ) |

Definition at line 2488 of file gs2.c.

References G_debug(), and gsd_set_view().

Referenced by gk_follow_frames(), GK_set_tension(), GK_show_path(), GK_show_site(), GK_show_vect(), GK_show_vol(), gsd_bgn_legend_viewport(), gsd_get_los(), Nviz_draw_all(), Nviz_draw_all_site(), Nviz_draw_all_vect(), Nviz_draw_all_vol(), Nviz_draw_model(), Nviz_draw_quick(), and Nviz_resize_window().

## GS_save_3dview()

int GS_save_3dview | ( | const char * | vname,
|  | int | surfid )

Save 3d view.

Parameters

  vname | view file name
  surfid | surface id

Returns
  ?

Definition at line 3315 of file gs2.c.

References gs_get_surf(), and Gs_save_3dview().

## GS_set_att_const()

int GS_set_att_const | ( | int | id,
|  | int | att,
|  | float | constant )

Set attribute constant.

Parameters

  id | surface id
  att | attribute id
  constant | value

Returns
  ?

Definition at line 1405 of file gs2.c.

References gs_get_surf(), gs_set_att_const(), and Gs_update_attrange().

Referenced by Nviz_set_attr().

## GS_set_att_defaults()

void GS_set_att_defaults | ( | float * | defs,
|  | float * | null_defs )

Set default attributes for map objects.

Parameters

  defs | attributes array (dim MAX_ATTS)
  null_defs | null attributes array (dim MAX_ATTS)

Definition at line 172 of file gs2.c.

References G_debug().

Referenced by Nviz_set_surface_attr_default().

## GS_Set_ClientData()

int GS_Set_ClientData | ( | int | id,
|  | void * | clientd )

Set client data.

Parameters

  id | surface id
  clientd | pointer to client data struct

Returns
  1 on success
  -1 on error (invalid surface id)

Definition at line 1478 of file gs2.c.

References gs_get_surf().

## GS_set_cplane()

void GS_set_cplane | ( | int | num | ) |

Set cplace.

Parameters

  num | cplane id

Definition at line 3214 of file gs2.c.

References gsd_cplane_on().

Referenced by Nviz_on_cplane().

## GS_set_cplane_rot()

void GS_set_cplane_rot | ( | int | num,
|  | float | dx,
|  | float | dy,
|  | float | dz )

Set cplace rotation.

Parameters

  num | cplace id
  dx,dy,dz | rotation values

Definition at line 3122 of file gs2.c.

References gsd_cplane_setrot().

Referenced by Nviz_set_cplane_rotation().

## GS_set_cplane_trans()

void GS_set_cplane_trans | ( | int | num,
|  | float | dx,
|  | float | dy,
|  | float | dz )

Set cplace trans.

Parameters

  num | cplace id
  dx,dy,dz | rotation values

Definition at line 3135 of file gs2.c.

References gsd_cplane_settrans().

Referenced by Nviz_set_cplane_translation().

## GS_set_draw()

void GS_set_draw | ( | int | where | ) |

Sets which buffer to draw to.

Parameters

  where | GSD_BOTH, GSD_FRONT, GSD_BACK

Definition at line 2462 of file gs2.c.

References gsd_backbuffer(), gsd_bothbuffers(), and gsd_frontbuffer().

Referenced by gk_follow_frames(), GK_set_tension(), GK_show_path(), GK_show_site(), GK_show_vect(), GK_show_vol(), gsd_bgn_legend_viewport(), gsd_end_legend_viewport(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_get_los(), gsd_north_arrow(), gsd_ortho_wall(), gsd_scalebar(), gsd_scalebar_v2(), Nviz_draw_all(), Nviz_draw_all_site(), Nviz_draw_all_vect(), Nviz_draw_all_vol(), Nviz_draw_image(), Nviz_draw_model(), Nviz_draw_quick(), and Nviz_resize_window().

## GS_set_drawmode()

int GS_set_drawmode | ( | int | id,
|  | int | mode )

Set draw mode.

Parameters

  id | surface id
  mode | mode type(s)

Returns
  0 on success
  -1 on error (invalid surface id)

Definition at line 2084 of file gs2.c.

References G_debug(), and gs_get_surf().

Referenced by GS_setall_drawmode(), and Nviz_set_attr().

## GS_set_drawres()

int GS_set_drawres | ( | int | id,
|  | int | xres,
|  | int | yres,
|  | int | xwire,
|  | int | ywire )

Set draw resolution for surface.

Parameters

  id | surface id
  xres,yres | x/y resolution value
  xwire,ywire | x/y wire value

Returns
  -1 on error
  0 on success

Definition at line 2222 of file gs2.c.

References G_debug(), and gs_get_surf().

Referenced by GS_setall_drawres(), and Nviz_set_attr().

## GS_set_exag()

void GS_set_exag | ( | int | id,
|  | float | exag )

Set Z exag for surface.

Parameters

  id | surface id
  exag | z-exag value

Definition at line 1954 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_set_fencecolor()

void GS_set_fencecolor | ( | int | mode | ) |

Set fence color.

Parameters

  mode | mode id

Definition at line 3255 of file gs2.c.

References gsd_setfc().

Referenced by Nviz_set_fence_color().

## GS_set_focus()

void GS_set_focus | ( | float * | realto | ) |

Set focus.

Parameters

  realto | real coordinates to

Definition at line 2520 of file gs2.c.

References G_debug(), GS_v3eq(), and gsd_set_view().

Referenced by GS_init_view(), Gs_load_3dview(), GS_look_here(), GS_set_focus_center_map(), GVL_set_focus_center_map(), and Nviz_set_focus().

## GS_set_focus_center_map()

void GS_set_focus_center_map | ( | int | id | ) |

Set focus to map center.

Parameters

  id | surface id

Definition at line 2581 of file gs2.c.

References G_debug(), gs_get_surf(), GS_set_focus(), X, and Y.

Referenced by Nviz_set_focus_map().

## GS_set_focus_real()

void GS_set_focus_real | ( | float * | realto | ) |

Set real focus.

Parameters

  realto | real coordinates to

Definition at line 2538 of file gs2.c.

References G_get_set_window(), GS_v3eq(), gsd_set_view(), X, and Y.

## GS_set_fov()

void GS_set_fov | ( | int | fov | ) |

Set field of view.

Parameters

  fov | fov value

Definition at line 2841 of file gs2.c.

Referenced by gk_follow_frames(), Gs_load_3dview(), and Nviz_set_viewpoint_persp().

## GS_set_global_exag()

void GS_set_global_exag | ( | float | exag | ) |

Set global z-exag value.

Parameters

  exag | exag value to be set up

Definition at line 1978 of file gs2.c.

References G_debug().

Referenced by Gs_load_3dview(), and Nviz_change_exag().

## GS_set_infocus()

void GS_set_infocus | ( | void |  | ) |

Set focus.

Make sure that the center of view is set

Definition at line 2965 of file gs2.c.

References G_debug().

Referenced by Nviz_set_focus_state().

## GS_set_light_reset()

void GS_set_light_reset | ( | int | i | ) |

Definition at line 250 of file gs2.c.

Referenced by GS_new_light(), and Nviz_init_data().

## GS_set_maskmode()

int GS_set_maskmode | ( | int | id,
|  | int | mode )

Set mask mode.

Mask attribute special: constant is set to indicate invert or no

Parameters

  id | surface id
  mode | id

Returns
  mode id
  -1 on error (invalid surface id)

Definition at line 1429 of file gs2.c.

References gs_get_surf().

## GS_set_Narrow()

void GS_set_Narrow | ( | int * | pt,
|  | int | id,
|  | float * | pos2 )

Set decoration, north arrow ??

Todo
  scale used to calculate len of arrow still needs work needs go function that returns center / eye distance gsd_get_los function is not working correctly ??

Parameters

  | pt | point value in true world coordinates (?)
  | id | surface id
  [out] | pos2 | output coordinates

Definition at line 564 of file gs2.c.

References GS_get_selected_point_on_surface(), gs_get_surf(), gsd_do_scale(), gsd_pushmatrix(), X, x, and Y.

Referenced by Nviz_set_arrow(), and Nviz_set_scalebar().

## GS_set_nofocus()

void GS_set_nofocus | ( | void |  | ) |

Unset focus.

Definition at line 2951 of file gs2.c.

References G_debug().

Referenced by GS_set_viewdir(), Nviz_set_focus_map(), and Nviz_set_focus_state().

## GS_set_nozero()

void GS_set_nozero | ( | int | id,
|  | int | att,
|  | int | mode )

Set no-zero ?

Parameters

  id | surface id
  att | attribute id
  mode | mode id

Definition at line 2132 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_set_rotation()

void GS_set_rotation | ( | double | angle,
|  | double | x,
|  | double | y,
|  | double | z )

Set rotation params.

Definition at line 2885 of file gs2.c.

References x.

Referenced by Nviz_set_rotation().

## GS_set_rotation_matrix()

void GS_set_rotation_matrix | ( | double * | matrix | ) |

Set rotation matrix.

Definition at line 2939 of file gs2.c.

## GS_set_SDscale()

int GS_set_SDscale | ( | float | scale | ) |

Set ?

Parameters

  scale | scale value

Returns
  1

Definition at line 1064 of file gs2.c.

References gsdiff_set_SDscale().

## GS_set_SDsurf()

int GS_set_SDsurf | ( | int | id | ) |

Set surface as Scaled Difference surface.

Parameters

  id | surface id

Returns
  1 on success
  0 on error, invalid surface id

Definition at line 1043 of file gs2.c.

References gs_get_surf(), and gsdiff_set_SDref().

## GS_set_trans()

void GS_set_trans | ( | int | id,
|  | float | xtrans,
|  | float | ytrans,
|  | float | ztrans )

Set translation (surface position).

Parameters

  id | surface id
  xtrans,ytrans,ztrans | translation values

Definition at line 2392 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_set_twist()

void GS_set_twist | ( | int | t | ) |

Set viewpoint twist value.

10ths of degrees off twelve o'clock

Parameters

  t | tenths of degrees clockwise from 12:00.

Definition at line 2875 of file gs2.c.

References t.

Referenced by gk_follow_frames(), Gs_load_3dview(), and Nviz_set_viewpoint_twist().

## GS_set_viewdir()

void GS_set_viewdir | ( | float * | dir | ) |

Set viewdir.

Automatically turns off focus

Parameters

  dir | viewdir value

Definition at line 2821 of file gs2.c.

References GS_set_nofocus(), GS_v3add(), GS_v3eq(), GS_v3norm(), and gsd_set_view().

Referenced by gk_follow_frames(), and Nviz_flythrough().

## GS_set_viewport()

void GS_set_viewport | ( | int | left,
|  | int | right,
|  | int | bottom,
|  | int | top )

Set viewport.

Parameters

  left,right,bottom,top | viewport extent values

Definition at line 2979 of file gs2.c.

References G_debug(), and gsd_viewport().

Referenced by Nviz_resize_window().

## GS_set_wire_color()

void GS_set_wire_color | ( | int | id,
|  | int | colr )

Set wire color.

Todo
  error-handling

Parameters

  id | surface id
  colr | color value

Definition at line 2015 of file gs2.c.

References G_debug(), and gs_get_surf().

## GS_setall_drawmode()

int GS_setall_drawmode | ( | int | mode | ) |

Set all draw-modes.

Parameters

  mode | mode id

Returns
  0 on success
  -1 on error

Definition at line 2062 of file gs2.c.

References GS_set_drawmode().

Referenced by Gs_load_3dview().

## GS_setall_drawres()

int GS_setall_drawres | ( | int | xres,
|  | int | yres,
|  | int | xwire,
|  | int | ywire )

Set all draw resolutions.

Parameters

  xres,yres | x/y resolution value
  xwire,ywire | x/y wire value

Returns
  0 on success
  -1 on error

Definition at line 2199 of file gs2.c.

References GS_set_drawres().

Referenced by Gs_load_3dview().

## GS_setlight_ambient()

void GS_setlight_ambient | ( | int | num,
|  | float | red,
|  | float | green,
|  | float | blue )

Set light ambient.

Red, green, blue from 0.0 to 1.0

Parameters

  num | light id (starts at 1)
  red,green,blue | color values

Definition at line 400 of file gs2.c.

References gsd_deflight().

Referenced by Nviz_set_light_ambient().

## GS_setlight_color()

void GS_setlight_color | ( | int | num,
|  | float | red,
|  | float | green,
|  | float | blue )

Set light color.

Parameters

  num | light id (starts at 1)
  red,green,blue | color values (from 0.0 to 1.0)

Definition at line 356 of file gs2.c.

References gsd_deflight().

Referenced by Nviz_set_light_bright(), and Nviz_set_light_color().

## GS_setlight_position()

void GS_setlight_position | ( | int | num,
|  | float | xpos,
|  | float | ypos,
|  | float | zpos,
|  | int | local )

Set light position.

Bug
  I think lights array doesn't match sgi_light array

Parameters

  num | light id (starts with 1)
  xpos,ypos,zpos | coordinates (model)
  local | local coordinate (for viewport)

Definition at line 309 of file gs2.c.

References gsd_deflight(), X, and Y.

Referenced by gk_follow_frames(), Nviz_draw_all_surf(), and Nviz_set_light_position().

## GS_surf_exists()

int GS_surf_exists | ( | int | id | ) |

Check if surface exists

Parameters

  id | surface id

Returns
  0 not found
  1 found

Definition at line 194 of file gs2.c.

References G_debug(), gs_get_surf(), and NULL.

Referenced by GP_select_surf(), GS_delete_surface(), GV_select_surf(), Nviz_new_fringe(), and Nviz_set_fringe().

## GS_switchlight()

void GS_switchlight | ( | int | num,
|  | int | on )

Switch on/off light.

Parameters

  num | light id (starts at 1)
  on | non-zero for 'on' otherwise 'off'

Definition at line 470 of file gs2.c.

References gsd_switchlight().

## GS_transp_is_set()

int GS_transp_is_set | ( | void |  | ) |

Check if transparency is set.

Returns
  0 transparency not set
  1 transparency is set

Definition at line 489 of file gs2.c.

References gs_att_is_set(), gsd_getfc(), and NULL.

## GS_unset_att()

int GS_unset_att | ( | int | id,
|  | int | att )

Unset attribute.

Parameters

  id | surface id
  att | attribute id

Returns
  ?

Definition at line 1386 of file gs2.c.

References gs_get_surf(), and gs_set_att_src().

Referenced by Nviz_unset_attr().

## GS_unset_cplane()

void GS_unset_cplane | ( | int | num | ) |

Unset clip place (turn off).

Parameters

  num | cplane id

Definition at line 3226 of file gs2.c.

References gsd_cplane_off().

Referenced by Nviz_off_cplane().

## GS_unset_rotation()

void GS_unset_rotation | ( | void |  | ) |

Stop scene rotation.

Definition at line 2899 of file gs2.c.

Referenced by Nviz_unset_rotation().

## GS_unset_SDsurf()

void GS_unset_SDsurf | ( | void |  | ) |

Unset Scaled Difference surface.

Definition at line 1027 of file gs2.c.

References gsdiff_set_SDref(), and NULL.

## GS_update_curmask()

int GS_update_curmask | ( | int | id | ) |

Update current mask.

May be called to update total mask for a surface at convenient times instead of waiting until ready to redraw surface

Parameters

  id | surface id

Returns
  ?

Definition at line 991 of file gs2.c.

References gs_get_surf(), and gs_update_curmask().

## GS_update_normals()

int GS_update_normals | ( | int | id | ) |

Update normals.

Parameters

  id | surface id

Returns
  ?

Definition at line 1113 of file gs2.c.

References gs_calc_normals(), and gs_get_surf().

## GS_zoom_setup()

void GS_zoom_setup | ( | int * | a,
|  | int * | b,
|  | int * | c,
|  | int * | d,
|  | int * | maxx,
|  | int * | maxy )

Get zoom setup.

Parameters

  [out] | a,b,c,d | current viewport settings
  [out] | maxx,maxy | max viewport size

Definition at line 2770 of file gs2.c.

References b, and gsd_getViewport().

## gsd_getViewport()

int gsd_getViewport | ( | GLint * | ,
|  | GLint * | )

Referenced by GS_zoom_setup().

## void_func()

void void_func | ( | void |  | ) |

Definition at line 86 of file gs2.c.

Referenced by GS_libinit().