GRASS GIS 8 Programmer's Manual
8.5.0dev(2024)-d6dec75dd4
|
Go to the source code of this file.
Functions | |
int | GK_set_interpmode (int) |
Set interpolation mode. More... | |
void | GK_set_tension (float) |
Set value for tension when interpmode is KF_SPLINE. More... | |
void | GK_showtension_start (void) |
void | GK_showtension_stop (void) |
Show tension stop ? More... | |
void | GK_update_tension (void) |
Update tension. More... | |
void | GK_update_frames (void) |
Recalculate path using the current number of frames requested. More... | |
void | GK_set_numsteps (int) |
Set the number of frames to be interpolated from keyframes. More... | |
void | GK_clear_keys (void) |
Deletes all keyframes, resets field masks. More... | |
void | GK_print_keys (const char *) |
Print keyframe info. More... | |
int | GK_move_key (float, float, float) |
Move keyframe. More... | |
int | GK_delete_key (float, float, int) |
int | GK_add_key (float, unsigned long, int, float) |
Add keyframe. More... | |
void | GK_do_framestep (int, int) |
Moves the animation to frame number "step". More... | |
void | GK_show_path (int) |
Draw the current path. More... | |
void | GK_show_vect (int) |
Show vector sets. More... | |
void | GK_show_site (int) |
Show point sets. More... | |
void | GK_show_vol (int) |
Show volumes. More... | |
void | GK_show_list (int) |
Show list. More... | |
int | GP_site_exists (int) |
Check if point set exists. More... | |
int | GP_new_site (void) |
Create new point set. More... | |
int | GP_num_sites (void) |
Get number of loaded point sets. More... | |
int * | GP_get_site_list (int *) |
Get list of point sets. More... | |
int | GP_delete_site (int) |
Delete registrated point set. More... | |
int | GP_load_site (int, const char *) |
Load point set from file. More... | |
int | GP_get_sitename (int, char **) |
Get point set filename. More... | |
int | GP_get_style (int, int *, int *, float *, int *) |
Get point set style. More... | |
int | GP_set_style (int, int, int, float, int) |
Set point style. More... | |
int | GP_set_style_thematic (int, int, const char *, const char *, const char *, const char *, struct Colors *) |
Set point set style for thematic mapping. More... | |
int | GP_unset_style_thematic (int) |
Make style for thematic mapping inactive. More... | |
int | GP_attmode_color (int, const char *) |
int | GP_attmode_none (int) |
int | GP_set_zmode (int, int) |
Set z mode for point set. More... | |
int | GP_get_zmode (int, int *) |
Get z-mode. More... | |
void | GP_set_trans (int, float, float, float) |
Set transformation params. More... | |
void | GP_get_trans (int, float *, float *, float *) |
Get transformation params. More... | |
int | GP_select_surf (int, int) |
Select surface for given point set. More... | |
int | GP_unselect_surf (int, int) |
Unselect surface. More... | |
int | GP_surf_is_selected (int, int) |
Check if surface is selected. More... | |
void | GP_draw_site (int) |
Draw point set. More... | |
void | GP_alldraw_site (void) |
Draw all available point sets. More... | |
int | GP_Set_ClientData (int, void *) |
Set client data. More... | |
void * | GP_Get_ClientData (int) |
Get client data. More... | |
int | GP_str_to_marker (const char *) |
Determine point marker symbol for string. More... | |
void | void_func (void) |
void | GS_libinit (void) |
Initialize OGSF library. More... | |
int | GS_get_longdim (float *) |
Get largest dimension. More... | |
int | GS_get_region (float *, float *, float *, float *) |
Get 2D region extent. More... | |
void | GS_set_att_defaults (float *, float *) |
Set default attributes for map objects. More... | |
int | GS_surf_exists (int) |
int | GS_new_surface (void) |
Add new surface. More... | |
int | GS_new_light (void) |
Add new model light. More... | |
void | GS_set_light_reset (int) |
int | GS_get_light_reset (void) |
void | GS_setlight_position (int, float, float, float, int) |
Set light position. More... | |
void | GS_setlight_color (int, float, float, float) |
Set light color. More... | |
void | GS_setlight_ambient (int, float, float, float) |
Set light ambient. More... | |
void | GS_lights_off (void) |
Switch off all lights. More... | |
void | GS_lights_on (void) |
Switch on all lights. More... | |
void | GS_switchlight (int, int) |
Switch on/off light. More... | |
int | GS_transp_is_set (void) |
Check if transparency is set. More... | |
void | GS_get_modelposition1 (float *) |
void | GS_get_modelposition (float *, float *) |
Retrieves coordinates for lighting model position, at center of view. More... | |
void | GS_draw_X (int, float *) |
Draw place marker. More... | |
void | GS_set_Narrow (int *, int, float *) |
Set decoration, north arrow ?? More... | |
void | GS_draw_line_onsurf (int, float, float, float, float) |
Draw line on surface. More... | |
int | GS_draw_nline_onsurf (int, float, float, float, float, float *, int) |
Draw multiline on surface. More... | |
void | GS_draw_flowline_at_xy (int, float, float) |
Draw flow-line on surace. More... | |
void | GS_draw_lighting_model1 (void) |
Draw lighting model. More... | |
void | GS_draw_lighting_model (void) |
Draw lighting model. More... | |
int | GS_update_curmask (int) |
Update current mask. More... | |
int | GS_is_masked (int, float *) |
Check if point is masked ? More... | |
void | GS_unset_SDsurf (void) |
Unset Scaled Difference surface. More... | |
int | GS_set_SDsurf (int) |
Set surface as Scaled Difference surface. More... | |
int | GS_set_SDscale (float) |
Set ? More... | |
int | GS_get_SDsurf (int *) |
Get ? More... | |
int | GS_get_SDscale (float *) |
Get ? More... | |
int | GS_update_normals (int) |
Update normals. More... | |
int | GS_get_att (int, int, int *, float *, char *) |
Get attributes. More... | |
int | GS_get_cat_at_xy (int, int, char *, float, float) |
Get surface category on given position. More... | |
int | GS_get_norm_at_xy (int, float, float, float *) |
Get surface normal at x,y (real coordinates) More... | |
int | GS_get_val_at_xy (int, int, char *, float, float) |
Get RGB color at given point. More... | |
int | GS_unset_att (int, int) |
Unset attribute. More... | |
int | GS_set_att_const (int, int, float) |
Set attribute constant. More... | |
int | GS_set_maskmode (int, int) |
Set mask mode. More... | |
int | GS_get_maskmode (int, int *) |
Get mask mode. More... | |
int | GS_Set_ClientData (int, void *) |
Set client data. More... | |
void * | GS_Get_ClientData (int) |
Get client data. More... | |
int | GS_num_surfs (void) |
Get number of surfaces. More... | |
int * | GS_get_surf_list (int *) |
Get surface list. More... | |
int | GS_delete_surface (int) |
Delete surface. More... | |
int | GS_load_att_map (int, const char *, int) |
Load raster map as attribute. More... | |
void | GS_draw_surf (int) |
Draw surface. More... | |
void | GS_draw_wire (int) |
Draw surface wire. More... | |
void | GS_alldraw_wire (void) |
Draw all wires. More... | |
void | GS_alldraw_surf (void) |
Draw all surfaces. More... | |
void | GS_set_exag (int, float) |
Set Z exag for surface. More... | |
void | GS_set_global_exag (float) |
Set global z-exag value. More... | |
float | GS_global_exag (void) |
Get global z-exag value. More... | |
void | GS_set_wire_color (int, int) |
Set wire color. More... | |
int | GS_get_wire_color (int, int *) |
Get wire color. More... | |
int | GS_setall_drawmode (int) |
Set all draw-modes. More... | |
int | GS_set_drawmode (int, int) |
Set draw mode. More... | |
int | GS_get_drawmode (int, int *) |
Get draw mode. More... | |
void | GS_set_nozero (int, int, int) |
Set no-zero ? More... | |
int | GS_get_nozero (int, int, int *) |
Get no-zero ? More... | |
int | GS_setall_drawres (int, int, int, int) |
Set all draw resolutions. More... | |
int | GS_set_drawres (int, int, int, int, int) |
Set draw resolution for surface. More... | |
void | GS_get_drawres (int, int *, int *, int *, int *) |
Get draw resolution of surface. More... | |
void | GS_get_dims (int, int *, int *) |
Get dimension of surface. More... | |
int | GS_get_exag_guess (int, float *) |
Get exag-value guess. More... | |
void | GS_get_zrange_nz (float *, float *) |
Get Z extents for all loaded surfaces. More... | |
void | GS_set_trans (int, float, float, float) |
Set translation (surface position) More... | |
void | GS_get_trans (int, float *, float *, float *) |
Get translation values (surface position) More... | |
unsigned int | GS_default_draw_color (void) |
Get default draw color. More... | |
unsigned int | GS_background_color (void) |
Get background color. More... | |
void | GS_set_draw (int) |
Sets which buffer to draw to. More... | |
void | GS_ready_draw (void) |
void | GS_done_draw (void) |
Draw done, swap buffers. More... | |
void | GS_set_focus (float *) |
Set focus. More... | |
int | GS_get_focus (float *) |
Get focus. More... | |
void | GS_set_focus_center_map (int) |
Set focus to map center. More... | |
void | GS_moveto (float *) |
Move viewpoint. More... | |
void | GS_moveto_real (float *) |
Move position to (real) More... | |
void | GS_set_focus_real (float *) |
Set real focus. More... | |
void | GS_get_to_real (float *) |
Get 'to' real coordinates. More... | |
int | GS_get_zextents (int, float *, float *, float *) |
Get z-extent for a single surface. More... | |
int | GS_get_zrange (float *, float *, int) |
Get z-extent for all loaded surfaces. More... | |
void | GS_get_from (float *) |
Get viewpoint 'from' position. More... | |
void | GS_get_from_real (float *) |
Get viewpoint 'from' real coordinates. More... | |
void | GS_get_to (float *) |
Get 'to' model coordinates. More... | |
void | GS_get_viewdir (float *) |
Get viewdir. More... | |
void | GS_set_viewdir (float *) |
Set viewdir. More... | |
void | GS_set_fov (int) |
Set field of view. More... | |
void | GS_set_rotation (double, double, double, double) |
Set rotation params. More... | |
void | GS_get_rotation_matrix (double *) |
Get rotation matrix. More... | |
void | GS_set_rotation_matrix (double *) |
Set rotation matrix. More... | |
void | GS_init_rotation (void) |
Reset scene rotation. More... | |
void | GS_unset_rotation (void) |
Stop scene rotation. More... | |
int | GS_get_fov (void) |
Get field of view. More... | |
int | GS_get_twist (void) |
Get twist value. More... | |
void | GS_set_twist (int) |
Set viewpoint twist value. More... | |
void | GS_set_nofocus (void) |
Unset focus. More... | |
void | GS_set_infocus (void) |
Set focus. More... | |
void | GS_set_viewport (int, int, int, int) |
Set viewport. More... | |
int | GS_look_here (int, int) |
Send screen coords sx and sy, lib traces through surfaces; sets new center to point of nearest intersection. More... | |
int | GS_get_selected_point_on_surface (int, int, int *, float *, float *, float *) |
Get selected point of surface. More... | |
void | GS_set_cplane_rot (int, float, float, float) |
Set cplace rotation. More... | |
void | GS_set_cplane_trans (int, float, float, float) |
Set cplace trans. More... | |
void | GS_draw_cplane (int) |
Draw cplace. More... | |
int | GS_draw_cplane_fence (int, int, int) |
Draw cplace fence ? More... | |
void | GS_alldraw_cplane_fences (void) |
Draw all cplace fences ? More... | |
void | GS_set_cplane (int) |
Set cplace. More... | |
void | GS_unset_cplane (int) |
Unset clip place (turn off) More... | |
void | GS_get_scale (float *, float *, float *, int) |
Get axis scale. More... | |
void | GS_set_fencecolor (int) |
Set fence color. More... | |
int | GS_get_fencecolor (void) |
Get fence color. More... | |
int | GS_get_distance_alongsurf (int, float, float, float, float, float *, int) |
Measure distance "as the ball rolls" between two points on surface. More... | |
int | GS_save_3dview (const char *, int) |
Save 3d view. More... | |
int | GS_load_3dview (const char *, int) |
Load 3d view. More... | |
void | GS_init_view (void) |
Init viewpoint. More... | |
void | GS_clear (int) |
Clear view. More... | |
double | GS_get_aspect (void) |
Get aspect value. More... | |
int | GS_has_transparency (void) |
Check for transparency. More... | |
void | GS_zoom_setup (int *, int *, int *, int *, int *, int *) |
Get zoom setup. More... | |
int | GS_write_zoom (const char *, unsigned int, unsigned int) |
Write zoom to file. More... | |
void | GS_draw_all_list (void) |
Draw all glLists. More... | |
void | GS_delete_list (GLuint) |
Delete pre-defined list. More... | |
int | GS_draw_legend (const char *, GLuint, int, int *, float *, int *) |
Draw legend. More... | |
void | GS_draw_fringe (int, unsigned long, float, int *) |
Draw fringe around data (surface) at selected corners. More... | |
void | GS_getlight_position (int, float *, float *, float *, int *) |
Get light position. More... | |
void | GS_getlight_color (int, float *, float *, float *) |
Get light color. More... | |
void | GS_getlight_ambient (int, float *, float *, float *) |
Get light ambient. More... | |
int | GS_check_cancel (void) |
Check for cancel. More... | |
void | GS_set_cancel (int) |
Set cancel. More... | |
void | GS_set_cxl_func (void(*)(void)) |
Set cxl function. More... | |
double | GS_geodistance (double *, double *, const char *) |
Calculate distance between 2 coordinates. More... | |
float | GS_distance (float *, float *) |
Calculate distance. More... | |
float | GS_P2distance (float *, float *) |
Calculate distance in plane. More... | |
void | GS_v3eq (float *, float *) |
Copy vector values. More... | |
void | GS_v3add (float *, float *) |
Sum vectors. More... | |
void | GS_v3sub (float *, float *) |
Subtract vectors. More... | |
void | GS_v3mult (float *, float) |
Multiple vectors. More... | |
int | GS_v3norm (float *) |
Change v1 so that it is a unit vector (2D) More... | |
int | GS_v2norm (float *) |
Change v1 so that it is a unit vector (3D) More... | |
int | GS_dv3norm (double *) |
Changes v1 so that it is a unit vector. More... | |
int | GS_v3normalize (float *, float *) |
Change v2 so that v1v2 is a unit vector. More... | |
int | GS_v3dir (float *, float *, float *) |
Get a normalized direction from v1 to v2, store in v3. More... | |
void | GS_v2dir (float *, float *, float *) |
Get a normalized direction from v1 to v2, store in v3 (2D) More... | |
void | GS_v3cross (float *, float *, float *) |
Get the cross product v3 = v1 cross v2. More... | |
void | GS_v3mag (float *, float *) |
Magnitude of vector. More... | |
int | GS_coordpair_repeats (float *, float *, int) |
ADD. More... | |
int | GV_vect_exists (int) |
Check if vector set exists. More... | |
int | GV_new_vector (void) |
Register new vector set. More... | |
int | GV_num_vects (void) |
Get number of available vector sets. More... | |
int * | GV_get_vect_list (int *) |
Get list of vector sets. More... | |
int | GV_delete_vector (int) |
Delete vector set from list. More... | |
int | GV_load_vector (int, const char *) |
Load vector set. More... | |
int | GV_get_vectname (int, char **) |
Get vector map name. More... | |
int | GV_set_style (int, int, int, int, int) |
Set vector style. More... | |
int | GV_get_style (int, int *, int *, int *, int *) |
Get vector style. More... | |
int | GV_set_style_thematic (int, int, const char *, const char *, struct Colors *) |
Set vector set style for thematic mapping. More... | |
int | GV_unset_style_thematic (int) |
Make style for thematic mapping inactive. More... | |
void | GV_set_trans (int, float, float, float) |
Set trans ? More... | |
int | GV_get_trans (int, float *, float *, float *) |
Get trans ? More... | |
int | GV_select_surf (int, int) |
Select surface identified by hs to have vector identified by hv draped over it. More... | |
int | GV_unselect_surf (int, int) |
Unselect surface. More... | |
int | GV_surf_is_selected (int, int) |
Check if surface is selected. More... | |
void | GV_draw_vect (int) |
Draw vector set. More... | |
void | GV_alldraw_vect (void) |
Draw all loaded vector sets. More... | |
void | GV_alldraw_fastvect (void) |
Draw all loaded vector sets (fast mode) More... | |
void | GV_draw_fastvect (int) |
Draw vector set (fast mode) More... | |
int | GV_Set_ClientData (int, void *) |
Set client data. More... | |
void * | GV_Get_ClientData (int) |
Get client data. More... | |
void | GVL_libinit (void) |
Library initialization for volumes. More... | |
void | GVL_init_region (void) |
Initialize 3D region. More... | |
int | GVL_get_region (float *, float *, float *, float *, float *, float *) |
Get region extent settings. More... | |
void * | GVL_get_window (void) |
Get window. More... | |
int | GVL_vol_exists (int) |
Check if volume set exists. More... | |
int | GVL_new_vol (void) |
Create new volume set. More... | |
int | GVL_num_vols (void) |
Get number of loaded volume sets. More... | |
int * | GVL_get_vol_list (int *) |
Get list of loaded volume sets. More... | |
int | GVL_delete_vol (int) |
Delete volume set from list. More... | |
int | GVL_load_vol (int, const char *) |
Load 3d raster map to volume set. More... | |
int | GVL_get_volname (int, char *) |
Get volume set name. More... | |
void | GVL_set_trans (int, float, float, float) |
Set trans ? More... | |
int | GVL_get_trans (int, float *, float *, float *) |
Get trans ? More... | |
void | GVL_set_draw_wire (int, int) |
Set drawing wire box. More... | |
void | GVL_draw_vol (int) |
Draw volume set. More... | |
void | GVL_draw_wire (int) |
Draw volume in wire mode. More... | |
void | GVL_alldraw_vol (void) |
Draw all volume sets. More... | |
void | GVL_alldraw_wire (void) |
Draw all volume sets in wire mode. More... | |
int | GVL_Set_ClientData (int, void *) |
Set client data for volume set. More... | |
void * | GVL_Get_ClientData (int) |
Get client data. More... | |
void | GVL_get_dims (int, int *, int *, int *) |
Get volume dimensions. More... | |
void | GVL_set_focus_center_map (int) |
Set focus on map center. More... | |
int | GVL_isosurf_move_up (int, int) |
Move up isosurface in list. More... | |
int | GVL_isosurf_move_down (int, int) |
Move down isosurface in list. More... | |
void | GVL_isosurf_get_drawres (int, int *, int *, int *) |
Get draw resolution for isosurface. More... | |
int | GVL_isosurf_set_drawres (int, int, int, int) |
Set isosurface draw resolution. More... | |
int | GVL_isosurf_get_drawmode (int, int *) |
Get isosurface draw mode. More... | |
int | GVL_isosurf_set_drawmode (int, int) |
Set isosurface draw mode. More... | |
int | GVL_isosurf_add (int) |
Add isosurface. More... | |
int | GVL_isosurf_del (int, int) |
Delete isosurface. More... | |
int | GVL_isosurf_get_att (int, int, int, int *, float *, char *) |
Get isosurface attributes. More... | |
int | GVL_isosurf_unset_att (int, int, int) |
Unset isosurface attributes. More... | |
int | GVL_isosurf_set_att_const (int, int, int, float) |
Set constant isosurface attribute. More... | |
int | GVL_isosurf_set_att_map (int, int, int, const char *) |
Set isosurface map attribute. More... | |
int | GVL_isosurf_get_flags (int, int, int *) |
Get isosurface flags. More... | |
int | GVL_isosurf_set_flags (int, int, int) |
Set isosurface flags. More... | |
int | GVL_isosurf_num_isosurfs (int) |
Get number of available isosurfaces. More... | |
int | GVL_isosurf_set_maskmode (int, int, int) |
Set mask attribute mode. More... | |
int | GVL_isosurf_get_maskmode (int, int, int *) |
Get isosurface mask mode. More... | |
int | GVL_slice_move_up (int, int) |
Move up slice. More... | |
int | GVL_slice_move_down (int, int) |
Move down slice. More... | |
void | GVL_slice_get_drawres (int, int *, int *, int *) |
Get draw resolution of slice. More... | |
int | GVL_slice_get_transp (int, int, int *) |
Get slice trans ? More... | |
int | GVL_slice_set_transp (int, int, int) |
Set slice trans ? More... | |
int | GVL_slice_set_drawres (int, int, int, int) |
Set slice draw resolution. More... | |
int | GVL_slice_get_drawmode (int, int *) |
Get slice draw mode. More... | |
int | GVL_slice_set_drawmode (int, int) |
Set slice draw mode. More... | |
int | GVL_slice_add (int) |
Add slice. More... | |
int | GVL_slice_del (int, int) |
Delete slice. More... | |
int | GVL_slice_num_slices (int) |
Get number or slices. More... | |
int | GVL_slice_get_pos (int, int, float *, float *, float *, float *, float *, float *, int *) |
Get slice position. More... | |
int | GVL_slice_set_pos (int, int, float, float, float, float, float, float, int) |
Get slice position. More... | |
int | Gp_set_color (const char *, geopoint *) |
geopoint * | Gp_load_sites (const char *, int *, int *) |
Load to points to memory. More... | |
int | Gp_load_sites_thematic (geosite *, struct Colors *) |
Load styles for geopoints based on thematic mapping. More... | |
double | Gs_distance (double *, double *) |
Calculates distance in METERS between two points in current projection (2D) More... | |
int | Gs_loadmap_as_float (struct Cell_head *, const char *, float *, struct BM *, int *) |
Load raster map as floating point map. More... | |
int | Gs_loadmap_as_int (struct Cell_head *, const char *, int *, struct BM *, int *) |
Load raster map as integer map. More... | |
int | Gs_numtype (const char *, int *) |
Get map data type. More... | |
int | Gs_loadmap_as_short (struct Cell_head *, const char *, short *, struct BM *, int *) |
Load raster map as integer map. More... | |
int | Gs_loadmap_as_char (struct Cell_head *, const char *, unsigned char *, struct BM *, int *) |
Load raster map as integer map. More... | |
int | Gs_loadmap_as_bitmap (struct Cell_head *, const char *, struct BM *) |
Load raster map as integer map. More... | |
int | Gs_build_256lookup (const char *, int *) |
Build color table (256) More... | |
void | Gs_pack_colors (const char *, int *, int, int) |
Pack color table. More... | |
void | Gs_pack_colors_float (const char *, float *, int *, int, int) |
Pack color table (floating-point map) More... | |
int | Gs_get_cat_label (const char *, int, int, char *) |
Get categories/labels. More... | |
int | Gs_save_3dview (const char *, geoview *, geodisplay *, struct Cell_head *, geosurf *) |
int | Gs_load_3dview (const char *, geoview *, geodisplay *, struct Cell_head *, const geosurf *) |
int | Gs_update_attrange (geosurf *, int) |
Update no_zero ranges for attribute (actually no_null now) More... | |
geoline * | Gv_load_vect (const char *, int *) |
Load vector map to memory. More... | |
int | Gv_load_vect_thematic (geovect *, struct Colors *) |
Load styles for geolines based on thematic mapping. More... | |
void | sub_Vectmem (int) |
Tracking memory. More... | |
Keylist * | gk_copy_key (Keylist *) |
Copy keyframes. More... | |
unsigned long | gk_get_mask_sofar (float, Keylist *) |
Get mask value. More... | |
int | gk_viable_keys_for_mask (unsigned long, Keylist *, Keylist **) |
ADD. More... | |
void | gk_follow_frames (Viewnode *, int, Keylist *, int, int, int, unsigned long) |
Checks key masks. More... | |
void | gk_free_key (Keylist *) |
Free keyframe list. More... | |
Viewnode * | gk_make_framesfromkeys (Keylist *, int, int, int, float) |
Generate viewnode from keyframes. More... | |
double | get_key_neighbors (int, double, double, int, Keylist **, Keylist **, Keylist **, Keylist **, Keylist **, double *, double *) |
double | lin_interp (float, float, float) |
Linear interpolation. More... | |
double | get_2key_neighbors (int, float, float, int, Keylist **, Keylist **, Keylist **) |
Viewnode * | gk_make_linear_framesfromkeys (Keylist *, int, int, int) |
Generate viewnode from keyframe list (linear interpolation) More... | |
void | correct_twist (Keylist *) |
Correct twist value. More... | |
int | gk_draw_path (Viewnode *, int, Keylist *) |
Draw path. More... | |
geosite * | gp_get_site (int) |
Get geosite struct. More... | |
geosite * | gp_get_prev_site (int) |
Get previous geosite struct from list. More... | |
int | gp_num_sites (void) |
Get number of loaded point sets. More... | |
geosite * | gp_get_last_site (void) |
Get last point set. More... | |
geosite * | gp_get_new_site (void) |
Create new geosite instance and add it to list. More... | |
void | gp_update_drapesurfs (void) |
Update drape surfaces. More... | |
int | gp_set_defaults (geosite *) |
Set default value for geosite struct. More... | |
void | print_site_fields (geosite *) |
int | gp_init_site (geosite *) |
Initialize geosite struct. More... | |
void | gp_delete_site (int) |
Delete point set and remove from list. More... | |
int | gp_free_site (geosite *) |
Free allocated geosite struct. More... | |
void | gp_free_sitemem (geosite *) |
Free geosite (lower level) More... | |
void | gp_set_drapesurfs (geosite *, int *, int) |
int | gs_point_in_region (geosurf *, float *, float *) |
Check if point is in region. More... | |
void | gpd_obj (geosurf *, gvstyle *, Point3) |
Draw point representing object. More... | |
int | gpd_2dsite (geosite *, geosurf *, int) |
int | gpd_3dsite (geosite *, float, float, int) |
void | gs_err (const char *) |
void | gs_init (void) |
Initialize library. More... | |
geosurf * | gs_get_surf (int) |
Get geosurf struct. More... | |
geosurf * | gs_get_prev_surface (int) |
Get previous geosurf struct. More... | |
int | gs_getall_surfaces (geosurf **) |
Get array of geosurf structs. More... | |
int | gs_num_surfaces (void) |
Get number of surfaces. More... | |
int | gs_att_is_set (geosurf *, IFLAG) |
Check if attribute is set. More... | |
geosurf * | gs_get_last_surface (void) |
Get last allocated geosurf struct from list. More... | |
geosurf * | gs_get_new_surface (void) |
Allocate new geosurf struct. More... | |
int | gs_init_surf (geosurf *, double, double, int, int, double, double) |
Initialize allocated geosurf struct. More... | |
int | gs_init_normbuff (geosurf *) |
Init geosurf normbuff. More... | |
void | print_frto (float(*)[4]) |
Debugging, print 'from/to' model coordinates to stderr. More... | |
void | print_realto (float *) |
Debugging, print 'to' real coordinates to stderr. More... | |
void | print_256lookup (int *) |
Debugging, 256 integer values from buffer. More... | |
void | print_surf_fields (geosurf *) |
Debugging, print geosurf fields to stderr. More... | |
void | print_view_fields (geoview *) |
Debugging, print geoview fields to stderr. More... | |
void | gs_set_defaults (geosurf *, float *, float *) |
Set default attribute values. More... | |
void | gs_delete_surf (int) |
Remove geosurf struct from list. More... | |
int | gs_free_surf (geosurf *) |
Free geosurf struct. More... | |
void | gs_free_unshared_buffs (geosurf *) |
Free unshared buffers of geosurf struct. More... | |
int | gs_num_datah_reused (int) |
Get number of reused values. More... | |
int | gs_get_att_type (geosurf *, int) |
Get attribute type. More... | |
int | gs_get_att_src (geosurf *, int) |
Get attribute source. More... | |
typbuff * | gs_get_att_typbuff (geosurf *, int, int) |
Get attribute data buffer. More... | |
size_t | gs_malloc_att_buff (geosurf *, int, int) |
Allocate attribute buffer. More... | |
int | gs_malloc_lookup (geosurf *, int) |
Allocate attribute lookup. More... | |
int | gs_set_att_type (geosurf *, int, int) |
Set attribute type. More... | |
int | gs_set_att_src (geosurf *, int, int) |
Set attribute source. More... | |
int | gs_set_att_const (geosurf *, int, float) |
Set attribute constant value. More... | |
void | gs_set_maskmode (int) |
Set geosurf mask mode. More... | |
int | gs_mask_defined (geosurf *) |
Check if mask is defined. More... | |
int | gs_masked (typbuff *, int, int, int) |
Should only be called when setting up the current mask (gs_bm.c) More... | |
int | gs_mapcolor (typbuff *, gsurf_att *, int) |
Call this one when you already know att_src is MAP_ATT. More... | |
int | gs_get_zextents (geosurf *, float *, float *, float *) |
Get z-extent values. More... | |
int | gs_get_xextents (geosurf *, float *, float *) |
Get x-extent values. More... | |
int | gs_get_yextents (geosurf *, float *, float *) |
Get y-extent values. More... | |
int | gs_get_zrange0 (float *, float *) |
Get z-range. More... | |
int | gs_get_zrange (float *, float *) |
Get z-range. More... | |
int | gs_get_xrange (float *, float *) |
Get x-range. More... | |
int | gs_get_yrange (float *, float *) |
Get y-range. More... | |
int | gs_get_data_avg_zmax (float *) |
Get average z-max value. More... | |
int | gs_get_datacenter (float *) |
Get data center point. More... | |
int | gs_setall_norm_needupdate (void) |
Set for geosurf need-to-update mark. More... | |
int | gs_point_is_masked (geosurf *, float *) |
Check if point is masked. More... | |
int | gs_distance_onsurf (geosurf *, float *, float *, float *, int) |
Calculate distance on surface. More... | |
struct BM * | gsbm_make_mask (typbuff *, float, int, int) |
Do combining of bitmaps, make bitmaps from other data w/maskval. More... | |
void | gsbm_zero_mask (struct BM *) |
Zero mask. More... | |
int | gsbm_or_masks (struct BM *, struct BM *) |
Mask bitmap (mask type OR) More... | |
int | gsbm_ornot_masks (struct BM *, struct BM *) |
Mask bitmap (mask type ORNOT) More... | |
int | gsbm_and_masks (struct BM *, struct BM *) |
Mask bitmap (mask type ADD) More... | |
int | gsbm_xor_masks (struct BM *, struct BM *) |
Mask bitmap (mask type XOR) More... | |
int | gs_update_curmask (geosurf *) |
Update current maps. More... | |
void | print_bm (struct BM *) |
Print bitmap to stderr. More... | |
void | init_vars (geosurf *) |
Init variables. More... | |
int | gs_calc_normals (geosurf *) |
Calculate normals. More... | |
int | calc_norm (geosurf *, int, int, unsigned int) |
Calculate normals. More... | |
int | gs_los_intersect1 (int, float(*)[3], float *) |
Crude method of intersecting line of sight with closest part of surface. More... | |
int | gs_los_intersect (int, float **, float *) |
Crude method of intersecting line of sight with closest part of surface. More... | |
int | RayCvxPolyhedronInt (Point3, Point3, double, Point4 *, int, double *, int *) |
Ray-Convex Polyhedron Intersection Test. More... | |
void | gs_get_databounds_planes (Point4 *) |
Get data bounds for plane. More... | |
int | gs_setlos_enterdata (Point3 *) |
void | gsd_def_cplane (int, float *, float *) |
Define cplace. More... | |
void | gsd_update_cplanes (void) |
Update cplaces. More... | |
void | gsd_cplane_on (int) |
ADD. More... | |
void | gsd_cplane_off (int) |
Turn off clip plane. More... | |
void | gsd_get_cplanes_state (int *) |
Get cplane state. More... | |
int | gsd_get_cplanes (Point4 *) |
Get cplaces. More... | |
void | gsd_update_cpnorm (int) |
ADD. More... | |
void | gsd_cplane_setrot (int, float, float, float) |
ADD. More... | |
void | gsd_cplane_settrans (int, float, float, float) |
ADD. More... | |
void | gsd_draw_cplane_fence (geosurf *, geosurf *, int) |
void | gsd_draw_cplane (int) |
Draw cplane. More... | |
GLuint | gsd_set_font (const char *) |
int | gsd_get_txtwidth (const char *, int) |
Get text width. More... | |
int | gsd_get_txtheight (int size) |
Get text height. More... | |
void | do_label_display (GLuint, float *, const char *) |
Display label. More... | |
int | get_txtdescender (void) |
Get text descender. More... | |
int | get_txtxoffset (void) |
Get text offset. More... | |
int | GS_write_ppm (const char *) |
Save current GL screen to ppm file. More... | |
int | GS_write_tif (const char *) |
Write data to tif file. More... | |
void | gs_put_label (const char *, GLuint, int, unsigned long, int *) |
Put label. More... | |
void | gsd_remove_curr (void) |
Remove current label. More... | |
void | gsd_remove_all (void) |
Remove all labels from display list. More... | |
void | gsd_call_label (void) |
Call display list and draw defined labels – called from gsd_prim (gsd_call_lists) More... | |
void | gsd_box (float *, int, float *) |
Draw box. More... | |
void | gsd_plus (float *, int, float) |
ADD. More... | |
void | gsd_line_onsurf (geosurf *, float *, float *) |
Line on surface, fix z-values. More... | |
int | gsd_nline_onsurf (geosurf *, float *, float *, float *, int) |
Multiline on surface, fix z-values. More... | |
void | gsd_x (geosurf *, float *, int, float) |
Draw X symbol. More... | |
void | gsd_diamond (float *, unsigned long, float) |
Draw diamond symbol. More... | |
void | gsd_diamond_lines (void) |
Draw diamond lines. More... | |
void | gsd_cube (float *, unsigned long, float) |
Draw cube. More... | |
void | gsd_draw_box (float *, unsigned long, float) |
Draw box. More... | |
void | gsd_drawsphere (float *, unsigned long, float) |
Draw sphere. More... | |
void | gsd_draw_asterisk (float *, unsigned long, float) |
Draw asterisk. More... | |
void | gsd_draw_gyro (float *, unsigned long, float) |
Draw gyro. More... | |
void | gsd_3dcursor (float *) |
Draw 3d cursor. More... | |
void | dir_to_slope_aspect (float *, float *, float *, int) |
ADD. More... | |
int | gsd_north_arrow (float *, float, GLuint, unsigned long, unsigned long) |
Draw North Arrow takes OpenGL coords and size. More... | |
int | gsd_arrow (float *, unsigned long, float, float *, float, geosurf *) |
ADD. More... | |
int | gsd_arrow_onsurf (float *, float *, unsigned long, int, geosurf *) |
Draw north arrow on surface. More... | |
void | gsd_3darrow (float *, unsigned long, float, float, float *, float) |
Draw 3d north arrow. More... | |
int | gsd_scalebar (float *, float, GLuint, unsigned long, unsigned long) |
Draw Scalebar takes OpenGL coords and size. More... | |
int | gsd_scalebar_v2 (float *, float, GLuint, unsigned long, unsigned long) |
void | primitive_cone (unsigned long) |
Primitives only called after transforms. More... | |
void | primitive_cylinder (unsigned long, int) |
Primitives only called after transforms. More... | |
void | gsd_flush (void) |
Mostly for flushing drawing commands across a network. More... | |
void | gsd_colormode (int) |
Set color mode. More... | |
void | show_colormode (void) |
Print color mode to stderr. More... | |
void | gsd_circ (float, float, float) |
ADD. More... | |
void | gsd_disc (float, float, float, float) |
ADD. More... | |
void | gsd_sphere (float *, float) |
ADD. More... | |
void | gsd_zwritemask (unsigned long) |
Write out z-mask. More... | |
void | gsd_backface (int) |
ADD. More... | |
void | gsd_linewidth (short) |
Set width of rasterized lines. More... | |
void | gsd_bgnqstrip (void) |
ADD. More... | |
void | gsd_endqstrip (void) |
ADD. More... | |
void | gsd_bgntmesh (void) |
ADD. More... | |
void | gsd_endtmesh (void) |
ADD. More... | |
void | gsd_bgntstrip (void) |
ADD. More... | |
void | gsd_endtstrip (void) |
ADD. More... | |
void | gsd_bgntfan (void) |
ADD. More... | |
void | gsd_endtfan (void) |
ADD. More... | |
void | gsd_swaptmesh (void) |
ADD. More... | |
void | gsd_bgnpolygon (void) |
Delimit the vertices of a primitive or a group of like primitives. More... | |
void | gsd_endpolygon (void) |
Delimit the vertices of a primitive or a group of like primitives. More... | |
void | gsd_bgnline (void) |
Begin line. More... | |
void | gsd_endline (void) |
End line. More... | |
void | gsd_shademodel (int) |
Set shaded model. More... | |
int | gsd_getshademodel (void) |
Get shaded model. More... | |
void | gsd_bothbuffers (void) |
Draw to the front and back buffers. More... | |
void | gsd_frontbuffer (void) |
Draw to the front buffer. More... | |
void | gsd_backbuffer (void) |
Draw to the back buffer. More... | |
void | gsd_swapbuffers (void) |
Swap buffers. More... | |
void | gsd_popmatrix (void) |
Pop the current matrix stack. More... | |
void | gsd_pushmatrix (void) |
Push the current matrix stack. More... | |
void | gsd_scale (float, float, float) |
Multiply the current matrix by a general scaling matrix. More... | |
void | gsd_translate (float, float, float) |
Multiply the current matrix by a translation matrix. More... | |
void | gsd_rot (float, char) |
ADD. More... | |
void | gsd_checkwindow (int *, int *, double *, double *) |
int | gsd_checkpoint (float[4], int[4], int[4], double[16], double[16]) |
ADD. More... | |
void | gsd_litvert_func (float *, unsigned long, float *) |
Set the current normal vector & specify vertex. More... | |
void | gsd_litvert_func2 (float *, unsigned long, float *) |
void | gsd_vert_func (float *) |
ADD. More... | |
void | gsd_color_func (unsigned int) |
Set current color. More... | |
void | gsd_init_lightmodel (void) |
Initialize model light. More... | |
void | gsd_set_material (int, int, float, float, int) |
Set material. More... | |
void | gsd_deflight (int, struct lightdefs *) |
Define light. More... | |
void | gsd_switchlight (int, int) |
Switch light on/off. More... | |
int | gsd_getimage (unsigned char **, unsigned int *, unsigned int *) |
Get image of current GL screen. More... | |
void | gsd_blend (int) |
Specify pixel arithmetic. More... | |
void | gsd_def_clipplane (int, double *) |
Define clip plane. More... | |
void | gsd_set_clipplane (int, int) |
Set clip plane. More... | |
void | gsd_finish (void) |
Finish. More... | |
void | gsd_viewport (int, int, int, int) |
Set the viewport. More... | |
int | gsd_makelist (void) |
ADD. More... | |
void | gsd_bgnlist (int, int) |
ADD. More... | |
void | gsd_endlist (void) |
End list. More... | |
void | gsd_calllist (int) |
ADD. More... | |
void | gsd_deletelist (GLuint, int) |
void | gsd_calllists (int) |
void | gsd_getwindow (int *, int *, double *, double *) |
Get viewport. More... | |
int | gsd_writeView (unsigned char **, unsigned int, unsigned int) |
Write view. More... | |
int | gsd_surf (geosurf *) |
ADD. More... | |
int | gsd_surf_map (geosurf *) |
Draw surface using triangle fan instead of strip. More... | |
int | gsd_surf_const (geosurf *, float) |
Using tmesh - not confident with qstrips portability. More... | |
int | gsd_surf_func (geosurf *, int(*)(void)) |
int | gsd_triangulated_wall (int, int, geosurf *, geosurf *, Point3 *, Point3 *, float *) |
ADD. More... | |
void | gsd_setfc (int) |
ADD. More... | |
int | gsd_getfc (void) |
ADD. More... | |
int | gsd_ortho_wall (int, int, geosurf **, Point3 **, float *) |
ADD. More... | |
int | gsd_wall (float *, float *, float *) |
ADD. More... | |
int | gsd_norm_arrows (geosurf *) |
ADD. More... | |
int | gsd_get_los (float(*)[3], short, short) |
ADD. More... | |
void | gsd_set_view (geoview *, geodisplay *) |
Set view. More... | |
void | gsd_check_focus (geoview *) |
Check focus. More... | |
void | gsd_get_zup (geoview *, double *) |
Get z-up vector (z-direction) More... | |
int | gsd_zup_twist (geoview *) |
ADD. More... | |
void | gsd_do_scale (int) |
Set current scale. More... | |
void | gsd_real2model (Point3) |
Convert real to model coordinates. More... | |
void | gsd_model2real (Point3) |
Convert model to real coordinates. More... | |
void | gsd_model2surf (geosurf *, Point3) |
Convert model to surface coordinates. More... | |
void | gsd_surf2model (Point3) |
Convert surface to model coordinates. More... | |
void | gsd_surf2real (geosurf *, Point3) |
Convert surface to real coordinates. More... | |
void | gsd_real2surf (geosurf *, Point3) |
Convert real to surface coordinates. More... | |
int | gsd_wire_surf (geosurf *) |
Draw surface wire. More... | |
int | gsd_wire_surf_map (geosurf *) |
ADD. More... | |
int | gsd_coarse_surf_map (geosurf *) |
Draw coarse surface. More... | |
int | gsd_wire_surf_const (geosurf *, float) |
ADD. More... | |
int | gsd_wire_surf_func (geosurf *, int(*)(void)) |
int | gsd_wire_arrows (geosurf *) |
ADD. More... | |
void | gsdiff_set_SDscale (float) |
Set scale. More... | |
float | gsdiff_get_SDscale (void) |
Get scale. More... | |
void | gsdiff_set_SDref (geosurf *) |
ADD. More... | |
geosurf * | gsdiff_get_SDref (void) |
ADD. More... | |
float | gsdiff_do_SD (float, int) |
ADD. More... | |
int | gsdrape_set_surface (geosurf *) |
ADD. More... | |
int | seg_intersect_vregion (geosurf *, float *, float *) |
Check if segment intersect vector region. More... | |
Point3 * | gsdrape_get_segments (geosurf *, float *, float *, int *) |
ADD. More... | |
Point3 * | gsdrape_get_allsegments (geosurf *, float *, float *, int *) |
Get all segments. More... | |
void | interp_first_last (geosurf *, float *, float *, Point3, Point3) |
ADD. More... | |
int | _viewcell_tri_interp (geosurf *, Point3) |
ADD. More... | |
int | viewcell_tri_interp (geosurf *, typbuff *, Point3, int) |
ADD. More... | |
int | in_vregion (geosurf *, float *) |
ADD. More... | |
int | order_intersects (geosurf *, Point3, Point3, int, int, int) |
ADD. More... | |
int | get_vert_intersects (geosurf *, float *, float *, float *) |
ADD. More... | |
int | get_horz_intersects (geosurf *, float *, float *, float *) |
Get horizontal intersects. More... | |
int | get_diag_intersects (geosurf *, float *, float *, float *) |
int | segs_intersect (float, float, float, float, float, float, float, float, float *, float *) |
Line intersect. More... | |
int | Point_on_plane (Point3, Point3, Point3, Point3) |
Check if point is on plane. More... | |
int | XY_intersect_plane (float *, float *) |
Check for intersection (point and plane) More... | |
int | P3toPlane (Point3, Point3, Point3, float *) |
Define plane. More... | |
int | V3Cross (Point3, Point3, Point3) |
Get cross product. More... | |
int | gsds_findh (const char *, IFLAG *, IFLAG *, int) |
Get handle to gsds. More... | |
int | gsds_newh (const char *) |
Get handle to gsds. More... | |
typbuff * | gsds_get_typbuff (int, IFLAG) |
Get data buffer. More... | |
char * | gsds_get_name (int) |
Get name. More... | |
int | gsds_free_datah (int) |
Free allocated dataset. More... | |
int | gsds_free_data_buff (int, int) |
Free allocated buffer. More... | |
size_t | free_data_buffs (dataset *, int) |
Free data buffer. More... | |
size_t | gsds_alloc_typbuff (int, int *, int, int) |
Allocates correct buffer according to type, keeps track of total mem. More... | |
int | gsds_get_changed (int) |
ADD. More... | |
int | gsds_set_changed (int, IFLAG) |
ADD. More... | |
int | gsds_get_type (int) |
ADD. More... | |
int | get_mapatt (typbuff *, int, float *) |
Get map attributes. More... | |
geovect * | gv_get_vect (int) |
Get vector set. More... | |
geovect * | gv_get_prev_vect (int) |
Get previous vector set. More... | |
int | gv_num_vects (void) |
Get number of loaded vector sets. More... | |
geovect * | gv_get_last_vect (void) |
Get last loaded vector set. More... | |
geovect * | gv_get_new_vect (void) |
Allocate memory for new vector set. More... | |
void | gv_update_drapesurfs (void) |
Update drape surfaces. More... | |
int | gv_set_defaults (geovect *) |
Set attributes of vector set to default values. More... | |
int | gv_init_vect (geovect *) |
Initialize geovect struct. More... | |
void | gv_delete_vect (int) |
Delete vector set (unload) More... | |
int | gv_free_vect (geovect *) |
Free allocated memory for geovect struct. More... | |
void | gv_free_vectmem (geovect *) |
Free allocated memory. More... | |
void | gv_set_drapesurfs (geovect *, int *, int) |
Set drape surfaces for vector set. More... | |
float | gv_line_length (geoline *) |
Get line width. More... | |
int | gln_num_points (geoline *) |
Get number of line vertices. More... | |
int | gv_num_points (geovect *) |
Get number of points in vector. More... | |
int | gv_decimate_lines (geovect *) |
Decimate line. More... | |
int | gs_clip_segment (geosurf *, float *, float *, float *) |
Clip segment. More... | |
int | gvd_vect (geovect *, geosurf *, int) |
Draw vector set. More... | |
void | gvd_draw_lineonsurf (geosurf *, float *, float *, int) |
Draw line on surface. More... | |
geovol * | gvl_get_vol (int) |
Get volume set structure. More... | |
geovol * | gvl_get_prev_vol (int) |
Get previous volume. More... | |
int | gvl_getall_vols (geovol **) |
Get all volumes. More... | |
int | gvl_num_vols (void) |
Get number of loaded volume sets. More... | |
geovol * | gvl_get_last_vol (void) |
Get last volume set from the list. More... | |
geovol * | gvl_get_new_vol (void) |
Allocate new volume set and add it to the list. More... | |
int | gvl_init_vol (geovol *, double, double, double, int, int, int, double, double, double) |
Initialize geovol structure. More... | |
void | gvl_delete_vol (int) |
Remove volume set from list. More... | |
int | gvl_free_vol (geovol *) |
Free geovol struct. More... | |
void | gvl_free_volmem (geovol *) |
Free geovol struct memory. More... | |
void | print_vol_fields (geovol *) |
Debug volume fields. More... | |
int | gvl_get_xextents (geovol *, float *, float *) |
Get volume x-extent value. More... | |
int | gvl_get_yextents (geovol *, float *, float *) |
Get volume y-extent value. More... | |
int | gvl_get_zextents (geovol *, float *, float *) |
Get volume z-extent value. More... | |
int | gvl_get_xrange (float *, float *) |
Get volume x-range value. More... | |
int | gvl_get_yrange (float *, float *) |
Get volume y-range value. More... | |
int | gvl_get_zrange (float *, float *) |
Get volume z-range value. More... | |
int | gvl_isosurf_init (geovol_isosurf *) |
Initialize geovol_isosurf struct. More... | |
int | gvl_isosurf_freemem (geovol_isosurf *) |
Free geovol_isosurf struct. More... | |
geovol_isosurf * | gvl_isosurf_get_isosurf (int, int) |
Get isosurface of given volume set. More... | |
int | gvl_isosurf_get_att_src (geovol_isosurf *, int) |
Get attribute source. More... | |
int | gvl_isosurf_set_att_src (geovol_isosurf *, int, int) |
Set attribute source. More... | |
int | gvl_isosurf_set_att_const (geovol_isosurf *, int, float) |
Set isosurface attribute constant. More... | |
int | gvl_isosurf_set_att_map (geovol_isosurf *, int, const char *) |
Set attribute map. More... | |
int | gvl_isosurf_set_att_changed (geovol_isosurf *, int) |
Set attribute changed. More... | |
int | gvl_slice_init (geovol_slice *) |
Initialize geovol_slice struct. More... | |
geovol_slice * | gvl_slice_get_slice (int, int) |
Get geovol_slice struct. More... | |
int | gvl_slice_freemem (geovol_slice *) |
Free geovol_slice struct. More... | |
void | P_scale (float, float, float) |
ADD. More... | |
void | P_transform (int, float(*)[4], float(*)[4]) |
Transform array of vectors using current T matrix. More... | |
int | P_pushmatrix (void) |
Push current transformation matrix onto matrix stack. More... | |
int | P_popmatrix (void) |
Pop top of matrix stack, placing it into the current transformation matrix. More... | |
void | P_rot (float, char) |
Rotate matrix. More... | |
geovol_file * | gvl_file_get_volfile (int) |
Get geovol_file structure for given handle. More... | |
char * | gvl_file_get_name (int) |
Get file name for given handle. More... | |
int | gvl_file_get_file_type (geovol_file *) |
Get file type for given handle. More... | |
int | gvl_file_get_data_type (geovol_file *) |
Get data type for given handle. More... | |
int | gvl_file_newh (const char *, IFLAG) |
Get handle for given file name and type. More... | |
int | gvl_file_free_datah (int) |
Free geovol_file structure for given handle. More... | |
int | gvl_file_start_read (geovol_file *) |
Start read - allocate memory buffer a read first data into buffer. More... | |
int | gvl_file_end_read (geovol_file *) |
End read - free buffer memory. More... | |
int | gvl_file_get_value (geovol_file *, int, int, int, void *) |
Get value for volume file at x, y, z. More... | |
int | gvl_file_is_null_value (geovol_file *, void *) |
Check for null value. More... | |
int | gvl_file_set_mode (geovol_file *, IFLAG) |
Set read mode. More... | |
int | gvl_file_set_slices_param (geovol_file *, int, int) |
Set parameters for slice reading. More... | |
void | gvl_file_get_min_max (geovol_file *, double *, double *) |
Get minimum and maximum value in volume file. More... | |
int | Gvl_load_colors_data (void **, const char *) |
Load color table. More... | |
int | Gvl_unload_colors_data (void *) |
Unload color table. More... | |
int | Gvl_get_color_for_value (void *, float *) |
Get color for value. More... | |
int | gvl_isosurf_calc (geovol *) |
Fill data structure with computed isosurfaces polygons. More... | |
int | gvl_slices_calc (geovol *) |
Calculate slices for given volume set. More... | |
void | gvl_write_char (int, unsigned char **, unsigned char) |
ADD. More... | |
unsigned char | gvl_read_char (int, const unsigned char *) |
Read char. More... | |
void | gvl_align_data (int, unsigned char **) |
Append data to buffer. More... | |
int | gvld_vol (geovol *) |
Draw volume set (slices and isosurfaces) More... | |
int | gvld_wire_vol (geovol *) |
Draw volume in wire mode (bounding box) More... | |
int | gvld_isosurf (geovol *) |
Draw volume isosurfaces. More... | |
int | gvld_wire_isosurf (geovol *) |
int | gvld_slices (geovol *) |
Draw slices. More... | |
int | gvld_slice (geovol *, int) |
Draw slice. More... | |
int | gvld_wire_slices (geovol *) |
Draw wire slices. More... | |
int | gvld_wind3_box (geovol *) |
Draw volume bounding box. More... | |
void | gsd_display_fringe (geosurf *, unsigned long, float, int[4]) |
Display fridge. More... | |
void | gsd_fringe_horiz_poly (float, geosurf *, int, int) |
Draw fringe polygon in x direction. More... | |
void | gsd_fringe_horiz_line (float, geosurf *, int, int) |
Draw fringe outline in x direction. More... | |
void | gsd_fringe_vert_poly (float, geosurf *, int, int) |
Draw fringe outline in y direction. More... | |
void | gsd_fringe_vert_line (float, geosurf *, int, int) |
Draw fringe outline in y direction. More... | |
GLuint | gsd_put_legend (const char *, GLuint, int, int *, float *, int *) |
Put legend. More... | |
void | gsd_bgn_legend_viewport (GLint, GLint, GLint, GLint) |
ADD. More... | |
void | gsd_end_legend_viewport (void) |
ADD. More... | |
int | gsd_make_nice_number (float *) |
ADD. More... | |
ADD.
gs | surface (geosurf) |
pt |
Definition at line 463 of file gsdrape.c.
References ATT_TOPO, gs_get_att_typbuff(), and viewcell_tri_interp().
Referenced by GS_draw_X().
int calc_norm | ( | geosurf * | gs, |
int | drow, | ||
int | dcol, | ||
unsigned int | neighbors | ||
) |
Calculate normals.
Need either four neighbors or two non-linear neighbors passed initial state of neighbors known from array position and data row & col
gs | surface (geosurf) |
drow | data row |
dcol | data col |
neighbors | neighbors id |
Definition at line 206 of file gs_norms.c.
References BM_get(), g_surf::curmask, DRC2OFF, GET_MAPATT, NBOT, NLFT, NRGT, NTOP, g_surf::x_mod, and g_surf::y_mod.
Referenced by gs_calc_normals().
void correct_twist | ( | Keylist * | k | ) |
Correct twist value.
k | keyframe list |
Definition at line 711 of file gk.c.
Referenced by gk_make_linear_framesfromkeys().
void dir_to_slope_aspect | ( | float * | dir, |
float * | slope, | ||
float * | aspect, | ||
int | degrees | ||
) |
void do_label_display | ( | GLuint | fontbase, |
float * | lab_pos, | ||
const char * | txt | ||
) |
Display label.
fontbase | font-base |
lab_pos | label position |
txt | text string |
Definition at line 97 of file gsd_fonts.c.
size_t free_data_buffs | ( | dataset * | ds, |
int | typ | ||
) |
int get_diag_intersects | ( | geosurf * | , |
float * | , | ||
float * | , | ||
float * | |||
) |
int get_horz_intersects | ( | geosurf * | gs, |
float * | bgn, | ||
float * | end, | ||
float * | dir | ||
) |
double get_key_neighbors | ( | int | , |
double | , | ||
double | , | ||
int | , | ||
Keylist ** | , | ||
Keylist ** | , | ||
Keylist ** | , | ||
Keylist ** | , | ||
Keylist ** | , | ||
double * | , | ||
double * | |||
) |
int get_mapatt | ( | typbuff * | buff, |
int | offset, | ||
float * | att | ||
) |
Get map attributes.
buff | ||
offset | ||
[out] | att |
Definition at line 31 of file gsget.c.
References BM_get(), typbuff::cb, BM::cols, typbuff::fb, typbuff::ib, typbuff::k, typbuff::nm, typbuff::sb, and typbuff::tfunc.
int get_txtdescender | ( | void | ) |
Get text descender.
yorig ??
Is this defined somewhere ?
Definition at line 71 of file gsd_fonts.c.
int get_txtxoffset | ( | void | ) |
Get text offset.
xorig ??
Is this defined somewhere ?
Definition at line 85 of file gsd_fonts.c.
int get_vert_intersects | ( | geosurf * | gs, |
float * | bgn, | ||
float * | end, | ||
float * | dir | ||
) |
ADD.
Colinear already eliminated
gs | surface (geosurf) |
bgn | begin point |
end | end point |
dir | direction |
Definition at line 877 of file gsdrape.c.
References EPSILON, segs_intersect(), VCOL2X, VCOLS, VROWS, VYRES, X, X2VCOL, Y, and g_surf::yrange.
int GK_add_key | ( | float | pos, |
unsigned long | fmask, | ||
int | force_replace, | ||
float | precis | ||
) |
Add keyframe.
The pos value is the relative position in the animation for this particular keyframe - used to compare relative distance to neighboring keyframes, it can be any floating point value.
The fmask value can be any of the following or'd together:
Other fields will be added later.
The value precis and the boolean force_replace are used to determine if a keyframe should be considered to be at the same position as a pre-existing keyframe. e.g., if anykey.pos - newkey.pos <= precis, GK_add_key() will fail unless force_replace is TRUE.
pos | position |
fmaks | |
force_replace | |
precis | precision value |
void GK_clear_keys | ( | void | ) |
Deletes all keyframes, resets field masks.
Doesn't change number of frames requested.
Definition at line 312 of file gk2.c.
References gk_free_key().
Copy keyframes.
k | source keyframes |
Definition at line 45 of file gk.c.
References key_node::fieldmask, key_node::fields, G_malloc, KF_NUMFIELDS, key_node::look_ahead, key_node::next, NULL, key_node::pos, and key_node::prior.
int GK_delete_key | ( | float | pos, |
float | precis, | ||
int | justone | ||
) |
Delete keyframe
The values pos and precis are used to determine which keyframes to delete. Any keyframes with their position within precis of pos will be deleted if justone is zero. If justone is non-zero, only the first (lowest pos) keyframe in the range will be deleted.
pos | position |
precis | precision |
justone | delete only one keyframe |
void GK_do_framestep | ( | int | step, |
int | render | ||
) |
void gk_free_key | ( | Keylist * | ok | ) |
Free keyframe list.
ok | pointer to Keylist struct |
Definition at line 271 of file gk.c.
References G_free(), and key_node::next.
Referenced by GK_clear_keys().
unsigned long gk_get_mask_sofar | ( | float | time, |
Keylist * | keys | ||
) |
Get mask value.
Get begin & end pos, AND all masks in keys <= pos
Time must be between 0.0 & 1.0
time | timestamp |
keys | list of keyframes |
Definition at line 79 of file gk.c.
References key_node::fieldmask, key_node::next, and key_node::pos.
Generate viewnode from keyframe list (linear interpolation)
Here we use linear interpolation. Loop variable isn't used, but left in for use in possible "linear interp with smoothing" version.
kesy | keyframe list |
keysteps | step value |
newsteps | new step value |
loop | loop indicator |
pointer | to viewnode struct |
NULL | on failure |
Definition at line 611 of file gk.c.
References _, correct_twist(), view_node::fields, key_node::fields, G_free(), G_malloc, G_warning(), get_2key_neighbors(), gk_viable_keys_for_mask(), KF_NUMFIELDS, lin_interp(), key_node::next, NULL, and key_node::pos.
int GK_move_key | ( | float | oldpos, |
float | precis, | ||
float | newpos | ||
) |
void GK_print_keys | ( | const char * | name | ) |
int GK_set_interpmode | ( | int | mode | ) |
void GK_set_numsteps | ( | int | newsteps | ) |
void GK_set_tension | ( | float | tens | ) |
void GK_show_path | ( | int | flag | ) |
void GK_show_site | ( | int | flag | ) |
void GK_show_vect | ( | int | flag | ) |
void GK_showtension_stop | ( | void | ) |
void GK_update_frames | ( | void | ) |
ADD.
mask | mask value | |
keys | list of keyframes | |
[out] | keyret | output list of keyframes |
Definition at line 113 of file gk.c.
References key_node::fieldmask, and key_node::next.
Referenced by gk_make_linear_framesfromkeys().
int gln_num_points | ( | geoline * | gln | ) |
Get number of line vertices.
gln | line (geoline) |
Definition at line 197 of file gv_quick.c.
References g_line::next, and g_line::npts.
Referenced by gv_num_points().
int GP_attmode_color | ( | int | , |
const char * | |||
) |
int GP_attmode_none | ( | int | ) |
int GP_delete_site | ( | int | id | ) |
Delete registrated point set.
id | point set id |
Definition at line 132 of file gp2.c.
References G_debug(), gp_delete_site(), and GP_site_exists().
void gp_delete_site | ( | int | id | ) |
Delete point set and remove from list.
id | point set id |
Definition at line 238 of file gp.c.
References G_debug(), gp_free_site(), and gp_get_site().
Referenced by GP_delete_site().
void GP_draw_site | ( | int | id | ) |
Draw point set.
id | point set id |
Definition at line 577 of file gp2.c.
References g_site::drape_surf_id, G_debug(), gp_get_site(), gpd_2dsite(), gpd_3dsite(), GS_get_region(), gs_get_surf(), g_site::has_z, g_site::n_surfs, and g_site::use_z.
Referenced by Nviz_draw_all_site().
int gp_free_site | ( | geosite * | fp | ) |
Free allocated geosite struct.
fp | pointer to geosite struct |
Definition at line 261 of file gp.c.
References G_debug(), and g_site::gsite_id.
Referenced by gp_delete_site().
void gp_free_sitemem | ( | geosite * | fp | ) |
void* GP_Get_ClientData | ( | int | id | ) |
Get client data.
id | point set id |
Definition at line 653 of file gp2.c.
References g_site::clientdata, gp_get_site(), and NULL.
geosite* gp_get_last_site | ( | void | ) |
Get last point set.
Definition at line 95 of file gp.c.
References G_debug().
Referenced by gp_get_new_site().
geosite* gp_get_new_site | ( | void | ) |
Create new geosite instance and add it to list.
Definition at line 119 of file gp.c.
References G_malloc, G_zero(), gp_get_last_site(), g_site::gsite_id, g_site::next, and NULL.
geosite* gp_get_prev_site | ( | int | id | ) |
geosite* gp_get_site | ( | int | id | ) |
Get geosite struct.
id | point set id |
Definition at line 33 of file gp.c.
References G_debug().
Referenced by gp_delete_site(), GP_draw_site(), GP_Get_ClientData(), GP_get_trans(), GP_get_zmode(), GP_select_surf(), GP_Set_ClientData(), GP_set_trans(), GP_set_zmode(), GP_site_exists(), GP_surf_is_selected(), GP_unselect_surf(), GP_unset_style_thematic(), and Nviz_set_vpoint_attr_default().
int* GP_get_site_list | ( | int * | numsites | ) |
Get list of point sets.
Must freed when no longer needed!
numsites | number of point sets |
Definition at line 102 of file gp2.c.
Referenced by Nviz_draw_all_site().
int GP_get_sitename | ( | int | id, |
char ** | filename | ||
) |
int GP_get_style | ( | int | id, |
int * | color, | ||
int * | width, | ||
float * | size, | ||
int * | symbol | ||
) |
void GP_get_trans | ( | int | id, |
float * | xtrans, | ||
float * | ytrans, | ||
float * | ztrans | ||
) |
Get transformation params.
id | point set id | |
[out] | xtrans,ytrans,ztrans | x/y/z values |
Definition at line 457 of file gp2.c.
References G_debug(), gp_get_site(), g_site::x_trans, g_site::y_trans, and g_site::z_trans.
int GP_get_zmode | ( | int | id, |
int * | use_z | ||
) |
Get z-mode.
id | point set id | |
[out] | use_z | non-zero code to use z |
Definition at line 414 of file gp2.c.
References G_debug(), gp_get_site(), NULL, and g_site::use_z.
int gp_init_site | ( | geosite * | gp | ) |
int GP_load_site | ( | int | id, |
const char * | filename | ||
) |
Load point set from file.
Check to see if handle already loaded, if so - free before loading new for now, always load to memory.
id | point set id |
filename | point set filename |
geopoint* Gp_load_sites | ( | const char * | name, |
int * | nsites, | ||
int * | has_z | ||
) |
int GP_new_site | ( | void | ) |
int GP_num_sites | ( | void | ) |
Get number of loaded point sets.
Definition at line 87 of file gp2.c.
References gp_num_sites().
int gp_num_sites | ( | void | ) |
Get number of loaded point sets.
Definition at line 76 of file gp.c.
Referenced by GP_num_sites().
int GP_select_surf | ( | int | hp, |
int | hs | ||
) |
Select surface for given point set.
hp | point set id |
hs | surface id |
Definition at line 484 of file gp2.c.
References g_site::drape_surf_id, G_debug(), gp_get_site(), GP_surf_is_selected(), GS_surf_exists(), and g_site::n_surfs.
int GP_Set_ClientData | ( | int | id, |
void * | clientd | ||
) |
Set client data.
id | point set id |
clientd | client data |
Definition at line 631 of file gp2.c.
References g_site::clientdata, and gp_get_site().
int Gp_set_color | ( | const char * | , |
geopoint * | |||
) |
int gp_set_defaults | ( | geosite * | gp | ) |
Set default value for geosite struct.
gp | pointer to geosite struct |
Definition at line 189 of file gp.c.
References g_vect_style::color, G_debug(), GS_get_longdim(), g_site::gsite_id, g_site::hstyle, NULL, g_vect_style::size, ST_X, g_site::style, g_vect_style::symbol, g_site::tstyle, and g_vect_style::width.
void gp_set_drapesurfs | ( | geosite * | , |
int * | , | ||
int | |||
) |
int GP_set_style | ( | int | id, |
int | color, | ||
int | width, | ||
float | size, | ||
int | symbol | ||
) |
Set point style.
Supported icon symbols (markers):
id | point set id |
color | icon color |
width | icon line width |
size | icon size |
symbol | icon symbol |
int GP_set_style_thematic | ( | int | id, |
int | layer, | ||
const char * | color, | ||
const char * | width, | ||
const char * | size, | ||
const char * | symbol, | ||
struct Colors * | color_rules | ||
) |
Set point set style for thematic mapping.
Updates also style for each geopoint.
id | point set id |
layer | layer number for thematic mapping (-1 for undefined) |
color | icon color column name |
width | icon line width column name |
size | icon size column name |
symbol | icon symbol column name |
colors | pointer to Colors structure or NULL |
void GP_set_trans | ( | int | id, |
float | xtrans, | ||
float | ytrans, | ||
float | ztrans | ||
) |
Set transformation params.
id | point set id |
xtrans,ytrans,ztrans | x/y/z values |
Definition at line 434 of file gp2.c.
References G_debug(), gp_get_site(), g_site::x_trans, g_site::y_trans, and g_site::z_trans.
int GP_set_zmode | ( | int | id, |
int | use_z | ||
) |
Set z mode for point set.
id | point set id |
use_z | TRUE to use z-coordinaces when vector map is 3D |
Definition at line 380 of file gp2.c.
References G_debug(), gp_get_site(), g_site::has_z, NULL, and g_site::use_z.
int GP_site_exists | ( | int | id | ) |
Check if point set exists.
id | point set id |
Definition at line 37 of file gp2.c.
References G_debug(), gp_get_site(), and NULL.
Referenced by GP_delete_site().
int GP_str_to_marker | ( | const char * | str | ) |
Determine point marker symbol for string.
Supported markers:
str | string buffer |
Definition at line 684 of file gp2.c.
References _, G_warning(), ST_ASTER, ST_BOX, ST_CON_TREE, ST_CUBE, ST_DEC_TREE, ST_DIAMOND, ST_GYRO, ST_HISTOGRAM, ST_SPHERE, and ST_X.
int GP_surf_is_selected | ( | int | hp, |
int | hs | ||
) |
Check if surface is selected.
hp | point set id |
hs | surface id |
Definition at line 552 of file gp2.c.
References g_site::drape_surf_id, G_debug(), gp_get_site(), and g_site::n_surfs.
Referenced by GP_select_surf(), and GP_unselect_surf().
int GP_unselect_surf | ( | int | hp, |
int | hs | ||
) |
Unselect surface.
hp | point set id |
hs | surface id |
Definition at line 514 of file gp2.c.
References g_site::drape_surf_id, G_debug(), gp_get_site(), GP_surf_is_selected(), and g_site::n_surfs.
int GP_unset_style_thematic | ( | int | id | ) |
Make style for thematic mapping inactive.
id | point set id |
Definition at line 352 of file gp2.c.
References g_vect_style_thematic::active, G_debug(), gp_get_site(), NULL, and g_site::tstyle.
void gp_update_drapesurfs | ( | void | ) |
Referenced by GP_draw_site().
int gpd_3dsite | ( | geosite * | , |
float | , | ||
float | , | ||
int | |||
) |
Referenced by GP_draw_site().
Draw point representing object.
Do normal transforms before calling
Note gs: NULL if 3d obj or const elev surface
gs | surface (geosurf) |
style | object displaying style (highlighted or not) |
pt | 3d point (Point3) |
Definition at line 70 of file gpd.c.
References CM_COLOR, CM_DIFFUSE, g_vect_style::color, GS_global_exag(), GS_v3eq(), gsd_box(), gsd_color_func(), gsd_colormode(), gsd_cube(), gsd_diamond(), gsd_draw_asterisk(), gsd_draw_box(), gsd_draw_gyro(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_sphere(), gsd_x(), g_vect_style::size, ST_ASTER, ST_BOX, ST_CUBE, ST_DIAMOND, ST_GYRO, ST_HISTOGRAM, ST_SPHERE, ST_X, g_vect_style::symbol, and Z.
void GS_alldraw_cplane_fences | ( | void | ) |
Draw all cplace fences ?
Definition at line 3191 of file gs2.c.
References GS_draw_cplane_fence(), gsd_get_cplanes_state(), and MAX_CPLANES.
void GS_alldraw_wire | ( | void | ) |
Draw all wires.
Overrides draw_mode for fast display
Definition at line 1917 of file gs2.c.
Referenced by Gs_load_3dview().
Check if attribute is set.
surf | pointer to gsurf or NULL to look at all geosurfs |
att | attribute id |
Definition at line 150 of file gs.c.
References g_surf::att, gsurf_att::att_src, and NOTSET_ATT.
Referenced by GS_transp_is_set().
unsigned int GS_background_color | ( | void | ) |
int Gs_build_256lookup | ( | const char * | filename, |
int * | buff | ||
) |
int gs_calc_normals | ( | geosurf * | gs | ) |
Calculate normals.
OPTIMIZED for constant dy & dx
The norm array is always the same size, but diff resolutions force resampled data points to have their normals recalculated, then only those norms are passed to n3f during drawing. Norms are converted to a packed unsigned int for storage, must be converted back at time of use.
Uses the previous and next cells (when available) for normal calculations to produce smoother normals
gs | surface (geosurf) |
Definition at line 124 of file gs_norms.c.
References calc_norm(), G_debug(), gs_update_curmask(), g_surf::gsurf_id, init_vars(), NALL, NBL, NBOT, NBR, NLFT, g_surf::norm_needupdate, g_surf::norms, NRGT, NTL, NTOP, NTR, VCOLS, VROWS, g_surf::x_mod, and g_surf::y_mod.
Referenced by GS_get_norm_at_xy(), GS_update_normals(), and gsd_surf().
int GS_check_cancel | ( | void | ) |
Check for cancel.
Definition at line 30 of file gsx.c.
References Cxl_func.
Referenced by gvd_vect().
void GS_clear | ( | int | col | ) |
int gs_clip_segment | ( | geosurf * | gs, |
float * | bgn, | ||
float * | end, | ||
float * | region | ||
) |
Clip segment.
gs | surface |
bgn | begin point |
end | end point |
region | region settings |
Definition at line 40 of file gvd.c.
Referenced by gvd_vect().
int GS_coordpair_repeats | ( | float * | p1, |
float * | p2, | ||
int | nhist | ||
) |
unsigned int GS_default_draw_color | ( | void | ) |
void GS_delete_list | ( | GLuint | list_id | ) |
Delete pre-defined list.
list_id | list id |
Definition at line 884 of file gs2.c.
References gsd_deletelist().
void gs_delete_surf | ( | int | id | ) |
Remove geosurf struct from list.
id | surface id |
Definition at line 463 of file gs.c.
References G_debug(), gs_free_surf(), and gs_get_surf().
Referenced by GS_delete_surface().
int GS_delete_surface | ( | int | id | ) |
Delete surface.
id | surface id |
Definition at line 1557 of file gs2.c.
References FALSE, G_debug(), gs_delete_surf(), and GS_surf_exists().
double Gs_distance | ( | double * | from, |
double * | to | ||
) |
Calculates distance in METERS between two points in current projection (2D)
Uses G_distance().
from | 'from' point (X, Y) |
to | 'to' point (X, Y) |
Definition at line 79 of file gs3.c.
Referenced by GS_geodistance().
float GS_distance | ( | float * | from, |
float * | to | ||
) |
Calculate distance.
from | 'from' point (X,Y,Z) |
to | 'to' point (X,Y,Z) |
Definition at line 141 of file gs_util.c.
Referenced by GS_look_here(), gs_setlos_enterdata(), gsd_zup_twist(), and gv_line_length().
int gs_distance_onsurf | ( | geosurf * | gs, |
float * | p1, | ||
float * | p2, | ||
float * | dist, | ||
int | use_exag | ||
) |
void GS_done_draw | ( | void | ) |
Draw done, swap buffers.
Definition at line 2498 of file gs2.c.
References G_debug(), and GSD_BACK.
Referenced by 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_site(), Nviz_draw_all_vect(), and Nviz_draw_all_vol().
void GS_draw_all_list | ( | void | ) |
Draw all glLists.
Uses glFlush() to ensure all drawing is complete before returning
Definition at line 872 of file gs2.c.
References gsd_calllists().
void GS_draw_cplane | ( | int | num | ) |
Draw cplace.
num | cplace id |
Definition at line 3144 of file gs2.c.
References gs_getall_surfaces(), gs_num_surfaces(), gsd_draw_cplane(), gsd_draw_cplane_fence(), and MAX_SURFS.
int GS_draw_cplane_fence | ( | int | hs1, |
int | hs2, | ||
int | num | ||
) |
Draw cplace fence ?
hs1,hs2 | |
num | cplane id |
Definition at line 3171 of file gs2.c.
References gs_get_surf(), gsd_draw_cplane_fence(), and NULL.
Referenced by GS_alldraw_cplane_fences().
void GS_draw_flowline_at_xy | ( | int | id, |
float | x, | ||
float | y | ||
) |
void GS_draw_fringe | ( | int | id, |
unsigned long | clr, | ||
float | elev, | ||
int * | where | ||
) |
Draw fringe around data (surface) at selected corners.
id | surface id |
clr | color |
elev | elevation value |
where | nw/ne/sw/se edges - 0 (turn off) 1 (turn on) |
Definition at line 818 of file gs2.c.
References G_debug(), gs_get_surf(), and gsd_display_fringe().
int GS_draw_legend | ( | const char * | name, |
GLuint | fontbase, | ||
int | size, | ||
int * | flags, | ||
float * | range, | ||
int * | pt | ||
) |
Draw legend.
name | legend name |
fontbase | font-base |
size | ? |
flags | legend flags |
range | values range |
pt | ? |
Definition at line 841 of file gs2.c.
References gsd_put_legend(), and name.
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 934 of file gs2.c.
References gsd_cplane_off(), gsd_get_cplanes_state(), and MAX_CPLANES.
void GS_draw_line_onsurf | ( | int | id, |
float | x1, | ||
float | y1, | ||
float | x2, | ||
float | y2 | ||
) |
int GS_draw_nline_onsurf | ( | int | id, |
float | x1, | ||
float | y1, | ||
float | x2, | ||
float | y2, | ||
float * | lasp, | ||
int | n | ||
) |
void GS_draw_surf | ( | int | id | ) |
Draw surface.
id | surface id |
Definition at line 1862 of file gs2.c.
References DM_GOURAUD, DM_POLY, DM_WIRE, DM_WIRE_POLY, g_surf::draw_mode, G_debug(), gs_get_surf(), gsd_shademodel(), gsd_surf(), and gsd_wire_surf().
void GS_draw_wire | ( | int | id | ) |
Draw surface wire.
Overrides draw_mode for fast display
id | surface id |
Definition at line 1897 of file gs2.c.
References G_debug(), gs_get_surf(), and gsd_wire_surf().
void GS_draw_X | ( | int | id, |
float * | pt | ||
) |
Draw place marker.
Used to display query point for raster queries.
id | surface id |
pt | point, X, Y value in true world coordinates |
Definition at line 634 of file gs2.c.
References _viewcell_tri_interp(), g_surf::att, ATT_TOPO, g_vect_style::color, CONST_ATT, gsurf_att::constant, gs_get_att_src(), GS_get_longdim(), gs_get_surf(), gsd_do_scale(), gsd_linewidth(), gsd_pushmatrix(), gsd_translate(), NULL, g_surf::ox, g_surf::oy, g_vect_style::size, X, g_surf::x_trans, Y, g_surf::y_trans, Z, and g_surf::z_trans.
int GS_dv3norm | ( | double * | dv1 | ) |
void gs_err | ( | const char * | msg | ) |
Definition at line 35 of file gs.c.
References G_warning().
int gs_free_surf | ( | geosurf * | fs | ) |
Free geosurf struct.
fs | pointer to geosurf struct |
Definition at line 487 of file gs.c.
References G_debug().
Referenced by gs_delete_surf().
void gs_free_unshared_buffs | ( | geosurf * | fs | ) |
double GS_geodistance | ( | double * | from, |
double * | to, | ||
const char * | units | ||
) |
Calculate distance between 2 coordinates.
Units is one of:
Default is meters.
from | starting point |
to | ending point |
units | map units |
Definition at line 55 of file gs_util.c.
References Gs_distance().
double GS_get_aspect | ( | void | ) |
Get aspect value.
Definition at line 3447 of file gs2.c.
References Cell_head::bottom, and Cell_head::top.
Referenced by gsd_set_view().
int GS_get_att | ( | int | id, |
int | att, | ||
int * | set, | ||
float * | constant, | ||
char * | mapname | ||
) |
Get attributes.
id | surface id | |
att | ||
[out] | set | |
[out] | constant | |
[out] | mapname |
Definition at line 1132 of file gs2.c.
References g_surf::att, CONST_ATT, gsurf_att::constant, gs_get_att_src(), gs_get_surf(), gsds_get_name(), gsurf_att::hdata, MAP_ATT, src, and strcpy.
int gs_get_att_src | ( | geosurf * | gs, |
int | desc | ||
) |
Get attribute source.
gs | pointer to geosurf struct |
desc | attribute id (descriptor) |
Definition at line 656 of file gs.c.
References g_surf::att, gsurf_att::att_src, G_debug(), g_surf::gsurf_id, and LEGAL_ATT.
Referenced by GS_draw_X(), GS_get_att(), GS_get_cat_at_xy(), GS_get_exag_guess(), GS_get_val_at_xy(), gs_set_att_src(), Gs_update_attrange(), gsd_surf(), gsd_wire_surf(), gsdrape_get_segments(), gvd_vect(), and viewcell_tri_interp().
Get attribute data buffer.
gs | pointer to geosurf struct |
desc | attribute id (descriptor) |
to_write | non-zero value for 'write' |
Definition at line 681 of file gs.c.
References g_surf::att, ATT_TOPO, G_debug(), gsdiff_do_SD(), gsdiff_get_SDref(), gsds_get_typbuff(), g_surf::gsurf_id, gsurf_att::hdata, NULL, and typbuff::tfunc.
Referenced by _viewcell_tri_interp(), GS_get_cat_at_xy(), GS_get_val_at_xy(), gs_update_curmask(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_wire_arrows(), gsd_wire_surf_const(), and gsd_wire_surf_map().
int gs_get_att_type | ( | geosurf * | gs, |
int | desc | ||
) |
Get attribute type.
gs | pointer to geosurf struct |
desc | attribute id |
Definition at line 630 of file gs.c.
References g_surf::att, gsurf_att::att_src, gsurf_att::att_type, G_debug(), LEGAL_ATT, and NOTSET_ATT.
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
id | surface id |
att | attribute id (MAP_ATT) |
catstr | cat string (must be allocated, dim?) |
x,y | real coordinates |
Definition at line 1175 of file gs2.c.
References _, g_surf::att, 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(), gsurf_att::hdata, in_vregion(), MAP_ATT, NULL, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.
int Gs_get_cat_label | ( | const char * | filename, |
int | drow, | ||
int | dcol, | ||
char * | catstr | ||
) |
Get categories/labels.
Formats label as in d.what.rast -> (catval) catlabel
filename | raster map name |
drow | |
dcol | |
catstr | category string |
Definition at line 770 of file gs3.c.
Referenced by GS_get_cat_at_xy().
void* GS_Get_ClientData | ( | int | id | ) |
Get client data.
id | surface id |
Definition at line 1498 of file gs2.c.
References g_surf::clientdata, gs_get_surf(), and NULL.
int gs_get_data_avg_zmax | ( | float * | azmax | ) |
Get average z-max value.
Useful for setting position of cplane, lighting ball, etc.
[out] | azmax | average z-max value |
Definition at line 1201 of file gs.c.
Referenced by GS_get_modelposition1().
void gs_get_databounds_planes | ( | Point4 * | planes | ) |
Get data bounds for plane.
[out] | planes |
Definition at line 469 of file gs_query.c.
Referenced by gs_setlos_enterdata().
int gs_get_datacenter | ( | float * | cen | ) |
Get data center point.
[out] | center | (array X,Y,Z) |
Definition at line 1230 of file gs.c.
Referenced by GS_get_modelposition1(), and gsd_set_view().
void GS_get_dims | ( | int | id, |
int * | rows, | ||
int * | cols | ||
) |
Get dimension of surface.
id | surface id | |
[out] | rows,cols | number of rows/cols |
Definition at line 2277 of file gs2.c.
References Cell_head::cols, g_surf::cols, gs_get_surf(), Cell_head::rows, and g_surf::rows.
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.
hs | surface id | |
x1,y1,x2,y2 | two points on surface | |
[out] | dist | measured distance |
use_exag | use exag. surface |
int GS_get_drawmode | ( | int | id, |
int * | mode | ||
) |
void GS_get_drawres | ( | int | id, |
int * | xres, | ||
int * | yres, | ||
int * | xwire, | ||
int * | ywire | ||
) |
Get draw resolution of surface.
id | surface id | |
[out] | xres,yres | x/y resolution value |
[out] | xwire,ywire | x/y wire value |
Definition at line 2253 of file gs2.c.
References G_debug(), gs_get_surf(), g_surf::x_mod, g_surf::x_modw, g_surf::y_mod, and g_surf::y_modw.
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
id | surface id | |
[out] | exag | exag value |
Definition at line 2304 of file gs2.c.
References ATT_TOPO, CONST_ATT, G_debug(), gs_get_att_src(), gs_get_surf(), and g_surf::zrange_nz.
Referenced by Nviz_get_exag(), and Nviz_get_exag_height().
int GS_get_fencecolor | ( | void | ) |
int GS_get_focus | ( | float * | realto | ) |
int GS_get_fov | ( | void | ) |
void GS_get_from | ( | float * | fr | ) |
Get viewpoint 'from' position.
[out] | fr | from model coordinates |
Definition at line 2721 of file gs2.c.
References GS_v3eq().
Referenced by Nviz_get_viewpoint_position(), and Nviz_set_viewpoint_position().
void GS_get_from_real | ( | float * | fr | ) |
geosurf* gs_get_last_surface | ( | void | ) |
Get last allocated geosurf struct from list.
Definition at line 173 of file gs.c.
Referenced by gs_get_new_surface().
int GS_get_light_reset | ( | void | ) |
Definition at line 257 of file gs2.c.
Referenced by GS_new_light().
int GS_get_longdim | ( | float * | dim | ) |
Get largest dimension.
[out] | dim | dimension |
Definition at line 140 of file gs2.c.
Referenced by gp_set_defaults(), GS_draw_X(), Nviz_get_exag_height(), and Nviz_update_ranges().
int GS_get_maskmode | ( | int | id, |
int * | mode | ||
) |
void GS_get_modelposition | ( | float * | siz, |
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.
siz[out] | size |
pos[out] | coordinates (X, Y, Z) |
void GS_get_modelposition1 | ( | float * | ) |
geosurf* gs_get_new_surface | ( | void | ) |
Allocate new geosurf struct.
Definition at line 194 of file gs.c.
References G_malloc, gs_get_last_surface(), g_surf::gsurf_id, g_surf::next, and NULL.
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()
id | surface id | |
x,y | real coordinates | |
[out] | nv | surface normal |
Definition at line 1237 of file gs2.c.
References DRC2OFF, FNORM, gs_calc_normals(), gs_get_surf(), gs_point_is_masked(), gsd_real2surf(), in_vregion(), g_surf::norm_needupdate, g_surf::norms, NULL, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.
int GS_get_nozero | ( | int | id, |
int | att, | ||
int * | mode | ||
) |
geosurf* gs_get_prev_surface | ( | int | id | ) |
Get previous geosurf struct.
id | current surface id |
Definition at line 87 of file gs.c.
Referenced by gs_init_surf().
int GS_get_region | ( | float * | n, |
float * | s, | ||
float * | w, | ||
float * | e | ||
) |
Get 2D region extent.
[out] | n,s,w,e | extent values |
Definition at line 156 of file gs2.c.
Referenced by GP_draw_site().
void GS_get_rotation_matrix | ( | double * | matrix | ) |
void GS_get_scale | ( | float * | sx, |
float * | sy, | ||
float * | sz, | ||
int | doexag | ||
) |
Get axis scale.
sx,sy,sz | x/y/z scale values |
doexag | use vertical exaggeration |
Definition at line 3236 of file gs2.c.
Referenced by gsd_do_scale(), gsd_model2surf(), gsd_surf2model(), gsd_wire_arrows(), and gvd_vect().
int GS_get_SDscale | ( | float * | scale | ) |
int GS_get_SDsurf | ( | int * | id | ) |
Get ?
[out] | id | ? |
Definition at line 1077 of file gs2.c.
References gsdiff_get_SDref().
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.
sx,sy | screen coordinates | |
[out] | id | surface id |
[out] | x,y,z | point on surface (model coordinates?) |
Definition at line 3051 of file gs2.c.
References MAX_SURFS.
Referenced by GS_look_here(), and GS_set_Narrow().
geosurf* gs_get_surf | ( | int | id | ) |
Get geosurf struct.
id | surface id |
Definition at line 63 of file gs.c.
References G_debug().
Referenced by GP_draw_site(), gs_delete_surf(), GS_draw_cplane_fence(), GS_draw_fringe(), GS_draw_surf(), GS_draw_wire(), GS_draw_X(), GS_get_att(), GS_get_cat_at_xy(), GS_Get_ClientData(), GS_get_dims(), GS_get_drawres(), GS_get_exag_guess(), GS_get_norm_at_xy(), GS_get_trans(), GS_get_val_at_xy(), GS_get_wire_color(), GS_get_zextents(), GS_look_here(), GS_set_att_const(), GS_Set_ClientData(), GS_set_drawres(), GS_set_exag(), GS_set_focus_center_map(), GS_set_Narrow(), GS_set_SDsurf(), GS_set_trans(), GS_set_wire_color(), GS_surf_exists(), GS_unset_att(), GS_update_curmask(), GS_update_normals(), GV_draw_fastvect(), and GV_draw_vect().
int* GS_get_surf_list | ( | int * | numsurfs | ) |
Get surface list.
Must be freed when not needed!
[out] | numsurf | number of available surfaces |
Definition at line 1530 of file gs2.c.
Referenced by Nviz_draw_all_surf(), Nviz_get_exag(), and Nviz_get_exag_height().
void GS_get_to | ( | float * | to | ) |
void GS_get_to_real | ( | float * | to | ) |
Get 'to' real coordinates.
[out] | to | 'to' real coordinates |
Definition at line 2748 of file gs2.c.
References G_get_set_window().
void GS_get_trans | ( | int | id, |
float * | xtrans, | ||
float * | ytrans, | ||
float * | ztrans | ||
) |
Get translation values (surface position)
id | surface id | |
[out] | xtrans,ytrans,ztrans | trans values |
Definition at line 2413 of file gs2.c.
References G_debug(), gs_get_surf(), g_surf::x_trans, g_surf::y_trans, and g_surf::z_trans.
int GS_get_twist | ( | void | ) |
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
id | surface id | |
att | attribute id | |
[out] | valstr | value string (allocated, dim?) |
x,y | real coordinates |
Definition at line 1301 of file gs2.c.
References g_surf::att, ATT_COLOR, b, CONST_ATT, gsurf_att::constant, 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, MAP_ATT, NULL, r, VCOL2DCOL, VROW2DROW, X, x, X2VCOL, Y, and Y2VROW.
void GS_get_viewdir | ( | float * | dir | ) |
Get viewdir.
[out] | dir | viewdir value |
Definition at line 2804 of file gs2.c.
References GS_v3dir().
int GS_get_wire_color | ( | int | id, |
int * | colr | ||
) |
Get wire color.
id | surface id | |
[out] | colr | color value |
Definition at line 2036 of file gs2.c.
References gs_get_surf(), and g_surf::wire_color.
int gs_get_xextents | ( | geosurf * | gs, |
float * | min, | ||
float * | max | ||
) |
Get x-extent values.
gs | pointer to geosurf struct | |
[out] | min | x-min value |
[out] | max | x-max value |
Definition at line 1015 of file gs.c.
References max, min, g_surf::x_trans, g_surf::xmax, and g_surf::xmin.
int gs_get_xrange | ( | float * | min, |
float * | max | ||
) |
int gs_get_yextents | ( | geosurf * | gs, |
float * | min, | ||
float * | max | ||
) |
Get y-extent values.
gs | pointer to geosurf struct | |
[out] | min | y-min value |
[out] | max | y-max value |
Definition at line 1032 of file gs.c.
References max, min, g_surf::y_trans, g_surf::ymax, and g_surf::ymin.
int gs_get_yrange | ( | float * | min, |
float * | max | ||
) |
int gs_get_zextents | ( | geosurf * | gs, |
float * | min, | ||
float * | max, | ||
float * | mid | ||
) |
Get z-extent values.
gs | pointer to geosurf struct | |
[out] | min | z-min value |
[out] | max | z-max value |
[out] | mid | z-middle value |
Definition at line 997 of file gs.c.
References max, min, g_surf::z_trans, g_surf::zmax, and g_surf::zmin.
Referenced by GS_get_zextents().
int GS_get_zextents | ( | int | id, |
float * | min, | ||
float * | max, | ||
float * | mid | ||
) |
Get z-extent for a single surface.
id | surface id | |
[out] | min | min z-value |
[out] | max | max z-value |
[out] | mid | middle z-value |
Definition at line 2662 of file gs2.c.
References G_debug(), gs_get_surf(), gs_get_zextents(), max, min, and NULL.
int gs_get_zrange | ( | float * | min, |
float * | max | ||
) |
Get z-range.
[out] | min | z-min value |
[out] | max | z-max value |
Definition at line 1086 of file gs.c.
Referenced by GS_get_zrange(), and gvd_vect().
int GS_get_zrange | ( | float * | min, |
float * | max, | ||
int | doexag | ||
) |
Get z-extent for all loaded surfaces.
[out] | min | min z-value |
[out] | max | max z-value |
doexag | use z-exaggeration |
Definition at line 2685 of file gs2.c.
References gs_get_zrange(), gvl_get_zrange(), max, and min.
Referenced by Gs_save_3dview(), gsd_check_focus(), gsd_do_scale(), gsd_model2surf(), and gsd_surf2model().
int gs_get_zrange0 | ( | float * | min, |
float * | max | ||
) |
void GS_get_zrange_nz | ( | float * | min, |
float * | max | ||
) |
Get Z extents for all loaded surfaces.
Treating zeros as "no data"
[out] | min | min value |
[out] | max | max value |
Definition at line 2355 of file gs2.c.
Referenced by Nviz_get_exag_height(), and Nviz_update_ranges().
int gs_getall_surfaces | ( | geosurf ** | gsurfs | ) |
Get array of geosurf structs.
gsurfs | pointer to array |
Definition at line 109 of file gs.c.
Referenced by GS_draw_cplane().
void GS_getlight_ambient | ( | int | num, |
float * | red, | ||
float * | green, | ||
float * | blue | ||
) |
void GS_getlight_color | ( | int | num, |
float * | red, | ||
float * | green, | ||
float * | blue | ||
) |
void GS_getlight_position | ( | int | num, |
float * | xpos, | ||
float * | ypos, | ||
float * | zpos, | ||
int * | local | ||
) |
float GS_global_exag | ( | void | ) |
Get global z-exag value.
Definition at line 1997 of file gs2.c.
References G_debug().
Referenced by gpd_obj(), gsd_wire_arrows(), and Nviz_update_ranges().
int GS_has_transparency | ( | void | ) |
void gs_init | ( | void | ) |
int gs_init_normbuff | ( | geosurf * | gs | ) |
Init geosurf normbuff.
gs | pointer to geosurf struct |
Definition at line 308 of file gs.c.
References g_surf::cols, G_free(), G_malloc, g_surf::norm_needupdate, g_surf::norms, and g_surf::rows.
void GS_init_rotation | ( | void | ) |
int gs_init_surf | ( | geosurf * | gs, |
double | ox, | ||
double | oy, | ||
int | rows, | ||
int | cols, | ||
double | xres, | ||
double | yres | ||
) |
Initialize allocated geosurf struct.
gs | pointer to geosurf struct |
ox,oy | x/y origin coordinates |
rows | number of rows |
cols | number of cols |
xres,yres | x/y resolution value |
Definition at line 234 of file gs.c.
References g_surf::att, gsurf_att::att_src, gsurf_att::att_type, ATTY_INT, g_surf::cols, gsurf_att::constant, g_surf::curmask, gsurf_att::default_null, DM_GOURAUD, g_surf::draw_mode, FIRST_SURF_ID, G_debug(), gs_get_prev_surface(), g_surf::gsurf_id, gsurf_att::hdata, gsurf_att::lookup, g_surf::mask_needupdate, MAX_ATTS, gsurf_att::max_nz, gsurf_att::min_nz, g_surf::norm_needupdate, g_surf::norms, NOTSET_ATT, NULL, g_surf::nz_color, g_surf::nz_topo, g_surf::ox, g_surf::oy, ps, gsurf_att::range_nz, g_surf::rows, gsurf_att::user_func, g_surf::wire_color, g_surf::x_mod, g_surf::x_modw, g_surf::x_trans, g_surf::xmax, g_surf::xmin, g_surf::xrange, g_surf::xres, g_surf::y_mod, g_surf::y_modw, g_surf::y_trans, g_surf::ymax, g_surf::ymin, g_surf::yrange, g_surf::yres, g_surf::z_exag, g_surf::z_trans, g_surf::zmax, g_surf::zmax_nz, g_surf::zmin, g_surf::zmin_nz, g_surf::zminmasked, g_surf::zrange, and g_surf::zrange_nz.
void GS_init_view | ( | void | ) |
int GS_is_masked | ( | int | id, |
float * | pt | ||
) |
void GS_libinit | ( | void | ) |
int Gs_load_3dview | ( | const char * | , |
geoview * | , | ||
geodisplay * | , | ||
struct Cell_head * | , | ||
const geosurf * | |||
) |
Referenced by GS_load_3dview().
int GS_load_3dview | ( | const char * | vname, |
int | surfid | ||
) |
Load 3d view.
vname | view file name |
surfid | surface id |
Definition at line 3325 of file gs2.c.
References Gs_load_3dview().
int GS_load_att_map | ( | int | id, |
const char * | filename, | ||
int | att | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for struct BM of wind->rows & wind->cols.
This routine simply loads the map into the bitmap by repetitve calls to get_map_row. Any value other than 0 in the map will set the bitmap. (may want to change later to allow specific value to set)
Changed to use null.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
int Gs_loadmap_as_char | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
unsigned char * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols unsigned chars.
This routine simply loads the map into a 2d array by repetitve calls to get_map_row.
Since signs of chars can be tricky, we only load positive chars between 0-255.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
int Gs_loadmap_as_float | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
float * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as floating point map.
Calling function must have already allocated space in buff for wind->rows * wind->cols floats.
This routine simply loads the map into a 2d array by repetitve calls to get_f_raster_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
int Gs_loadmap_as_int | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
int * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols floats.
This routine simply loads the map into a 2d array by repetitve calls to get_f_raster_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
int Gs_loadmap_as_short | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
short * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols shorts.
This routine simply loads the map into a 2d array by repetitve calls to get_map_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
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.
sx,sy | screen coordinates |
Definition at line 3002 of file gs2.c.
References GS_distance(), GS_get_selected_point_on_surface(), gs_get_surf(), GS_set_focus(), gsd_get_los(), g_surf::ox, g_surf::oy, X, x, g_surf::x_trans, Y, g_surf::y_trans, Z, and g_surf::z_trans.
Referenced by Nviz_look_here().
int gs_los_intersect | ( | int | surfid, |
float ** | los, | ||
float * | point | ||
) |
Crude method of intersecting line of sight with closest part of surface.
This version uses the shadow of the los projected down to the surface to generate a line_on_surf, then follows each point in that line until the los intersects it.
surfid | surface id | |
los | should be in surf-world coordinates | |
[out] | point | intersect point (real) |
Definition at line 192 of file gs_query.c.
int gs_los_intersect1 | ( | int | surfid, |
float(*) | los[3], | ||
float * | point | ||
) |
Crude method of intersecting line of sight with closest part of surface.
Uses los vector to determine the point of first intersection which is returned in point. Returns 0 if los doesn't intersect.
surfid | surface id | |
los | should be in surf-world coordinates | |
[out] | point | intersect point (real) |
Definition at line 52 of file gs_query.c.
size_t gs_malloc_att_buff | ( | geosurf * | gs, |
int | desc, | ||
int | type | ||
) |
int gs_malloc_lookup | ( | geosurf * | gs, |
int | desc | ||
) |
Allocate attribute lookup.
gs | pointer to geosurf struct |
desc | attribute id |
Definition at line 746 of file gs.c.
References g_surf::att, gsurf_att::att_type, ATTY_CHAR, ATTY_SHORT, G_debug(), G_free(), G_malloc, G_warning(), gsurf_att::lookup, and NULL.
Call this one when you already know att_src is MAP_ATT.
cobuff | |
coloratt | color attribute |
offset | offset value |
Definition at line 968 of file gs.c.
References typbuff::cb, typbuff::ib, and gsurf_att::lookup.
Referenced by GS_get_val_at_xy(), gs_update_curmask(), gsd_wire_arrows(), gsd_wire_surf_const(), and gsd_wire_surf_map().
int gs_mask_defined | ( | geosurf * | gs | ) |
Check if mask is defined.
gs | pointer to geosurf struct |
Definition at line 914 of file gs.c.
References g_surf::att, ATT_MASK, gsurf_att::att_src, and NOTSET_ATT.
Referenced by gs_update_curmask().
int gs_masked | ( | typbuff * | tb, |
int | col, | ||
int | row, | ||
int | offset | ||
) |
Should only be called when setting up the current mask (gs_bm.c)
tb | pointer to typbuff |
col | number of cols |
row | number of rows |
offset | offset value |
Definition at line 932 of file gs.c.
References typbuff::bm, BM_get(), typbuff::cb, typbuff::fb, typbuff::ib, and typbuff::sb.
Referenced by gs_update_curmask().
void GS_moveto | ( | float * | pt | ) |
Move viewpoint.
pt | 'from' model coordinates |
Definition at line 2613 of file gs2.c.
References G_debug().
Referenced by GS_moveto_real(), and Nviz_set_viewpoint_position().
void GS_moveto_real | ( | float * | pt | ) |
Move position to (real)
pt | point real coordinates |
Definition at line 2643 of file gs2.c.
References GS_moveto(), and gsd_real2model().
Referenced by Gs_load_3dview().
int GS_new_light | ( | void | ) |
Add new model light.
Definition at line 268 of file gs2.c.
References GS_get_light_reset(), GS_set_light_reset(), and MAX_LIGHTS.
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.
Definition at line 223 of file gs2.c.
References G_debug().
int gs_num_datah_reused | ( | int | dh | ) |
Get number of reused values.
dh | value |
Definition at line 597 of file gs.c.
References G_debug().
Referenced by gs_set_att_src().
int gs_num_surfaces | ( | void | ) |
Get number of surfaces.
Definition at line 128 of file gs.c.
Referenced by GS_draw_cplane(), and GS_num_surfs().
int GS_num_surfs | ( | void | ) |
Get number of surfaces.
Definition at line 1515 of file gs2.c.
References gs_num_surfaces().
int Gs_numtype | ( | const char * | filename, |
int * | negflag | ||
) |
Get map data type.
filename | raster map name |
negflag |
float GS_P2distance | ( | float * | from, |
float * | to | ||
) |
Calculate distance in plane.
from | 'from' point (X,Y) |
to | 'to' point (X,Y) |
Definition at line 160 of file gs_util.c.
Referenced by gv_line_length(), and seg_intersect_vregion().
void Gs_pack_colors | ( | const char * | filename, |
int * | buff, | ||
int | rows, | ||
int | cols | ||
) |
void Gs_pack_colors_float | ( | const char * | filename, |
float * | fbuf, | ||
int * | ibuf, | ||
int | rows, | ||
int | cols | ||
) |
Pack color table (floating-point map)
Passed a array of floats that will be converted from cell values to packed colors (0xbbggrr) and float to int Floating point data not freed here, use: gsds_free_data_buff(id, ATTY_FLOAT)
filename | raster map name |
fbuf | |
ibuf | |
rows | number of rows |
cols | number of cols |
int gs_point_in_region | ( | geosurf * | gs, |
float * | pt, | ||
float * | region | ||
) |
int gs_point_is_masked | ( | geosurf * | gs, |
float * | pt | ||
) |
Check if point is masked.
gs | pointer to geosurf struct |
pt | point coordinates (X,Y,Z) |
Definition at line 1314 of file gs.c.
References BM_get(), g_surf::curmask, MASK_BL, MASK_BR, MASK_TL, MASK_TR, VCOL2DCOL, VCOL2X, VCOLS, VROW2DROW, VROW2Y, VROWS, VXRES, VYRES, X, X2VCOL, Y, and Y2VROW.
Referenced by GS_get_cat_at_xy(), GS_get_norm_at_xy(), GS_get_val_at_xy(), gvd_draw_lineonsurf(), gvd_vect(), and viewcell_tri_interp().
void gs_put_label | ( | const char * | text, |
GLuint | fontbase, | ||
int | size, | ||
unsigned long | color, | ||
int * | pt | ||
) |
Put label.
fontbase | fontbase settings |
size | font size |
color | font color |
pt |
Definition at line 41 of file gsd_label.c.
void GS_ready_draw | ( | void | ) |
Definition at line 2485 of file gs2.c.
References G_debug(), and gsd_set_view().
Referenced by gsd_bgn_legend_viewport(), Nviz_draw_all_site(), Nviz_draw_all_vect(), and Nviz_draw_all_vol().
int Gs_save_3dview | ( | const char * | , |
geoview * | , | ||
geodisplay * | , | ||
struct Cell_head * | , | ||
geosurf * | |||
) |
Referenced by GS_save_3dview().
int GS_save_3dview | ( | const char * | vname, |
int | surfid | ||
) |
Save 3d view.
vname | view file name |
surfid | surface id |
Definition at line 3312 of file gs2.c.
References Gs_save_3dview().
int gs_set_att_const | ( | geosurf * | gs, |
int | desc, | ||
float | constant | ||
) |
Set attribute constant value.
gs | pointer to geosurf struct |
desc | attribute id |
constant | constant value |
Definition at line 871 of file gs.c.
References g_surf::att, ATT_MASK, CONST_ATT, gsurf_att::constant, G_debug(), gs_set_att_src(), Gs_update_attrange(), g_surf::gsurf_id, and g_surf::mask_needupdate.
Referenced by GS_set_att_const().
int GS_set_att_const | ( | int | id, |
int | att, | ||
float | constant | ||
) |
Set attribute constant.
id | surface id |
att | attribute id |
constant | value |
Definition at line 1403 of file gs2.c.
References gs_get_surf(), gs_set_att_const(), and Gs_update_attrange().
void GS_set_att_defaults | ( | float * | defs, |
float * | null_defs | ||
) |
Set default attributes for map objects.
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(), and MAX_ATTS.
Referenced by Nviz_set_surface_attr_default().
int gs_set_att_src | ( | geosurf * | gs, |
int | desc, | ||
int | src | ||
) |
Set attribute source.
gs | pointer to geosurf struct |
desc | attribute id (descriptor) |
src | source id |
Definition at line 826 of file gs.c.
References g_surf::att, gsurf_att::att_src, ATT_TOPO, G_debug(), G_free(), gs_get_att_src(), gs_num_datah_reused(), gsds_free_datah(), g_surf::gsurf_id, gsurf_att::hdata, LEGAL_SRC, MAP_ATT, g_surf::norm_needupdate, g_surf::norms, NULL, and src.
Referenced by gs_set_att_const(), and GS_unset_att().
int gs_set_att_type | ( | geosurf * | gs, |
int | desc, | ||
int | type | ||
) |
int GS_Set_ClientData | ( | int | id, |
void * | clientd | ||
) |
Set client data.
id | surface id |
clientd | pointer to client data struct |
Definition at line 1476 of file gs2.c.
References g_surf::clientdata, and gs_get_surf().
void GS_set_cplane | ( | int | num | ) |
Set cplace.
num | cplane id |
Definition at line 3211 of file gs2.c.
References gsd_cplane_on().
void GS_set_cplane_rot | ( | int | num, |
float | dx, | ||
float | dy, | ||
float | dz | ||
) |
Set cplace rotation.
num | cplace id |
dx,dy,dz | rotation values |
Definition at line 3119 of file gs2.c.
References gsd_cplane_setrot().
void GS_set_cplane_trans | ( | int | num, |
float | dx, | ||
float | dy, | ||
float | dz | ||
) |
Set cplace trans.
num | cplace id |
dx,dy,dz | rotation values |
Definition at line 3132 of file gs2.c.
References gsd_cplane_settrans().
void GS_set_cxl_func | ( | void(*)(void) | f | ) |
void gs_set_defaults | ( | geosurf * | gs, |
float * | defs, | ||
float * | null_defs | ||
) |
Set default attribute values.
gs | pointer to geosurf struct |
defs | array of default values (dim MAX_ATTRS) |
null_defs | array of null default values (dim MAX_ATTRS) |
Definition at line 441 of file gs.c.
References g_surf::att, gsurf_att::att_src, gsurf_att::constant, gsurf_att::default_null, G_debug(), g_surf::gsurf_id, gsurf_att::hdata, gsurf_att::lookup, MAX_ATTS, NOTSET_ATT, and NULL.
void GS_set_draw | ( | int | where | ) |
Sets which buffer to draw to.
where | GSD_BOTH, GSD_FRONT, GSD_BACK |
Definition at line 2459 of file gs2.c.
Referenced by 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_north_arrow(), gsd_scalebar(), gsd_scalebar_v2(), Nviz_draw_all_site(), Nviz_draw_all_vect(), and Nviz_draw_all_vol().
int GS_set_drawmode | ( | int | id, |
int | mode | ||
) |
int GS_set_drawres | ( | int | id, |
int | xres, | ||
int | yres, | ||
int | xwire, | ||
int | ywire | ||
) |
Set draw resolution for surface.
id | surface id |
xres,yres | x/y resolution value |
xwire,ywire | x/y wire value |
Definition at line 2219 of file gs2.c.
References G_debug(), gs_get_surf(), g_surf::norm_needupdate, g_surf::x_mod, g_surf::x_modw, g_surf::y_mod, and g_surf::y_modw.
void GS_set_exag | ( | int | id, |
float | exag | ||
) |
Set Z exag for surface.
id | surface id |
exag | z-exag value |
Definition at line 1951 of file gs2.c.
References G_debug(), gs_get_surf(), g_surf::norm_needupdate, and g_surf::z_exag.
void GS_set_fencecolor | ( | int | mode | ) |
void GS_set_focus | ( | float * | realto | ) |
Set focus.
realto | real coordinates to |
Definition at line 2517 of file gs2.c.
References G_debug().
Referenced by Gs_load_3dview(), GS_look_here(), GS_set_focus_center_map(), and GVL_set_focus_center_map().
void GS_set_focus_center_map | ( | int | id | ) |
Set focus to map center.
id | surface id |
Definition at line 2578 of file gs2.c.
References G_debug(), gs_get_surf(), GS_set_focus(), X, g_surf::xmax, g_surf::xmin, Y, g_surf::ymax, g_surf::ymin, Z, g_surf::zmax_nz, and g_surf::zmin_nz.
void GS_set_focus_real | ( | float * | realto | ) |
Set real focus.
realto | real coordinates to |
Definition at line 2535 of file gs2.c.
References G_get_set_window().
void GS_set_fov | ( | int | fov | ) |
Set field of view.
fov | fov value |
Definition at line 2838 of file gs2.c.
Referenced by Gs_load_3dview(), and Nviz_set_viewpoint_persp().
void GS_set_global_exag | ( | float | exag | ) |
Set global z-exag value.
exag | exag value to be set up |
Definition at line 1975 of file gs2.c.
References G_debug().
Referenced by Gs_load_3dview().
void GS_set_infocus | ( | void | ) |
Set focus.
Make sure that the center of view is set
Definition at line 2962 of file gs2.c.
References G_debug().
Referenced by Nviz_set_focus_state().
void GS_set_light_reset | ( | int | i | ) |
Definition at line 250 of file gs2.c.
Referenced by GS_new_light().
void gs_set_maskmode | ( | int | invert | ) |
Set geosurf mask mode.
invert | invert mask |
Definition at line 899 of file gs.c.
Referenced by gs_update_curmask().
int GS_set_maskmode | ( | int | id, |
int | mode | ||
) |
void GS_set_Narrow | ( | int * | pt, |
int | id, | ||
float * | pos2 | ||
) |
Set decoration, north arrow ??
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(), g_surf::ox, g_surf::oy, X, x, g_surf::x_trans, Y, g_surf::y_trans, Z, g_surf::z_trans, and g_surf::zmax.
void GS_set_nofocus | ( | void | ) |
Unset focus.
Definition at line 2948 of file gs2.c.
References G_debug().
Referenced by Nviz_set_focus_state().
void GS_set_nozero | ( | int | id, |
int | att, | ||
int | mode | ||
) |
void GS_set_rotation | ( | double | angle, |
double | x, | ||
double | y, | ||
double | z | ||
) |
void GS_set_rotation_matrix | ( | double * | matrix | ) |
int GS_set_SDscale | ( | float | scale | ) |
int GS_set_SDsurf | ( | int | id | ) |
Set surface as Scaled Difference surface.
id | surface id |
Definition at line 1041 of file gs2.c.
References gs_get_surf(), and gsdiff_set_SDref().
void GS_set_trans | ( | int | id, |
float | xtrans, | ||
float | ytrans, | ||
float | ztrans | ||
) |
Set translation (surface position)
id | surface id |
xtrans,ytrans,ztrans | translation values |
Definition at line 2389 of file gs2.c.
References G_debug(), gs_get_surf(), g_surf::x_trans, g_surf::y_trans, and g_surf::z_trans.
void GS_set_twist | ( | int | t | ) |
Set viewpoint twist value.
10ths of degrees off twelve o'clock
t | tenths of degrees clockwise from 12:00. |
Definition at line 2872 of file gs2.c.
Referenced by Gs_load_3dview(), and Nviz_set_viewpoint_twist().
void GS_set_viewdir | ( | float * | dir | ) |
void GS_set_viewport | ( | int | left, |
int | right, | ||
int | bottom, | ||
int | top | ||
) |
Set viewport.
left,right,bottom,top | viewport extent values |
Definition at line 2976 of file gs2.c.
References Cell_head::bottom, G_debug(), gsd_viewport(), and Cell_head::top.
void GS_set_wire_color | ( | int | id, |
int | colr | ||
) |
Set wire color.
id | surface id |
colr | color value |
Definition at line 2012 of file gs2.c.
References G_debug(), gs_get_surf(), and g_surf::wire_color.
int GS_setall_drawmode | ( | int | mode | ) |
Set all draw-modes.
mode | mode id |
Definition at line 2059 of file gs2.c.
Referenced by Gs_load_3dview().
int GS_setall_drawres | ( | int | xres, |
int | yres, | ||
int | xwire, | ||
int | ywire | ||
) |
Set all draw resolutions.
xres,yres | x/y resolution value |
xwire,ywire | x/y wire value |
Definition at line 2196 of file gs2.c.
Referenced by Gs_load_3dview().
int gs_setall_norm_needupdate | ( | void | ) |
void GS_setlight_ambient | ( | int | num, |
float | red, | ||
float | green, | ||
float | blue | ||
) |
void GS_setlight_color | ( | int | num, |
float | red, | ||
float | green, | ||
float | blue | ||
) |
void GS_setlight_position | ( | int | num, |
float | xpos, | ||
float | ypos, | ||
float | zpos, | ||
int | local | ||
) |
int gs_setlos_enterdata | ( | Point3 * | los | ) |
Gets all current cutting planes & data bounding planes
Intersects los with resulting convex polyhedron, then replaces los[FROM] with first point on ray inside data.
[out] | los |
Definition at line 529 of file gs_query.c.
References FROM, FRONTFACE, GS_distance(), gs_get_databounds_planes(), GS_v3add(), GS_v3dir(), GS_v3mult(), gsd_get_cplanes(), MISSED, RayCvxPolyhedronInt(), and TO.
int GS_surf_exists | ( | int | id | ) |
Check if surface exists
id | surface id |
Definition at line 194 of file gs2.c.
References G_debug(), gs_get_surf(), and NULL.
Referenced by GP_select_surf(), GS_delete_surface(), and GV_select_surf().
void GS_switchlight | ( | int | num, |
int | on | ||
) |
int GS_transp_is_set | ( | void | ) |
Check if transparency is set.
Definition at line 489 of file gs2.c.
References ATT_TRANSP, FC_GREY, gs_att_is_set(), gsd_getfc(), and NULL.
int GS_unset_att | ( | int | id, |
int | att | ||
) |
Unset attribute.
id | surface id |
att | attribute id |
Definition at line 1384 of file gs2.c.
References gs_get_surf(), gs_set_att_src(), g_surf::mask_needupdate, and NOTSET_ATT.
void GS_unset_cplane | ( | int | num | ) |
Unset clip place (turn off)
num | cplane id |
Definition at line 3223 of file gs2.c.
References gsd_cplane_off().
void GS_unset_rotation | ( | void | ) |
void GS_unset_SDsurf | ( | void | ) |
Unset Scaled Difference surface.
Definition at line 1025 of file gs2.c.
References gsdiff_set_SDref(), and NULL.
int Gs_update_attrange | ( | geosurf * | gs, |
int | desc | ||
) |
Update no_zero ranges for attribute (actually no_null now)
gs | pointer to geosurf struct |
desc | attribute id (descriptor) |
Definition at line 1078 of file gs3.c.
References g_surf::att, ATT_TOPO, typbuff::cb, CF_COLOR_PACKED, g_surf::cols, CONST_ATT, gsurf_att::constant, typbuff::fb, G_debug(), gs_get_att_src(), gsds_get_changed(), gsds_get_typbuff(), gsurf_att::hdata, typbuff::ib, INIT_MINMAX, max, gsurf_att::max_nz, min, gsurf_att::min_nz, typbuff::nm, NULL, gsurf_att::range_nz, g_surf::rows, typbuff::sb, SET_MINMAX, g_surf::zmax, g_surf::zmax_nz, g_surf::zmin, g_surf::zmin_nz, g_surf::zminmasked, g_surf::zrange, and g_surf::zrange_nz.
Referenced by gs_set_att_const(), and GS_set_att_const().
int gs_update_curmask | ( | geosurf * | surf | ) |
Update current maps.
surf | surface (geosurf) |
Definition at line 231 of file gs_bm.c.
References g_surf::att, ATT_COLOR, ATT_MASK, gsurf_att::att_src, ATT_TOPO, typbuff::bm, BM_create(), BM_destroy(), BM_set(), g_surf::cols, gsurf_att::constant, g_surf::curmask, G_debug(), gs_get_att_typbuff(), gs_mapcolor(), gs_mask_defined(), gs_masked(), gs_set_maskmode(), gsbm_make_mask(), gsbm_or_masks(), gsbm_ornot_masks(), gsbm_zero_mask(), g_surf::gsurf_id, MAP_ATT, g_surf::mask_needupdate, typbuff::nm, g_surf::norm_needupdate, NULL, NULL_COLOR, g_surf::nz_color, g_surf::nz_topo, g_surf::rows, g_surf::zmin, and g_surf::zminmasked.
Referenced by gs_calc_normals(), GS_update_curmask(), gsd_wire_arrows(), gsd_wire_surf_const(), gsd_wire_surf_map(), and gvd_vect().
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
id | surface id |
Definition at line 989 of file gs2.c.
References gs_get_surf(), and gs_update_curmask().
int GS_update_normals | ( | int | id | ) |
Update normals.
id | surface id |
Definition at line 1111 of file gs2.c.
References gs_calc_normals(), and gs_get_surf().
void GS_v2dir | ( | float * | v1, |
float * | v2, | ||
float * | v3 | ||
) |
int GS_v2norm | ( | float * | v1 | ) |
void GS_v3add | ( | float * | v1, |
float * | v2 | ||
) |
void GS_v3cross | ( | float * | v1, |
float * | v2, | ||
float * | v3 | ||
) |
int GS_v3dir | ( | float * | v1, |
float * | v2, | ||
float * | v3 | ||
) |
Get a normalized direction from v1 to v2, store in v3.
v1 | first vector | |
v2 | second vector | |
[out] | v3 | output vector |
Definition at line 351 of file gs_util.c.
Referenced by GS_get_viewdir(), gs_setlos_enterdata(), and gsd_get_zup().
void GS_v3eq | ( | float * | v1, |
float * | v2 | ||
) |
Copy vector values.
v1 = v2
[out] | v1 | first vector |
v2 | second vector |
Definition at line 178 of file gs_util.c.
Referenced by gpd_obj(), GS_get_from(), GS_get_from_real(), GS_get_to(), Gs_save_3dview(), gsd_check_focus(), gsd_zup_twist(), and gsdrape_get_allsegments().
void GS_v3mag | ( | float * | v1, |
float * | mag | ||
) |
void GS_v3mult | ( | float * | v1, |
float | k | ||
) |
Multiple vectors.
v1 *= k
[in,out] | v1 | vector |
k | multiplicator |
Definition at line 229 of file gs_util.c.
Referenced by Gs_save_3dview(), gs_setlos_enterdata(), and gsd_check_focus().
int GS_v3norm | ( | float * | v1 | ) |
int GS_v3normalize | ( | float * | v1, |
float * | v2 | ||
) |
void GS_v3sub | ( | float * | v1, |
float * | v2 | ||
) |
int GS_write_ppm | ( | const char * | name | ) |
Save current GL screen to ppm file.
name | file name |
Definition at line 41 of file gsd_img_ppm.c.
References _, b, g, G_free(), G_warning(), gsd_getimage(), name, NULL, r, and x.
int GS_write_tif | ( | const char * | name | ) |
Write data to tif file.
name | filename |
Definition at line 53 of file gsd_img_tif.c.
References _, config, G_free(), G_malloc, G_warning(), gsd_getimage(), name, NULL, rowsperstrip, and x.
int GS_write_zoom | ( | const char * | name, |
unsigned int | xsize, | ||
unsigned int | ysize | ||
) |
Write zoom to file.
name | file name |
xsize,ysize |
Definition at line 87 of file gsd_img_ppm.c.
References _, b, free(), g, G_warning(), gsd_writeView(), name, NULL, r, and x.
void GS_zoom_setup | ( | int * | a, |
int * | b, | ||
int * | c, | ||
int * | d, | ||
int * | maxx, | ||
int * | maxy | ||
) |
Do combining of bitmaps, make bitmaps from other data w/maskval.
frombuff | data buffer |
maskval | mask type |
rows | number of rows |
cols | number of cols |
Definition at line 35 of file gs_bm.c.
References typbuff::bm, BM_create(), BM_get(), BM_set(), BM::cols, GET_MAPATT, and BM::rows.
Referenced by gs_update_curmask().
Mask bitmap (mask type OR)
Must be same size, ORs bitmaps & stores in bmvar
Definition at line 167 of file gs_bm.c.
Referenced by gs_update_curmask().
Mask bitmap (mask type ORNOT)
Must be same size, ORNOTs bitmaps & stores in bmvar
Definition at line 184 of file gs_bm.c.
Referenced by gs_update_curmask().
void gsbm_zero_mask | ( | struct BM * | map | ) |
void gsd_3darrow | ( | float * | center, |
unsigned long | colr, | ||
float | siz1, | ||
float | siz2, | ||
float * | dir, | ||
float | sz | ||
) |
Draw 3d north arrow.
center | center point |
colr | color value |
siz1 | height |
siz2 | is diameter |
dir | |
sz |
Definition at line 1057 of file gsd_objs.c.
void gsd_3dcursor | ( | float * | pt | ) |
Draw 3d cursor.
pt | point |
Definition at line 688 of file gsd_objs.c.
References gsd_bgnline(), gsd_endline(), gsd_vert_func(), X, Y, and Z.
int gsd_arrow | ( | float * | center, |
unsigned long | colr, | ||
float | siz, | ||
float * | dir, | ||
float | sz, | ||
geosurf * | onsurf | ||
) |
ADD.
siz is height, sz is global exag to correct for.
If onsurf in non-null, z component of dir is dropped and line-on-suf is used, resulting in length of arrow being proportional to slope
center | center point |
colr | color value |
siz | size value |
dir | |
sz | |
onsurf | surface (geosurf) |
Definition at line 898 of file gsd_objs.c.
Referenced by gsd_wire_arrows().
int gsd_arrow_onsurf | ( | float * | base, |
float * | tip, | ||
unsigned long | colr, | ||
int | wid, | ||
geosurf * | gs | ||
) |
Draw north arrow on surface.
base | |
tip | |
colr | |
wid | |
gs | surface (geosurf) |
Definition at line 970 of file gsd_objs.c.
void gsd_backbuffer | ( | void | ) |
Draw to the back buffer.
Definition at line 470 of file gsd_prim.c.
void gsd_backface | ( | int | n | ) |
void gsd_bgn_legend_viewport | ( | GLint | wl, |
GLint | wb, | ||
GLint | wr, | ||
GLint | wt | ||
) |
ADD.
wl | |
wb | |
wr | |
wt |
Definition at line 61 of file gsd_legend.c.
References CM_COLOR, GS_ready_draw(), GS_set_draw(), gsd_colormode(), GSD_FRONT, gsd_linewidth(), gsd_popmatrix(), and gsd_pushmatrix().
void gsd_bgnline | ( | void | ) |
Begin line.
Definition at line 397 of file gsd_prim.c.
Referenced by gsd_3dcursor(), gsd_diamond_lines(), gsd_draw_box(), gsd_draw_gyro(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_vert_line(), gsd_line_onsurf(), gsd_nline_onsurf(), gsd_plus(), gsd_scalebar_v2(), gsd_wire_surf_const(), gsd_wire_surf_map(), gsd_x(), gvd_draw_lineonsurf(), gvd_vect(), and gvld_wind3_box().
void gsd_bgnlist | ( | int | listno, |
int | do_draw | ||
) |
void gsd_bgnpolygon | ( | void | ) |
Delimit the vertices of a primitive or a group of like primitives.
Definition at line 372 of file gsd_prim.c.
Referenced by gsd_box(), gsd_cube(), gsd_diamond(), gsd_north_arrow(), and gsd_scalebar().
void gsd_bgnqstrip | ( | void | ) |
ADD.
Definition at line 277 of file gsd_prim.c.
Referenced by gsd_fringe_horiz_poly(), and gsd_fringe_vert_poly().
void gsd_bgntfan | ( | void | ) |
ADD.
Definition at line 337 of file gsd_prim.c.
void gsd_bgntmesh | ( | void | ) |
void gsd_bgntstrip | ( | void | ) |
ADD.
Definition at line 317 of file gsd_prim.c.
void gsd_blend | ( | int | yesno | ) |
void gsd_bothbuffers | ( | void | ) |
Draw to the front and back buffers.
Definition at line 446 of file gsd_prim.c.
void gsd_box | ( | float * | center, |
int | colr, | ||
float * | siz | ||
) |
Draw box.
Warning siz is an array (we need it for scale only Z in histograms)
center | center point |
colr | color value |
siz | size value |
Definition at line 1411 of file gsd_objs.c.
References Box, BoxN, gsd_bgnpolygon(), gsd_endpolygon(), gsd_getshademodel(), gsd_litvert_func(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_shademodel(), gsd_translate(), X, Y, and Z.
Referenced by gpd_obj().
void gsd_call_label | ( | void | ) |
Call display list and draw defined labels – called from gsd_prim (gsd_call_lists)
Definition at line 119 of file gsd_label.c.
References label_base, and MAX_LIST.
void gsd_calllist | ( | int | listno | ) |
void gsd_calllists | ( | int | ) |
Referenced by GS_draw_all_list().
void gsd_check_focus | ( | geoview * | gv | ) |
Check focus.
gv | view (geoview) |
Definition at line 216 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().
int gsd_checkpoint | ( | float | pt[4], |
int | window[4], | ||
int | viewport[4], | ||
double | modelMatrix[16], | ||
double | projMatrix[16] | ||
) |
ADD.
pt | |
widnow | |
viewport | |
doubleMatrix | |
projMatrix |
Definition at line 585 of file gsd_prim.c.
void gsd_checkwindow | ( | int * | , |
int * | , | ||
double * | , | ||
double * | |||
) |
void gsd_circ | ( | float | x, |
float | y, | ||
float | rad | ||
) |
ADD.
x,y | |
rad |
Definition at line 167 of file gsd_prim.c.
References x.
Referenced by gsd_draw_gyro().
int gsd_coarse_surf_map | ( | geosurf * | surf | ) |
Draw coarse surface.
New (TEST) wire routine that draws low res surface Based on new Trinagle Fan routine Resolution is a function of current surface resolution times wire resolution
In window optimization has been removed
surf | surface (geosurf) |
Definition at line 572 of file gsd_wire.c.
Referenced by gsd_wire_surf().
void gsd_color_func | ( | unsigned int | col | ) |
Set current color.
col | color value |
Definition at line 698 of file gsd_prim.c.
Referenced by gpd_obj(), gsd_display_fringe(), gsd_draw_asterisk(), gsd_draw_box(), gsd_draw_gyro(), gsd_drawsphere(), gsd_north_arrow(), gsd_plus(), gsd_scalebar(), gsd_scalebar_v2(), gsd_wire_surf_const(), gsd_wire_surf_map(), gsd_x(), gvd_draw_lineonsurf(), gvd_vect(), and gvld_wind3_box().
void gsd_colormode | ( | int | cm | ) |
Set color mode.
Call glColorMaterial before enabling the GL_COLOR_MATERIAL
cm | color mode value |
Definition at line 98 of file gsd_prim.c.
References CM_AD, CM_COLOR, CM_DIFFUSE, CM_EMISSION, and CM_NULL.
Referenced by gpd_obj(), gsd_bgn_legend_viewport(), gsd_display_fringe(), gsd_wire_arrows(), gsd_wire_surf_const(), gsd_wire_surf_map(), gvd_vect(), and gvld_wind3_box().
void gsd_cplane_off | ( | int | num | ) |
Turn off clip plane.
num | cplane id |
Definition at line 126 of file gsd_cplane.c.
References gsd_set_clipplane().
Referenced by GS_draw_lighting_model(), and GS_unset_cplane().
void gsd_cplane_on | ( | int | num | ) |
void gsd_cplane_setrot | ( | int | num, |
float | rx, | ||
float | ry, | ||
float | rz | ||
) |
ADD.
num | |
rx,ry,rz |
Definition at line 211 of file gsd_cplane.c.
Referenced by GS_set_cplane_rot().
void gsd_cplane_settrans | ( | int | num, |
float | tx, | ||
float | ty, | ||
float | tz | ||
) |
ADD.
num | |
tx,ty,tz |
Definition at line 229 of file gsd_cplane.c.
Referenced by GS_set_cplane_trans().
void gsd_cube | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw cube.
Added by Hamish Bowman Nov 2005
center | center point |
colr | color value |
siz | size value |
Definition at line 407 of file gsd_objs.c.
References CubeNormals, CubeVertices, gsd_bgnpolygon(), gsd_endpolygon(), gsd_getshademodel(), gsd_litvert_func(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_shademodel(), gsd_translate(), X, Y, and Z.
Referenced by gpd_obj().
void gsd_def_clipplane | ( | int | num, |
double * | params | ||
) |
void gsd_def_cplane | ( | int | num, |
float * | pt, | ||
float * | norm | ||
) |
void gsd_deflight | ( | int | num, |
struct lightdefs * | vals | ||
) |
Define light.
num | light id (starts with 1) |
vals | position(x,y,z,w), color, ambientm, emission |
Definition at line 836 of file gsd_prim.c.
References MAX_LIGHTS.
void gsd_deletelist | ( | GLuint | , |
int | |||
) |
Referenced by GS_delete_list().
void gsd_diamond | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw diamond symbol.
center | center point |
colr | color value |
size | size value |
Definition at line 305 of file gsd_objs.c.
References gsd_bgnpolygon(), gsd_bgntmesh(), gsd_endpolygon(), gsd_endtmesh(), gsd_getshademodel(), gsd_litvert_func(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_shademodel(), gsd_swaptmesh(), gsd_translate(), Octo, OctoN, X, Y, and Z.
Referenced by gpd_obj().
void gsd_diamond_lines | ( | void | ) |
Draw diamond lines.
Definition at line 554 of file gsd_objs.c.
References gsd_bgnline(), gsd_endline(), gsd_vert_func(), and Octo.
Referenced by gsd_draw_asterisk().
void gsd_disc | ( | float | x, |
float | y, | ||
float | z, | ||
float | rad | ||
) |
void gsd_display_fringe | ( | geosurf * | surf, |
unsigned long | clr, | ||
float | elev, | ||
int | where[4] | ||
) |
Display fridge.
surf | surface (geosurf) |
clr | |
elev | |
where |
Definition at line 51 of file gsd_fringe.c.
References CM_COLOR, FRINGE_FORE, FRINGE_WIDTH, gsd_color_func(), gsd_colormode(), gsd_fringe_horiz_line(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_linewidth(), gsd_zwritemask(), Neast, Nnorth, Nsouth, Nwest, VCOLS, VROWS, g_surf::z_exag, and g_surf::zrange.
Referenced by GS_draw_fringe().
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(), gvd_vect(), and gvld_wind3_box().
void gsd_draw_asterisk | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw asterisk.
center | center point |
colr | color value |
siz | size value |
Definition at line 581 of file gsd_objs.c.
References gsd_color_func(), gsd_diamond_lines(), gsd_popmatrix(), gsd_pushmatrix(), gsd_rot(), gsd_scale(), gsd_translate(), X, Y, and Z.
Referenced by gpd_obj().
void gsd_draw_box | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw box.
Added by Hamish Bowman Nov 2005
center | center point |
colr | color value |
siz | size value |
Definition at line 483 of file gsd_objs.c.
References CubeVertices, gsd_bgnline(), gsd_color_func(), gsd_endline(), gsd_popmatrix(), gsd_pushmatrix(), gsd_scale(), gsd_translate(), gsd_vert_func(), X, Y, and Z.
Referenced by gpd_obj().
void gsd_draw_cplane | ( | int | num | ) |
Draw cplane.
num |
Definition at line 296 of file gsd_cplane.c.
References MAX_CPLANES.
Referenced by GS_draw_cplane().
Referenced by GS_draw_cplane(), and GS_draw_cplane_fence().
void gsd_draw_gyro | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw gyro.
center | center point |
colr | color value |
siz | size value |
Definition at line 636 of file gsd_objs.c.
References gsd_bgnline(), gsd_circ(), gsd_color_func(), gsd_endline(), gsd_popmatrix(), gsd_pushmatrix(), gsd_rot(), gsd_scale(), gsd_translate(), gsd_vert_func(), Octo, X, Y, and Z.
Referenced by gpd_obj().
void gsd_drawsphere | ( | float * | center, |
unsigned long | colr, | ||
float | siz | ||
) |
Draw sphere.
center | center point |
colr | color value |
size | size value |
Definition at line 542 of file gsd_objs.c.
References gsd_color_func(), and gsd_sphere().
void gsd_end_legend_viewport | ( | void | ) |
ADD.
Definition at line 91 of file gsd_legend.c.
References GS_done_draw(), GS_set_draw(), GSD_BACK, and gsd_popmatrix().
void gsd_endline | ( | void | ) |
End line.
Definition at line 407 of file gsd_prim.c.
Referenced by gsd_3dcursor(), gsd_diamond_lines(), gsd_draw_box(), gsd_draw_gyro(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_vert_line(), gsd_line_onsurf(), gsd_nline_onsurf(), gsd_plus(), gsd_scalebar_v2(), gsd_wire_surf_const(), gsd_wire_surf_map(), gsd_x(), gvd_draw_lineonsurf(), gvd_vect(), and gvld_wind3_box().
void gsd_endlist | ( | void | ) |
End list.
Definition at line 1140 of file gsd_prim.c.
void gsd_endpolygon | ( | void | ) |
Delimit the vertices of a primitive or a group of like primitives.
Definition at line 387 of file gsd_prim.c.
Referenced by gsd_box(), gsd_cube(), gsd_diamond(), gsd_north_arrow(), and gsd_scalebar().
void gsd_endqstrip | ( | void | ) |
ADD.
Definition at line 287 of file gsd_prim.c.
Referenced by gsd_fringe_horiz_poly(), and gsd_fringe_vert_poly().
void gsd_endtfan | ( | void | ) |
ADD.
Definition at line 347 of file gsd_prim.c.
void gsd_endtmesh | ( | void | ) |
void gsd_endtstrip | ( | void | ) |
ADD.
Definition at line 327 of file gsd_prim.c.
void gsd_finish | ( | void | ) |
Finish.
Does nothing, only called from src.contrib/GMSL/NVIZ2.2/src/glwrappers.c
Definition at line 1059 of file gsd_prim.c.
void gsd_flush | ( | void | ) |
Mostly for flushing drawing commands across a network.
glFlush doesn't block, so if blocking is desired use glFinish.
Definition at line 84 of file gsd_prim.c.
Referenced by 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(), and gsd_scalebar_v2().
void gsd_fringe_horiz_line | ( | float | bot, |
geosurf * | surf, | ||
int | row, | ||
int | side | ||
) |
Draw fringe outline in x direction.
bot | coordinate of fringe bottom |
surf | surface (geosurf) |
row | row along which is fringe drawn |
side |
Definition at line 227 of file gsd_fringe.c.
References ATT_TOPO, g_surf::cols, GET_MAPATT, GS_done_draw(), gs_get_att_typbuff(), GS_set_draw(), gsd_bgnline(), gsd_do_scale(), gsd_endline(), gsd_flush(), GSD_FRONT, gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), g_surf::rows, VCOLS, X, g_surf::x_mod, g_surf::x_trans, g_surf::xres, Y, g_surf::y_mod, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_display_fringe().
void gsd_fringe_horiz_poly | ( | float | bot, |
geosurf * | surf, | ||
int | row, | ||
int | side | ||
) |
Draw fringe polygon in x direction.
bot | coordinate of fringe bottom |
surf | surface (geosurf) |
row | row along which is fringe drawn |
side |
Definition at line 141 of file gsd_fringe.c.
References ATT_TOPO, g_surf::cols, GET_MAPATT, GS_done_draw(), gs_get_att_typbuff(), GS_set_draw(), gsd_bgnqstrip(), gsd_do_scale(), gsd_endqstrip(), gsd_flush(), GSD_FRONT, gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), g_surf::rows, VCOLS, X, g_surf::x_mod, g_surf::x_trans, g_surf::xres, Y, g_surf::y_mod, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_display_fringe().
void gsd_fringe_vert_line | ( | float | bot, |
geosurf * | surf, | ||
int | col, | ||
int | side | ||
) |
Draw fringe outline in y direction.
bot | coordinate of fringe bottom |
surf | surface (geosurf) |
col | column along which is fringe drawn |
side |
Definition at line 407 of file gsd_fringe.c.
References ATT_TOPO, g_surf::cols, GET_MAPATT, GS_done_draw(), gs_get_att_typbuff(), GS_set_draw(), gsd_bgnline(), gsd_do_scale(), gsd_endline(), gsd_flush(), GSD_FRONT, gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), g_surf::rows, VROWS, X, g_surf::x_mod, g_surf::x_trans, g_surf::xres, Y, g_surf::y_mod, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_display_fringe().
void gsd_fringe_vert_poly | ( | float | bot, |
geosurf * | surf, | ||
int | col, | ||
int | side | ||
) |
Draw fringe outline in y direction.
bot | coordinate of fringe bottom |
surf | surface (geosurf) |
col | column along which is fringe drawn |
side |
Definition at line 322 of file gsd_fringe.c.
References ATT_TOPO, g_surf::cols, GET_MAPATT, GS_done_draw(), gs_get_att_typbuff(), GS_set_draw(), gsd_bgnqstrip(), gsd_do_scale(), gsd_endqstrip(), gsd_flush(), GSD_FRONT, gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), g_surf::rows, VROWS, X, g_surf::x_mod, g_surf::x_trans, g_surf::xres, Y, g_surf::y_mod, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_display_fringe().
void gsd_frontbuffer | ( | void | ) |
Draw to the front buffer.
Definition at line 458 of file gsd_prim.c.
int gsd_get_cplanes | ( | Point4 * | planes | ) |
Get cplaces.
Planes MUST be big enough to hold MAX_CPLANES Point4s
places | surface coordinates, normal pointing away from visible side |
Definition at line 162 of file gsd_cplane.c.
References MAX_CPLANES.
Referenced by gs_setlos_enterdata().
void gsd_get_cplanes_state | ( | int * | onstate | ) |
Get cplane state.
onstate MUST be big enough to hold MAX_CPLANES ints
onstate |
Definition at line 142 of file gsd_cplane.c.
References MAX_CPLANES.
Referenced by GS_alldraw_cplane_fences(), and GS_draw_lighting_model().
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().
int gsd_get_txtheight | ( | int | size | ) |
Get text height.
size | size |
Definition at line 53 of file gsd_fonts.c.
Referenced by gsd_north_arrow(), and gsd_scalebar().
int gsd_get_txtwidth | ( | const char * | s, |
int | size | ||
) |
Get text width.
s | text string |
size | size |
Definition at line 36 of file gsd_fonts.c.
Referenced by gsd_north_arrow(), and gsd_scalebar().
void gsd_get_zup | ( | geoview * | gv, |
double * | up | ||
) |
Get z-up vector (z-direction)
gv | view (geoview) |
up | up vector |
Definition at line 240 of file gsd_views.c.
References FROM, geoview::from_to, GS_v3dir(), TO, X, Y, and Z.
Referenced by gsd_set_view().
int gsd_getfc | ( | void | ) |
ADD.
Definition at line 1217 of file gsd_surf.c.
Referenced by GS_get_fencecolor(), and GS_transp_is_set().
int gsd_getimage | ( | unsigned char ** | pixbuf, |
unsigned int * | xsize, | ||
unsigned int * | ysize | ||
) |
Get image of current GL screen.
pixbuf | data buffer | |
[out] | xsize,ysize | picture dimension |
Definition at line 902 of file gsd_prim.c.
Referenced by GS_write_ppm(), and GS_write_tif().
int gsd_getshademodel | ( | void | ) |
Get shaded model.
Definition at line 438 of file gsd_prim.c.
Referenced by gsd_box(), gsd_cube(), and gsd_diamond().
void gsd_getwindow | ( | int * | window, |
int * | viewport, | ||
double * | modelMatrix, | ||
double * | projMatrix | ||
) |
Get viewport.
[out] | window | |
viewport | ||
modelMatrix | model matrix | |
projMatrix | projection matrix |
Definition at line 554 of file gsd_prim.c.
void gsd_init_lightmodel | ( | void | ) |
Initialize model light.
Definition at line 719 of file gsd_prim.c.
void gsd_line_onsurf | ( | geosurf * | gs, |
float * | v1, | ||
float * | v2 | ||
) |
Line on surface, fix z-values.
gs | surface (geosurf) |
v1 | first point |
v2 | second point |
Definition at line 167 of file gsd_objs.c.
References FUDGE, gsd_bgnline(), gsd_endline(), gsd_vert_func(), gsdrape_get_segments(), and Z.
Referenced by gsd_x().
void gsd_linewidth | ( | short | n | ) |
Set width of rasterized lines.
n | line width |
Definition at line 267 of file gsd_prim.c.
Referenced by GS_draw_X(), gsd_bgn_legend_viewport(), gsd_display_fringe(), gsd_scalebar_v2(), gvd_vect(), and gvld_wind3_box().
void gsd_litvert_func | ( | float * | norm, |
unsigned long | col, | ||
float * | pt | ||
) |
Set the current normal vector & specify vertex.
norm | normal vector |
col | color value |
pt | point (model coordinates) |
Definition at line 657 of file gsd_prim.c.
Referenced by gsd_box(), gsd_cube(), and gsd_diamond().
void gsd_litvert_func2 | ( | float * | , |
unsigned long | , | ||
float * | |||
) |
int gsd_make_nice_number | ( | float * | num | ) |
ADD.
num |
Definition at line 153 of file gsd_legend.c.
Referenced by gsd_get_nice_range().
int gsd_makelist | ( | void | ) |
ADD.
First time called, gets a bunch of objects, then hands them back when needed
Definition at line 1094 of file gsd_prim.c.
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_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.
int gsd_nline_onsurf | ( | geosurf * | gs, |
float * | v1, | ||
float * | v2, | ||
float * | pt, | ||
int | n | ||
) |
Multiline on surface, fix z-values.
Like above, except only draws first n points of line, or np, whichever is less. Returns number of points used. Fills pt with last pt drawn.
gs | surface (geosurf) |
v1 | first point |
v2 | second point |
pt | |
n | number of segments |
number | of vertices |
Definition at line 213 of file gsd_objs.c.
References FUDGE, gsd_bgnline(), gsd_endline(), gsd_vert_func(), gsdrape_get_segments(), X, Y, and Z.
int gsd_norm_arrows | ( | geosurf * | surf | ) |
ADD.
Need to do Zexag scale of normal for arrow direction, drawing routine unexags z for arrow
surf | surface (geosurf) |
Definition at line 1805 of file gsd_surf.c.
Referenced by gsd_surf().
int gsd_north_arrow | ( | float * | pos2, |
float | len, | ||
GLuint | fontbase, | ||
unsigned long | arw_clr, | ||
unsigned long | text_clr | ||
) |
Draw North Arrow takes OpenGL coords and size.
pos2 | |
len | |
fontbase | |
arw_clr | north arrow color |
text_clr | text color |
Definition at line 803 of file gsd_objs.c.
References GS_done_draw(), GS_set_draw(), gsd_bgnpolygon(), gsd_color_func(), gsd_do_scale(), gsd_endpolygon(), gsd_flush(), GSD_FRONT, gsd_get_txtheight(), gsd_get_txtwidth(), gsd_popmatrix(), gsd_pushmatrix(), Ntop, X, Y, and Z.
void gsd_plus | ( | float * | center, |
int | colr, | ||
float | siz | ||
) |
ADD.
center | center point |
colr | color value |
siz | size value |
Definition at line 130 of file gsd_objs.c.
References gsd_bgnline(), gsd_color_func(), gsd_endline(), gsd_vert_func(), X, Y, and Z.
void gsd_popmatrix | ( | void | ) |
Pop the current matrix stack.
Definition at line 501 of file gsd_prim.c.
Referenced by gpd_obj(), gsd_bgn_legend_viewport(), gsd_box(), gsd_cube(), gsd_diamond(), gsd_draw_asterisk(), gsd_draw_box(), gsd_draw_gyro(), 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(), gsd_wire_arrows(), gsd_wire_surf_const(), gsd_wire_surf_map(), gvd_vect(), and gvld_wind3_box().
void gsd_pushmatrix | ( | void | ) |
Push the current matrix stack.
Definition at line 511 of file gsd_prim.c.
Referenced by gpd_obj(), GS_draw_X(), GS_set_Narrow(), gsd_bgn_legend_viewport(), gsd_box(), gsd_calllists(), gsd_cube(), gsd_diamond(), gsd_draw_asterisk(), gsd_draw_box(), gsd_draw_gyro(), 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(), gvd_vect(), and gvld_wind3_box().
GLuint gsd_put_legend | ( | const char * | name, |
GLuint | fontbase, | ||
int | size, | ||
int * | flags, | ||
float * | rangef, | ||
int * | pt | ||
) |
Put legend.
name | |
fontbase | font-base |
size | |
flags | |
rangef | |
pt |
???
Definition at line 201 of file gsd_legend.c.
References st.
Referenced by GS_draw_legend().
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 481 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_remove_all | ( | void | ) |
Remove all labels from display list.
Definition at line 107 of file gsd_label.c.
References label_base, label_id, and MAX_LIST.
void gsd_remove_curr | ( | void | ) |
void gsd_rot | ( | float | angle, |
char | axis | ||
) |
ADD.
angle | |
axis |
Definition at line 605 of file gsd_prim.c.
References _, G_warning(), and x.
Referenced by gsd_draw_asterisk(), and gsd_draw_gyro().
void gsd_scale | ( | float | xs, |
float | ys, | ||
float | zs | ||
) |
Multiply the current matrix by a general scaling matrix.
xs | x scale value |
ys | y scale value |
zs | z scale value |
Definition at line 525 of file gsd_prim.c.
Referenced by gpd_obj(), gsd_box(), gsd_cube(), gsd_diamond(), gsd_do_scale(), gsd_draw_asterisk(), gsd_draw_box(), and gsd_draw_gyro().
int gsd_scalebar | ( | float * | pos2, |
float | len, | ||
GLuint | fontbase, | ||
unsigned long | bar_clr, | ||
unsigned long | text_clr | ||
) |
Draw Scalebar takes OpenGL coords and size.
Adapted from gsd_north_arrow Hamish Bowman Dec 2006
pos2 | |
fontbase | font-base |
bar_clr | barscale color |
text_clr | text color |
Definition at line 1136 of file gsd_objs.c.
References G_database_unit_name(), GS_done_draw(), GS_set_draw(), gsd_bgnpolygon(), gsd_color_func(), gsd_do_scale(), gsd_endpolygon(), gsd_flush(), GSD_FRONT, gsd_get_txtheight(), gsd_get_txtwidth(), gsd_popmatrix(), gsd_pushmatrix(), Ntop, TRUE, X, Y, and Z.
int gsd_scalebar_v2 | ( | float * | , |
float | , | ||
GLuint | , | ||
unsigned long | , | ||
unsigned long | |||
) |
void gsd_set_clipplane | ( | int | num, |
int | able | ||
) |
Set clip plane.
num | |
able |
Definition at line 1041 of file gsd_prim.c.
Referenced by gsd_cplane_off().
GLuint gsd_set_font | ( | const char * | ) |
void gsd_set_material | ( | int | set_shin, |
int | set_emis, | ||
float | sh, | ||
float | em, | ||
int | emcolor | ||
) |
Set material.
set_shin,set_emis | flags |
sh,em | should be 0. - 1. |
emcolor | packed colors to use for emission |
Definition at line 803 of file gsd_prim.c.
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().
void gsd_setfc | ( | int | mode | ) |
void gsd_shademodel | ( | int | shade | ) |
Set shaded model.
shade | non-zero for GL_SMOOTH otherwise GL_FLAT |
Definition at line 419 of file gsd_prim.c.
Referenced by GS_draw_surf(), gsd_box(), gsd_cube(), gsd_diamond(), and gvld_wind3_box().
void gsd_sphere | ( | float * | center, |
float | siz | ||
) |
ADD.
center | center-point |
siz | size value |
Definition at line 207 of file gsd_prim.c.
Referenced by gpd_obj(), and gsd_drawsphere().
int gsd_surf | ( | geosurf * | surf | ) |
ADD.
surf | surface (geosurf) |
Definition at line 80 of file gsd_surf.c.
References g_surf::att, ATT_TOPO, CONST_ATT, gsurf_att::constant, FUNC_ATT, G_debug(), gs_calc_normals(), gs_get_att_src(), gsd_norm_arrows(), gsd_surf_const(), gsd_surf_func(), gsd_surf_map(), g_surf::gsurf_id, MAP_ATT, NOTSET_ATT, and gsurf_att::user_func.
Referenced by GS_draw_surf().
void gsd_surf2model | ( | Point3 | point | ) |
Convert surface to model coordinates.
point | 3d point (Point3) |
Definition at line 442 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 465 of file gsd_views.c.
References g_surf::ox, g_surf::oy, X, and Y.
int gsd_surf_const | ( | geosurf * | surf, |
float | k | ||
) |
Using tmesh - not confident with qstrips portability.
surf | surface (geosurf) |
k |
Definition at line 729 of file gsd_surf.c.
Referenced by gsd_surf().
int gsd_surf_func | ( | geosurf * | , |
int(*)(void) | |||
) |
int gsd_surf_map | ( | geosurf * | surf | ) |
Draw surface using triangle fan instead of strip.
Optimized by getting rid of BM_get mask check - GET_MAPPATT does same and returns zero if masked
Only do in window check on Fan center(v0) to further optimize – this runs the risk of trimming points in view !!
surf | surface (geosurf) |
Definition at line 2061 of file gsd_surf.c.
Referenced by gsd_surf().
void gsd_swapbuffers | ( | void | ) |
Swap buffers.
Definition at line 482 of file gsd_prim.c.
void gsd_swaptmesh | ( | void | ) |
void gsd_switchlight | ( | int | num, |
int | on | ||
) |
Switch light on/off.
num | |
on | 1 for 'on', 0 turns them off |
Definition at line 877 of file gsd_prim.c.
void gsd_translate | ( | float | dx, |
float | dy, | ||
float | dz | ||
) |
Multiply the current matrix by a translation matrix.
dx | x translation value |
dy | y translation value |
dz | z translation value |
Definition at line 539 of file gsd_prim.c.
Referenced by GS_draw_X(), gsd_box(), gsd_cube(), gsd_diamond(), gsd_do_scale(), gsd_draw_asterisk(), gsd_draw_box(), gsd_draw_gyro(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_wire_arrows(), gsd_wire_surf_const(), gsd_wire_surf_map(), gvd_vect(), and gvld_wind3_box().
int gsd_triangulated_wall | ( | int | npts1, |
int | npts2, | ||
geosurf * | surf1, | ||
geosurf * | surf2, | ||
Point3 * | points1, | ||
Point3 * | points2, | ||
float * | norm | ||
) |
ADD.
npts1 | |
npts2 | |
surf1 | first surface (geosurf) |
surf2 | second surface (geosurf) |
points1 | |
points2 | |
norm |
Definition at line 1109 of file gsd_surf.c.
void gsd_update_cplanes | ( | void | ) |
Update cplaces.
Called when viewing matrix changes
Definition at line 86 of file gsd_cplane.c.
References MAX_CPLANES.
Referenced by gsd_set_view().
void gsd_update_cpnorm | ( | int | num | ) |
void gsd_vert_func | ( | float * | pt | ) |
ADD.
pt |
Definition at line 686 of file gsd_prim.c.
Referenced by gsd_3dcursor(), gsd_diamond_lines(), gsd_draw_box(), gsd_draw_gyro(), gsd_fringe_horiz_line(), gsd_fringe_horiz_line2(), gsd_fringe_horiz_poly(), gsd_fringe_vert_line(), gsd_fringe_vert_poly(), gsd_line_onsurf(), gsd_nline_onsurf(), gsd_plus(), gsd_scalebar_v2(), gsd_wire_surf_const(), gsd_wire_surf_map(), gsd_x(), gvd_draw_lineonsurf(), gvd_vect(), and gvld_wind3_box().
void gsd_viewport | ( | int | l, |
int | r, | ||
int | b, | ||
int | t | ||
) |
Set the viewport.
l, b specify the lower left corner of the viewport rectangle, in pixels.
r, t specify the width and height of the viewport.
l | left |
r | right |
b | bottom |
t | top |
Definition at line 1077 of file gsd_prim.c.
Referenced by GS_set_viewport().
int gsd_wall | ( | float * | bgn, |
float * | end, | ||
float * | norm | ||
) |
ADD.
bgn,end should already be in world modeling coords, but have to be reverse-translated to apply to each surface
bgn,end | 2d line for cutting plane |
norm | indicates which way wall faces |
Definition at line 1710 of file gsd_surf.c.
int gsd_wire_arrows | ( | geosurf * | surf | ) |
ADD.
Need to do Zexag scale of normal for arrow direction, drawing routine unexags z for arrow
surf | surface (geosurf) |
Definition at line 457 of file gsd_wire.c.
References g_surf::att, ATT_COLOR, gsurf_att::att_src, ATT_TOPO, BM_get(), CM_COLOR, CM_DIFFUSE, g_surf::cols, CONST_ATT, gsurf_att::constant, g_surf::curmask, FNORM, G_debug(), GET_MAPATT, gs_get_att_typbuff(), GS_get_scale(), GS_global_exag(), gs_mapcolor(), gs_update_curmask(), gsd_arrow(), gsd_colormode(), gsd_do_scale(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), MAP_ATT, g_surf::norms, g_surf::rows, g_surf::wire_color, X, g_surf::x_modw, g_surf::x_trans, g_surf::xres, Y, g_surf::y_modw, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
int gsd_wire_surf | ( | geosurf * | surf | ) |
Draw surface wire.
surf | surface (geosurf) |
Definition at line 46 of file gsd_wire.c.
References g_surf::att, ATT_TOPO, CONST_ATT, gsurf_att::constant, DM_GRID_WIRE, g_surf::draw_mode, FUNC_ATT, G_debug(), gs_get_att_src(), gsd_coarse_surf_map(), gsd_wire_surf_const(), gsd_wire_surf_func(), gsd_wire_surf_map(), g_surf::gsurf_id, MAP_ATT, NOTSET_ATT, and gsurf_att::user_func.
Referenced by GS_draw_surf(), and GS_draw_wire().
int gsd_wire_surf_const | ( | geosurf * | surf, |
float | k | ||
) |
ADD.
surf | surface (geosurf) |
k |
Definition at line 276 of file gsd_wire.c.
References g_surf::att, ATT_COLOR, gsurf_att::att_src, BM_get(), CM_COLOR, CM_DIFFUSE, g_surf::cols, CONST_ATT, gsurf_att::constant, g_surf::curmask, G_debug(), gs_get_att_typbuff(), gs_mapcolor(), gs_update_curmask(), gsd_bgnline(), gsd_color_func(), gsd_colormode(), gsd_do_scale(), gsd_endline(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), gsdiff_do_SD(), gsdiff_get_SDref(), MAP_ATT, NULL, g_surf::rows, WC_COLOR_ATT, g_surf::wire_color, X, g_surf::x_modw, g_surf::x_trans, g_surf::xres, Y, g_surf::y_modw, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_wire_surf().
int gsd_wire_surf_func | ( | geosurf * | , |
int(*)(void) | |||
) |
int gsd_wire_surf_map | ( | geosurf * | surf | ) |
ADD.
surf | surface (geosurf) |
Definition at line 99 of file gsd_wire.c.
References g_surf::att, ATT_COLOR, gsurf_att::att_src, ATT_TOPO, BM_get(), CM_COLOR, CM_DIFFUSE, g_surf::cols, CONST_ATT, gsurf_att::constant, g_surf::curmask, G_debug(), GET_MAPATT, gs_get_att_typbuff(), gs_mapcolor(), gs_update_curmask(), gsd_bgnline(), gsd_color_func(), gsd_colormode(), gsd_do_scale(), gsd_endline(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), MAP_ATT, g_surf::rows, WC_COLOR_ATT, g_surf::wire_color, X, g_surf::x_modw, g_surf::x_trans, g_surf::xres, Y, g_surf::y_modw, g_surf::y_trans, g_surf::yres, Z, g_surf::z_exag, and g_surf::z_trans.
Referenced by gsd_wire_surf().
int gsd_writeView | ( | unsigned char ** | pixbuf, |
unsigned int | xsize, | ||
unsigned int | ysize | ||
) |
Write view.
pixbuf | data buffer |
xsize,ysize | picture dimension |
Definition at line 969 of file gsd_prim.c.
References G_malloc.
Referenced by GS_write_zoom().
void gsd_x | ( | geosurf * | gs, |
float * | center, | ||
int | colr, | ||
float | siz | ||
) |
Draw X symbol.
Note gs: NULL if flat
gs | surface (geosurf) |
center | |
colr | color value |
siz | size value |
Definition at line 256 of file gsd_objs.c.
References gsd_bgnline(), gsd_color_func(), gsd_endline(), gsd_line_onsurf(), gsd_vert_func(), X, Y, and Z.
Referenced by gpd_obj().
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.
void gsd_zwritemask | ( | unsigned long | n | ) |
Write out z-mask.
Enable or disable writing into the depth buffer
n | Specifies whether the depth buffer is enabled for writing |
Definition at line 241 of file gsd_prim.c.
Referenced by gsd_display_fringe().
float gsdiff_do_SD | ( | float | val, |
int | offset | ||
) |
ADD.
val | |
offset |
Definition at line 94 of file gsdiff.c.
Referenced by gs_get_att_typbuff(), and gsd_wire_surf_const().
geosurf* gsdiff_get_SDref | ( | void | ) |
ADD.
Definition at line 77 of file gsdiff.c.
Referenced by gs_get_att_typbuff(), GS_get_SDsurf(), and gsd_wire_surf_const().
float gsdiff_get_SDscale | ( | void | ) |
void gsdiff_set_SDref | ( | geosurf * | gsref | ) |
ADD.
gsref |
Definition at line 64 of file gsdiff.c.
Referenced by GS_set_SDsurf(), and GS_unset_SDsurf().
void gsdiff_set_SDscale | ( | float | scale | ) |
Get all segments.
gs | surface (geosurf) |
bgn | begin point |
end | end point |
num |
Definition at line 399 of file gsdrape.c.
References GS_v3eq(), gsdrape_set_surface(), interp_first_last(), l, NULL, seg_intersect_vregion(), X, and Y.
ADD.
gs | surface (geosurf) |
bgn | begin point (x,y) |
end | end point (x,y) |
num |
Definition at line 349 of file gsdrape.c.
References ATT_TOPO, CONST_ATT, gs_get_att_src(), gsdrape_set_surface(), NULL, and seg_intersect_vregion().
Referenced by gsd_line_onsurf(), gsd_nline_onsurf(), gvd_draw_lineonsurf(), and gvd_vect().
int gsdrape_set_surface | ( | geosurf * | gs | ) |
ADD.
gs | surface (geosurf) |
Definition at line 198 of file gsdrape.c.
Referenced by gsdrape_get_allsegments(), and gsdrape_get_segments().
size_t gsds_alloc_typbuff | ( | int | id, |
int * | dims, | ||
int | ndims, | ||
int | type | ||
) |
Get handle to gsds.
Successive calls will continue search until "begin" is set (problem here is, unique_name no longer uniquely identifies dataset, since changes may be made; but unique_name should still be useful for reloading dataset) changes & types are set to actual for dataset if found.
name | |
changes,types | acceptable changes & types, flags may be or'd not changed is assumed to always be acceptable |
begin | flag to indicate search from beginning |
int gsds_free_data_buff | ( | int | id, |
int | typ | ||
) |
int gsds_free_datah | ( | int | id | ) |
Free allocated dataset.
id |
Definition at line 329 of file gsds.c.
References G_debug().
Referenced by gs_set_att_src().
int gsds_get_changed | ( | int | id | ) |
ADD.
id |
Definition at line 613 of file gsds.c.
Referenced by Gs_update_attrange().
char* gsds_get_name | ( | int | id | ) |
Get name.
id |
Definition at line 303 of file gsds.c.
References GPATH_MAX.
Referenced by GS_get_att(), and GS_get_cat_at_xy().
Get data buffer.
Doesn't prevent writing a buff thats's been gotten with change_flag == 0 (could return a copy, but willing to trust calling func for now)
id | dataset id |
change_flag | set changed flag |
Definition at line 281 of file gsds.c.
Referenced by gs_get_att_typbuff(), and Gs_update_attrange().
int gsds_newh | ( | const char * | name | ) |
int gsds_set_changed | ( | int | id, |
IFLAG | reason | ||
) |
void GV_alldraw_fastvect | ( | void | ) |
void GV_alldraw_vect | ( | void | ) |
Draw all loaded vector sets.
Definition at line 506 of file gv2.c.
Referenced by Nviz_draw_all_vect().
int gv_decimate_lines | ( | geovect * | gv | ) |
Decimate line.
strategy here: if line has more than average number of points, decimate by eliminating points, otherwise decimate by eliminating shorter lines
gv | vector (geovect) |
Definition at line 231 of file gv_quick.c.
References g_vect::fastlines, gv_num_points(), g_vect::lines, MFAST_LNS, g_vect::n_lines, g_line::next, g_line::npts, NULL, and TFAST_PTS.
Referenced by gvd_vect().
void gv_delete_vect | ( | int | id | ) |
Delete vector set (unload)
id | vector set id |
Definition at line 242 of file gv.c.
References G_debug(), gv_free_vect(), and gv_get_vect().
Referenced by GV_delete_vector().
int GV_delete_vector | ( | int | id | ) |
Delete vector set from list.
id | vector set id |
Definition at line 129 of file gv2.c.
References G_debug(), gv_delete_vect(), and GV_vect_exists().
void GV_draw_fastvect | ( | int | vid | ) |
Draw vector set (fast mode)
vid | vector set id |
Definition at line 524 of file gv2.c.
References g_vect::drape_surf_id, gs_get_surf(), gv_get_vect(), gvd_vect(), and g_vect::n_surfs.
void GV_draw_vect | ( | int | vid | ) |
Draw vector set.
vid | vector set id |
Definition at line 482 of file gv2.c.
References g_vect::drape_surf_id, gs_get_surf(), gv_get_vect(), gvd_vect(), and g_vect::n_surfs.
int gv_free_vect | ( | geovect * | fv | ) |
Free allocated memory for geovect struct.
fv | pointer to geovect struct |
Definition at line 265 of file gv.c.
Referenced by gv_delete_vect().
void gv_free_vectmem | ( | geovect * | fv | ) |
Free allocated memory.
fv | pointer to geovect struct |
Definition at line 313 of file gv.c.
References g_line::cats, g_vect_style_thematic::color_column, g_line::dims, g_vect::filename, G_free(), g_vect::hstyle, g_vect::lines, g_vect::n_lines, g_line::next, g_line::npts, NULL, g_line::p2, g_line::p3, g_vect_style_thematic::size_column, g_vect::style, sub_Vectmem(), g_vect_style_thematic::symbol_column, g_vect::tstyle, and g_vect_style_thematic::width_column.
void* GV_Get_ClientData | ( | int | id | ) |
Get client data.
id | vector set id |
Definition at line 590 of file gv2.c.
References g_vect::clientdata, gv_get_vect(), and NULL.
geovect* gv_get_last_vect | ( | void | ) |
Get last loaded vector set.
Definition at line 96 of file gv.c.
Referenced by gv_get_new_vect().
geovect* gv_get_new_vect | ( | void | ) |
Allocate memory for new vector set.
Definition at line 118 of file gv.c.
References G_malloc, G_zero(), gv_get_last_vect(), g_vect::gvect_id, g_vect::next, and NULL.
geovect* gv_get_prev_vect | ( | int | id | ) |
int GV_get_style | ( | int | id, |
int * | mem, | ||
int * | color, | ||
int * | width, | ||
int * | use_z | ||
) |
int GV_get_trans | ( | int | id, |
float * | xtrans, | ||
float * | ytrans, | ||
float * | ztrans | ||
) |
Get trans ?
id | vector set id | |
[out] | xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 366 of file gv2.c.
References gv_get_vect(), g_vect::x_trans, g_vect::y_trans, and g_vect::z_trans.
geovect* gv_get_vect | ( | int | id | ) |
Get vector set.
id | vector set id |
Definition at line 34 of file gv.c.
References G_debug().
Referenced by gv_delete_vect(), GV_draw_fastvect(), GV_draw_vect(), GV_Get_ClientData(), GV_get_trans(), GV_select_surf(), GV_Set_ClientData(), GV_set_trans(), GV_surf_is_selected(), GV_unselect_surf(), GV_unset_style_thematic(), and GV_vect_exists().
int* GV_get_vect_list | ( | int * | numvects | ) |
int GV_get_vectname | ( | int | id, |
char ** | filename | ||
) |
int gv_init_vect | ( | geovect * | gv | ) |
Initialize geovect struct.
gv | pointer to geovect struct |
Definition at line 226 of file gv.c.
References G_debug(), and g_vect::gvect_id.
float gv_line_length | ( | geoline * | gln | ) |
Get line width.
gln | line (geoline) |
Definition at line 173 of file gv_quick.c.
References GS_distance(), GS_P2distance(), g_line::npts, g_line::p2, and g_line::p3.
geoline* Gv_load_vect | ( | const char * | grassname, |
int * | nlines | ||
) |
int GV_load_vector | ( | int | id, |
const char * | filename | ||
) |
Load vector set.
Check to see if handle already loaded, if so - free before loading new for now, always load to memory
id | vector set id |
filename | filename |
int GV_new_vector | ( | void | ) |
int gv_num_points | ( | geovect * | gv | ) |
Get number of points in vector.
gv | vector (geovect) |
Definition at line 216 of file gv_quick.c.
References gln_num_points(), and g_vect::lines.
Referenced by gv_decimate_lines().
int GV_num_vects | ( | void | ) |
Get number of available vector sets.
Definition at line 84 of file gv2.c.
References gv_num_vects().
int gv_num_vects | ( | void | ) |
Get number of loaded vector sets.
Definition at line 77 of file gv.c.
Referenced by GV_num_vects().
int GV_select_surf | ( | int | hv, |
int | hs | ||
) |
Select surface identified by hs to have vector identified by hv draped over it.
hv | vector set id |
hs | surface id |
Definition at line 393 of file gv2.c.
References g_vect::drape_surf_id, GS_surf_exists(), gv_get_vect(), GV_surf_is_selected(), and g_vect::n_surfs.
int GV_Set_ClientData | ( | int | id, |
void * | clientd | ||
) |
Set client data.
id | vector set id |
clientd | pointer to client data |
Definition at line 568 of file gv2.c.
References g_vect::clientdata, and gv_get_vect().
int gv_set_defaults | ( | geovect * | gv | ) |
Set attributes of vector set to default values.
gv | pointer to geovect struct |
Definition at line 187 of file gv.c.
References g_vect_style::color, g_vect::drape_surf_id, g_vect::fastlines, g_vect::filename, G_debug(), g_vect::gvect_id, g_vect::hstyle, g_vect::lines, MAX_SURFS, g_vect::n_lines, g_vect::n_surfs, g_vect_style::next, g_vect::next, NULL, g_vect::style, g_vect::tstyle, g_vect::use_mem, g_vect::use_z, g_vect_style::width, g_vect::x_trans, g_vect::y_trans, and g_vect::z_trans.
void gv_set_drapesurfs | ( | geovect * | gv, |
int * | hsurfs, | ||
int | nsurfs | ||
) |
Set drape surfaces for vector set.
gv | pointer to geovect struct |
hsurfs | array of surfaces (id) |
nsurfs | number of surfaces |
Definition at line 364 of file gv.c.
References g_vect::drape_surf_id, and MAX_SURFS.
int GV_set_style | ( | int | id, |
int | mem, | ||
int | color, | ||
int | width, | ||
int | use_z | ||
) |
int GV_set_style_thematic | ( | int | id, |
int | layer, | ||
const char * | color, | ||
const char * | width, | ||
struct Colors * | color_rules | ||
) |
Set vector set style for thematic mapping.
Updates also style for each geoline.
id | vector set id |
layer | layer number for thematic mapping |
color | color column name |
width | width column name |
colors | pointer to Colors structure or NULL |
void GV_set_trans | ( | int | id, |
float | xtrans, | ||
float | ytrans, | ||
float | ztrans | ||
) |
Set trans ?
id | vector set id |
xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 343 of file gv2.c.
References G_debug(), gv_get_vect(), g_vect::x_trans, g_vect::y_trans, and g_vect::z_trans.
int GV_surf_is_selected | ( | int | hv, |
int | hs | ||
) |
Check if surface is selected.
hv | vector set id |
hs | surface id |
Definition at line 459 of file gv2.c.
References g_vect::drape_surf_id, gv_get_vect(), and g_vect::n_surfs.
Referenced by GV_select_surf(), and GV_unselect_surf().
int GV_unselect_surf | ( | int | hv, |
int | hs | ||
) |
Unselect surface.
hv | vector set id |
hs | surface id |
Definition at line 422 of file gv2.c.
References g_vect::drape_surf_id, gv_get_vect(), GV_surf_is_selected(), and g_vect::n_surfs.
int GV_unset_style_thematic | ( | int | id | ) |
Make style for thematic mapping inactive.
id | vector set id |
Definition at line 320 of file gv2.c.
References g_vect_style_thematic::active, G_debug(), gv_get_vect(), NULL, and g_vect::tstyle.
void gv_update_drapesurfs | ( | void | ) |
int GV_vect_exists | ( | int | id | ) |
Check if vector set exists.
id | vector set id |
Definition at line 36 of file gv2.c.
References G_debug(), gv_get_vect(), and NULL.
Referenced by GV_delete_vector().
void gvd_draw_lineonsurf | ( | geosurf * | gs, |
float * | bgn, | ||
float * | end, | ||
int | color | ||
) |
Draw line on surface.
gs | surface |
bgn | first line point |
end | end line point |
color | color 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().
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?
gv | vector set |
gs | surface |
do_fast | non-zero for fast mode |
Definition at line 79 of file gvd.c.
References g_vect_style_thematic::active, g_surf::att, ATT_TOPO, CHK_FREQ, CM_COLOR, g_vect_style::color, CONST_ATT, gsurf_att::constant, g_line::dims, g_vect::fastlines, free(), G_debug(), G_free(), GS_check_cancel(), gs_clip_segment(), gs_get_att_src(), GS_get_scale(), gs_get_zrange(), gs_point_is_masked(), gs_update_curmask(), gsd_bgnline(), gsd_color_func(), gsd_colormode(), gsd_do_scale(), gsd_endline(), gsd_linewidth(), gsd_popmatrix(), gsd_pushmatrix(), gsd_translate(), gsd_vert_func(), gsdrape_get_segments(), gv_decimate_lines(), g_vect::gvect_id, g_line::highlighted, g_vect::hstyle, g_vect::lines, malloc(), MAP_ATT, g_line::next, g_line::norm, g_line::npts, NULL, OGSF_LINE, OGSF_POLYGON, g_surf::ox, g_surf::oy, g_line::p2, g_line::p3, src, g_line::style, g_vect::style, g_vect::tstyle, g_line::type, g_vect::use_z, g_vect_style::width, X, g_surf::x_trans, g_vect::x_trans, Y, g_surf::y_trans, g_vect::y_trans, Z, g_surf::z_trans, and g_vect::z_trans.
Referenced by GV_draw_fastvect(), and GV_draw_vect().
void gvl_align_data | ( | int | pos, |
unsigned char ** | data | ||
) |
Append data to buffer.
pos | position index |
data | data buffer |
Definition at line 776 of file gvl_calc.c.
void GVL_alldraw_wire | ( | void | ) |
int GVL_delete_vol | ( | int | id | ) |
Delete volume set from list.
id | volume set id |
Definition at line 210 of file gvl2.c.
References G_debug(), gvl_delete_vol(), GVL_isosurf_del(), GVL_isosurf_num_isosurfs(), GVL_slice_del(), GVL_slice_num_slices(), and GVL_vol_exists().
void gvl_delete_vol | ( | int | id | ) |
Remove volume set from list.
id | volume set id |
Definition at line 244 of file gvl.c.
References G_debug(), gvl_free_vol(), and gvl_get_vol().
Referenced by GVL_delete_vol().
void GVL_draw_vol | ( | int | vid | ) |
Draw volume set.
vid | volume set id |
Definition at line 408 of file gvl2.c.
References g_vol::draw_wire, gvl_get_vol(), gvld_vol(), and gvld_wind3_box().
Referenced by Nviz_draw_all_vol().
void GVL_draw_wire | ( | int | id | ) |
Draw volume in wire mode.
id | volume set id |
Definition at line 429 of file gvl2.c.
References G_debug(), gvl_get_vol(), and gvld_wire_vol().
int gvl_file_end_read | ( | geovol_file * | vf | ) |
End read - free buffer memory.
vf | pointer to geovol_file struct |
Definition at line 1016 of file gvl_file.c.
References free_slice_buff(), free_vol_buff(), geovol_file::mode, MODE_FULL, MODE_SLICE, geovol_file::status, and STATUS_READY.
int gvl_file_free_datah | ( | int | id | ) |
Free geovol_file structure for given handle.
id |
Definition at line 364 of file gvl_file.c.
References G_debug().
Referenced by gvl_free_volmem(), and gvl_isosurf_set_att_src().
int gvl_file_get_data_type | ( | geovol_file * | vf | ) |
Get data type for given handle.
vf | pointer to geovol_file struct |
Definition at line 202 of file gvl_file.c.
References geovol_file::data_type.
int gvl_file_get_file_type | ( | geovol_file * | vf | ) |
Get file type for given handle.
vf | pointer to geovol_file struct |
Definition at line 190 of file gvl_file.c.
References geovol_file::file_type.
void gvl_file_get_min_max | ( | geovol_file * | vf, |
double * | min, | ||
double * | max | ||
) |
Get minimum and maximum value in volume file.
vf | pointer to geovol_file struct | |
[out] | min | min value |
[out] | max | max value |
Definition at line 214 of file gvl_file.c.
References geovol_file::max, max, geovol_file::min, and min.
Referenced by iso_get_range().
char* gvl_file_get_name | ( | int | id | ) |
Get file name for given handle.
id | handle id |
Definition at line 165 of file gvl_file.c.
References GPATH_MAX.
Referenced by GVL_isosurf_get_att().
int gvl_file_get_value | ( | geovol_file * | vf, |
int | x, | ||
int | y, | ||
int | z, | ||
void * | value | ||
) |
Get value for volume file at x, y, z.
vf | pointer to geovol_file struct |
Definition at line 1048 of file gvl_file.c.
References get_direct_value(), get_slice_value(), get_vol_value(), geovol_file::mode, MODE_DIRECT, MODE_FULL, MODE_PRELOAD, MODE_SLICE, geovol_file::status, STATUS_BUSY, and x.
geovol_file* gvl_file_get_volfile | ( | int | id | ) |
Get geovol_file structure for given handle.
id |
Definition at line 117 of file gvl_file.c.
Referenced by iso_get_range().
int gvl_file_is_null_value | ( | geovol_file * | vf, |
void * | value | ||
) |
Check for null value.
vf | pointer to geovol_file struct |
value | data value |
Definition at line 1085 of file gvl_file.c.
References geovol_file::file_type, is_null_g3d_value(), and VOL_FTYPE_RASTER3D.
int gvl_file_newh | ( | const char * | name, |
IFLAG | file_type | ||
) |
Get handle for given file name and type.
name | volume filename |
file_type | file type |
Definition at line 269 of file gvl_file.c.
int gvl_file_set_mode | ( | geovol_file * | vf, |
IFLAG | mode | ||
) |
Set read mode.
vf | pointer to geovol_file struct |
mode | read mode |
Definition at line 1114 of file gvl_file.c.
int gvl_file_set_slices_param | ( | geovol_file * | vf, |
int | n, | ||
int | b | ||
) |
Set parameters for slice reading.
vf | pointer to geovol_file struct |
n | |
b |
Definition at line 1164 of file gvl_file.c.
References b, geovol_file::buff, geovol_file::mode, MODE_SLICE, return(), geovol_file::status, and STATUS_BUSY.
int gvl_file_start_read | ( | geovol_file * | vf | ) |
Start read - allocate memory buffer a read first data into buffer.
vf | pointer to geovol_file struct |
Definition at line 965 of file gvl_file.c.
References alloc_slice_buff(), alloc_vol_buff(), geovol_file::buff, geovol_file::mode, MODE_FULL, MODE_SLICE, read_slice(), read_vol(), geovol_file::status, and STATUS_BUSY.
int gvl_free_vol | ( | geovol * | fvl | ) |
Free geovol struct.
fvl | pointer to geovol struct |
Definition at line 267 of file gvl.c.
References G_debug().
Referenced by gvl_delete_vol().
void gvl_free_volmem | ( | geovol * | fvl | ) |
Free geovol struct memory.
fvl | pointer to geovol struct |
Definition at line 316 of file gvl.c.
References gvl_file_free_datah(), and g_vol::hfile.
void* GVL_Get_ClientData | ( | int | id | ) |
Get client data.
id | volume set id |
Definition at line 504 of file gvl2.c.
References g_vol::clientdata, gvl_get_vol(), and NULL.
int Gvl_get_color_for_value | ( | void * | color_data, |
float * | value | ||
) |
void GVL_get_dims | ( | int | id, |
int * | rows, | ||
int * | cols, | ||
int * | depths | ||
) |
Get volume dimensions.
id | volume set id | |
[out] | rows,cols,depths | number of rows, cols, depths |
Definition at line 309 of file gvl2.c.
References g_vol::cols, g_vol::depths, G_debug(), gvl_get_vol(), g_vol::gvol_id, and g_vol::rows.
Referenced by Nviz_set_volume_attr_default().
geovol* gvl_get_last_vol | ( | void | ) |
Get last volume set from the list.
Definition at line 124 of file gvl.c.
References G_debug().
Referenced by gvl_get_new_vol().
geovol* gvl_get_new_vol | ( | void | ) |
Allocate new volume set and add it to the list.
Definition at line 148 of file gvl.c.
References G_debug(), G_malloc, gvl_get_last_vol(), g_vol::gvol_id, g_vol::next, and NULL.
geovol* gvl_get_prev_vol | ( | int | id | ) |
int GVL_get_region | ( | float * | n, |
float * | s, | ||
float * | w, | ||
float * | e, | ||
float * | t, | ||
float * | b | ||
) |
int GVL_get_trans | ( | int | id, |
float * | xtrans, | ||
float * | ytrans, | ||
float * | ztrans | ||
) |
Get trans ?
id | volume set id | |
[out] | xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 365 of file gvl2.c.
References gvl_get_vol(), g_vol::x_trans, g_vol::y_trans, and g_vol::z_trans.
geovol* gvl_get_vol | ( | int | id | ) |
Get volume set structure.
id | volume set id |
Definition at line 40 of file gvl.c.
References G_debug().
Referenced by gvl_delete_vol(), GVL_draw_vol(), GVL_draw_wire(), GVL_Get_ClientData(), GVL_get_dims(), GVL_get_trans(), GVL_isosurf_add(), GVL_isosurf_del(), GVL_isosurf_get_drawres(), gvl_isosurf_get_isosurf(), GVL_isosurf_num_isosurfs(), GVL_isosurf_set_drawres(), GVL_Set_ClientData(), GVL_set_draw_wire(), GVL_set_focus_center_map(), GVL_set_trans(), GVL_slice_get_drawres(), gvl_slice_get_slice(), GVL_slice_num_slices(), GVL_slice_set_drawres(), and GVL_vol_exists().
int* GVL_get_vol_list | ( | int * | numvols | ) |
Get list of loaded volume sets.
Must be freed if not needed!
[out] | numvols | number of volume sets |
Definition at line 181 of file gvl2.c.
Referenced by Nviz_draw_all_vol().
int GVL_get_volname | ( | int | id, |
char * | filename | ||
) |
void* GVL_get_window | ( | void | ) |
int gvl_get_xextents | ( | geovol * | gvl, |
float * | min, | ||
float * | max | ||
) |
Get volume x-extent value.
gvl | pointer to geovol struct | |
[out] | min | x-min value |
[out] | max | y-max value |
Definition at line 354 of file gvl.c.
References max, min, g_vol::x_trans, g_vol::xmax, and g_vol::xmin.
int gvl_get_xrange | ( | float * | min, |
float * | max | ||
) |
int gvl_get_yextents | ( | geovol * | gvl, |
float * | min, | ||
float * | max | ||
) |
Get volume y-extent value.
gvl | pointer to geovol struct | |
[out] | min | y-min value |
[out] | max | y-max value |
Definition at line 371 of file gvl.c.
References max, min, g_vol::y_trans, g_vol::ymax, and g_vol::ymin.
int gvl_get_yrange | ( | float * | min, |
float * | max | ||
) |
int gvl_get_zextents | ( | geovol * | gvl, |
float * | min, | ||
float * | max | ||
) |
Get volume z-extent value.
gvl | pointer to geovol struct | |
[out] | min | z-min value |
[out] | max | z-max value |
Definition at line 388 of file gvl.c.
References max, min, g_vol::z_trans, g_vol::zmax, and g_vol::zmin.
int gvl_get_zrange | ( | float * | min, |
float * | max | ||
) |
Get volume z-range value.
[out] | min | z-min value |
[out] | max | z-max value |
Definition at line 478 of file gvl.c.
Referenced by GS_get_zrange().
int gvl_getall_vols | ( | geovol ** | gvols | ) |
void GVL_init_region | ( | void | ) |
Initialize 3D region.
Set region extent (N,S,W,E,T,B)
Definition at line 57 of file gvl2.c.
References Rast3d_read_window().
int gvl_init_vol | ( | geovol * | gvl, |
double | ox, | ||
double | oy, | ||
double | oz, | ||
int | rows, | ||
int | cols, | ||
int | depths, | ||
double | xres, | ||
double | yres, | ||
double | zres | ||
) |
Initialize geovol structure.
gvl | pointer to geovol struct |
ox,oy,oz | |
rows | number of rows |
cols | number of cols |
xres,yres,zres | x/y/z resolution value |
Definition at line 187 of file gvl.c.
References g_vol::clientdata, g_vol::cols, g_vol::depths, DM_GOURAUD, g_vol::draw_wire, G_debug(), G_zero(), g_vol::gvol_id, g_vol::hfile, g_vol::isosurf, g_vol::isosurf_draw_mode, g_vol::isosurf_x_mod, g_vol::isosurf_y_mod, g_vol::isosurf_z_mod, MAX_ISOSURFS, MAX_SLICES, g_vol::n_isosurfs, g_vol::n_slices, NULL, g_vol::ox, g_vol::oy, g_vol::oz, g_vol::rows, g_vol::slice, g_vol::slice_draw_mode, g_vol::slice_x_mod, g_vol::slice_y_mod, g_vol::slice_z_mod, g_vol::x_trans, g_vol::xmax, g_vol::xmin, g_vol::xrange, g_vol::xres, g_vol::y_trans, g_vol::ymax, g_vol::ymin, g_vol::yrange, g_vol::yres, g_vol::z_trans, g_vol::zmax, g_vol::zmin, g_vol::zrange, and g_vol::zres.
int GVL_isosurf_add | ( | int | id | ) |
Add isosurface.
id | volume set id |
Definition at line 667 of file gvl2.c.
References G_debug(), G_malloc, gvl_get_vol(), gvl_isosurf_init(), g_vol::isosurf, MAX_ISOSURFS, and g_vol::n_isosurfs.
int gvl_isosurf_calc | ( | geovol * | gvol | ) |
Fill data structure with computed isosurfaces polygons.
gvol | pointer to geovol struct |
Definition at line 585 of file gvl_calc.c.
References x.
Referenced by gvld_vol().
int GVL_isosurf_del | ( | int | id, |
int | isosurf_id | ||
) |
Delete isosurface.
id | volume set id |
isosurf_id | isosurface id |
Definition at line 704 of file gvl2.c.
References G_debug(), G_free(), gvl_get_vol(), gvl_isosurf_freemem(), gvl_isosurf_get_isosurf(), g_vol::isosurf, and g_vol::n_isosurfs.
Referenced by GVL_delete_vol().
int gvl_isosurf_freemem | ( | geovol_isosurf * | isosurf | ) |
Free geovol_isosurf struct.
isosurf | pointer to geovol_isosurf struct |
Definition at line 553 of file gvl.c.
References geovol_isosurf::data, G_debug(), G_free(), gvl_isosurf_set_att_src(), MAX_ATTS, and NOTSET_ATT.
Referenced by GVL_isosurf_del().
int GVL_isosurf_get_att | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
int * | set, | ||
float * | constant, | ||
char * | mapname | ||
) |
Get isosurface attributes.
id | volume set id | |
isosurf_id | surface id | |
att | attribute id | |
[out] | set | |
[out] | constant | |
[out] | mapname |
Definition at line 815 of file gvl2.c.
References geovol_isosurf::att, CONST_ATT, geovol_isosurf_att::constant, G_debug(), gvl_file_get_name(), gvl_isosurf_get_att_src(), gvl_isosurf_get_isosurf(), geovol_isosurf_att::hfile, MAP_ATT, src, and strcpy.
int gvl_isosurf_get_att_src | ( | geovol_isosurf * | isosurf, |
int | desc | ||
) |
Get attribute source.
isosurf | pointer to geovol_isosurf struct |
desc | attribute id |
Definition at line 607 of file gvl.c.
References geovol_isosurf::att, geovol_isosurf_att::att_src, G_debug(), and LEGAL_ATT.
Referenced by GVL_isosurf_get_att(), and gvl_isosurf_set_att_src().
int GVL_isosurf_get_drawmode | ( | int | id, |
int * | mode | ||
) |
void GVL_isosurf_get_drawres | ( | int | id, |
int * | xres, | ||
int * | yres, | ||
int * | zres | ||
) |
Get draw resolution for isosurface.
id | volume set id | |
[out] | xres,yres,zres | x/y/z resolution value |
Definition at line 555 of file gvl2.c.
References G_debug(), gvl_get_vol(), g_vol::isosurf_x_mod, g_vol::isosurf_y_mod, and g_vol::isosurf_z_mod.
int GVL_isosurf_get_flags | ( | int | id, |
int | isosurf_id, | ||
int * | inout | ||
) |
Get isosurface flags.
id | volume set id | |
isosurf_id | isosurface id | |
[out] | inout | map name |
Definition at line 957 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and geovol_isosurf::inout_mode.
geovol_isosurf* gvl_isosurf_get_isosurf | ( | int | id, |
int | isosurf_id | ||
) |
Get isosurface of given volume set.
id | volume set id |
isosurf_id | isosurface id (0 - MAX_ISOSURFS) |
Definition at line 580 of file gvl.c.
References G_debug(), gvl_get_vol(), g_vol::isosurf, g_vol::n_isosurfs, and NULL.
Referenced by GVL_isosurf_del(), GVL_isosurf_get_att(), GVL_isosurf_get_flags(), GVL_isosurf_set_att_const(), GVL_isosurf_set_flags(), and GVL_isosurf_unset_att().
int GVL_isosurf_get_maskmode | ( | int | id, |
int | isosurf_id, | ||
int * | mode | ||
) |
int gvl_isosurf_init | ( | geovol_isosurf * | isosurf | ) |
Initialize geovol_isosurf struct.
isosurf | pointer to geovol_isosurf struct |
Definition at line 520 of file gvl.c.
References geovol_isosurf::att, geovol_isosurf_att::att_data, geovol_isosurf_att::att_src, geovol_isosurf_att::changed, geovol_isosurf_att::constant, geovol_isosurf::data, geovol_isosurf::data_desc, G_debug(), geovol_isosurf_att::hfile, geovol_isosurf::inout_mode, MAX_ATTS, NOTSET_ATT, NULL, and geovol_isosurf_att::user_func.
Referenced by GVL_isosurf_add().
int GVL_isosurf_move_down | ( | int | id, |
int | isosurf_id | ||
) |
int GVL_isosurf_move_up | ( | int | id, |
int | isosurf_id | ||
) |
int GVL_isosurf_num_isosurfs | ( | int | id | ) |
Get number of available isosurfaces.
id | volume set id |
Definition at line 1008 of file gvl2.c.
References G_debug(), gvl_get_vol(), and g_vol::n_isosurfs.
Referenced by GVL_delete_vol().
int gvl_isosurf_set_att_changed | ( | geovol_isosurf * | isosurf, |
int | desc | ||
) |
Set attribute changed.
isosurf | pointer to geovol_isosurf struct |
desc | attribute id |
Definition at line 723 of file gvl.c.
References geovol_isosurf::att, ATT_MASK, ATT_TOPO, geovol_isosurf_att::changed, G_debug(), LEGAL_ATT, and MAX_ATTS.
Referenced by gvl_isosurf_set_att_src(), and GVL_isosurf_set_drawres().
int gvl_isosurf_set_att_const | ( | geovol_isosurf * | isosurf, |
int | desc, | ||
float | constant | ||
) |
Set isosurface attribute constant.
isosurf | pointer to geovol_isosurf struct |
desc | attribute descriptor |
constant | attribute value |
Definition at line 665 of file gvl.c.
References geovol_isosurf::att, CONST_ATT, geovol_isosurf_att::constant, G_debug(), and gvl_isosurf_set_att_src().
Referenced by GVL_isosurf_set_att_const().
int GVL_isosurf_set_att_const | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
float | constant | ||
) |
Set constant isosurface attribute.
Attributes:
id | volume set id |
isosurf_id | isosurface id (0 - MAX_ISOSURFS) |
att | attribute descriptor |
constant | constant value |
Definition at line 890 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and gvl_isosurf_set_att_const().
int gvl_isosurf_set_att_map | ( | geovol_isosurf * | isosurf, |
int | desc, | ||
const char * | filename | ||
) |
Set attribute map.
isosurf | pointer to geovol_isosurf struct |
desc | attribute id |
filename | filename |
int GVL_isosurf_set_att_map | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
const char * | filename | ||
) |
Set isosurface map attribute.
Attributes:
id | volume set id |
isosurf_id | isosurface id (0 - MAX_ISOSURFS) |
att | attribute descriptor |
filename | map name |
int gvl_isosurf_set_att_src | ( | geovol_isosurf * | isosurf, |
int | desc, | ||
int | src | ||
) |
Set attribute source.
isosurf | pointer to geovol_isosurf struct |
desc | attribute id |
src | attribute value |
Definition at line 632 of file gvl.c.
References geovol_isosurf::att, ATT_COLOR, geovol_isosurf_att::att_data, geovol_isosurf_att::att_src, G_debug(), gvl_file_free_datah(), gvl_isosurf_get_att_src(), gvl_isosurf_set_att_changed(), Gvl_unload_colors_data(), geovol_isosurf_att::hfile, LEGAL_SRC, MAP_ATT, and src.
Referenced by gvl_isosurf_freemem(), gvl_isosurf_set_att_const(), and GVL_isosurf_unset_att().
int GVL_isosurf_set_drawmode | ( | int | id, |
int | mode | ||
) |
Set isosurface draw mode.
id | volume set id |
mode | draw mode |
Definition at line 642 of file gvl2.c.
Referenced by Nviz_set_volume_attr_default().
int GVL_isosurf_set_drawres | ( | int | id, |
int | xres, | ||
int | yres, | ||
int | zres | ||
) |
Set isosurface draw resolution.
id | volume set id |
xres,yres,zres | x/y/z resolution value |
Definition at line 581 of file gvl2.c.
References ATT_TOPO, G_debug(), gvl_get_vol(), gvl_isosurf_set_att_changed(), g_vol::isosurf, g_vol::isosurf_x_mod, g_vol::isosurf_y_mod, g_vol::isosurf_z_mod, and g_vol::n_isosurfs.
Referenced by Nviz_set_volume_attr_default().
int GVL_isosurf_set_flags | ( | int | id, |
int | isosurf_id, | ||
int | inout | ||
) |
Set isosurface flags.
id | volume set id |
isosurf_id | isosurface id |
inout | map name |
Definition at line 983 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and geovol_isosurf::inout_mode.
int GVL_isosurf_set_maskmode | ( | int | id, |
int | isosurf_id, | ||
int | mode | ||
) |
int GVL_isosurf_unset_att | ( | int | id, |
int | isosurf_id, | ||
int | att | ||
) |
Unset isosurface attributes.
id | volume set id |
isosurface_id | isosurface id |
att | attribute id |
Definition at line 855 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), gvl_isosurf_set_att_src(), and NOTSET_ATT.
void GVL_libinit | ( | void | ) |
Library initialization for volumes.
Set region extent (N,S,W,E,T,B)
Definition at line 37 of file gvl2.c.
References Rast3d_get_window(), and Rast3d_init_defaults().
int Gvl_load_colors_data | ( | void ** | color_data, |
const char * | name | ||
) |
int GVL_load_vol | ( | int | id, |
const char * | filename | ||
) |
int GVL_new_vol | ( | void | ) |
int GVL_num_vols | ( | void | ) |
Get number of loaded volume sets.
Definition at line 166 of file gvl2.c.
References gvl_num_vols().
int gvl_num_vols | ( | void | ) |
Get number of loaded volume sets.
Definition at line 105 of file gvl.c.
Referenced by GVL_num_vols().
unsigned char gvl_read_char | ( | int | pos, |
const unsigned char * | data | ||
) |
Read char.
pos | position index |
data | data buffer |
Definition at line 762 of file gvl_calc.c.
int GVL_Set_ClientData | ( | int | id, |
void * | clientd | ||
) |
Set client data for volume set.
id | volume set id |
clientd | pointer to client data |
Definition at line 481 of file gvl2.c.
References g_vol::clientdata, and gvl_get_vol().
void GVL_set_draw_wire | ( | int | id, |
int | draw_wire | ||
) |
Set drawing wire box.
id | volume set id |
draw_wire | 1 for drawing wire, 0 otherwise |
Definition at line 388 of file gvl2.c.
References g_vol::draw_wire, G_debug(), and gvl_get_vol().
void GVL_set_focus_center_map | ( | int | id | ) |
Set focus on map center.
id | volume set id |
Definition at line 522 of file gvl2.c.
References G_debug(), GS_set_focus(), gvl_get_vol(), X, g_vol::xmax, g_vol::xmin, Y, g_vol::ymax, g_vol::ymin, Z, g_vol::zmax, and g_vol::zmin.
void GVL_set_trans | ( | int | id, |
float | xtrans, | ||
float | ytrans, | ||
float | ztrans | ||
) |
Set trans ?
id | volume set id |
xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 339 of file gvl2.c.
References G_debug(), gvl_get_vol(), g_vol::x_trans, g_vol::y_trans, and g_vol::z_trans.
int GVL_slice_add | ( | int | id | ) |
int GVL_slice_del | ( | int | id, |
int | slice_id | ||
) |
Delete slice.
id | volume set id |
slice_id | slice id |
Definition at line 1236 of file gvl2.c.
Referenced by GVL_delete_vol().
int gvl_slice_freemem | ( | geovol_slice * | slice | ) |
Free geovol_slice struct.
slice | pointer to geovol_slice struct |
int GVL_slice_get_drawmode | ( | int | id, |
int * | mode | ||
) |
void GVL_slice_get_drawres | ( | int | id, |
int * | xres, | ||
int * | yres, | ||
int * | zres | ||
) |
Get draw resolution of slice.
id | volume set id | |
[out] | xres,yres,zres | x/y/z resolution value |
Definition at line 1088 of file gvl2.c.
References G_debug(), gvl_get_vol(), g_vol::slice_x_mod, g_vol::slice_y_mod, and g_vol::slice_z_mod.
int GVL_slice_get_pos | ( | int | id, |
int | slice_id, | ||
float * | x1, | ||
float * | x2, | ||
float * | y1, | ||
float * | y2, | ||
float * | z1, | ||
float * | z2, | ||
int * | dir | ||
) |
geovol_slice* gvl_slice_get_slice | ( | int | id, |
int | slice_id | ||
) |
Get geovol_slice struct.
id | volume set id |
slice_id | slice id |
Definition at line 803 of file gvl.c.
References gvl_get_vol(), g_vol::n_slices, NULL, and g_vol::slice.
int GVL_slice_get_transp | ( | int | id, |
int | slice_id, | ||
int * | transp | ||
) |
int gvl_slice_init | ( | geovol_slice * | slice | ) |
Initialize geovol_slice struct.
slice | pointer to geovol_slice struct |
int GVL_slice_move_down | ( | int | id, |
int | slice_id | ||
) |
int GVL_slice_move_up | ( | int | id, |
int | slice_id | ||
) |
int GVL_slice_num_slices | ( | int | id | ) |
Get number or slices.
id | volume set id |
Definition at line 1342 of file gvl2.c.
References G_debug(), gvl_get_vol(), and g_vol::n_slices.
Referenced by GVL_delete_vol().
int GVL_slice_set_drawmode | ( | int | id, |
int | mode | ||
) |
Set slice draw mode.
id | volume set id |
mode | draw mode |
Definition at line 1175 of file gvl2.c.
Referenced by Nviz_set_volume_attr_default().
int GVL_slice_set_drawres | ( | int | id, |
int | xres, | ||
int | yres, | ||
int | zres | ||
) |
Set slice draw resolution.
id | volume set id |
xres,yres,zres | x/y/z resolution value |
Definition at line 1114 of file gvl2.c.
References geovol_slice::changed, G_debug(), gvl_get_vol(), g_vol::n_slices, g_vol::slice, g_vol::slice_x_mod, g_vol::slice_y_mod, and g_vol::slice_z_mod.
Referenced by Nviz_set_volume_attr_default().
int GVL_slice_set_pos | ( | int | id, |
int | slice_id, | ||
float | x1, | ||
float | x2, | ||
float | y1, | ||
float | y2, | ||
float | z1, | ||
float | z2, | ||
int | dir | ||
) |
int GVL_slice_set_transp | ( | int | id, |
int | slice_id, | ||
int | transp | ||
) |
int gvl_slices_calc | ( | geovol * | gvol | ) |
Calculate slices for given volume set.
gvol | pointer to geovol struct |
Definition at line 1034 of file gvl_calc.c.
Referenced by gvld_vol().
int Gvl_unload_colors_data | ( | void * | color_data | ) |
Unload color table.
color_data | color data buffer |
Definition at line 65 of file gvl3.c.
References G_free(), and Rast_free_colors().
Referenced by gvl_isosurf_set_att_src().
int GVL_vol_exists | ( | int | id | ) |
Check if volume set exists.
id | volume set id |
Definition at line 111 of file gvl2.c.
References G_debug(), gvl_get_vol(), and NULL.
Referenced by GVL_delete_vol().
void gvl_write_char | ( | int | pos, |
unsigned char ** | data, | ||
unsigned char | c | ||
) |
int gvld_isosurf | ( | geovol * | gvl | ) |
Draw volume isosurfaces.
gvl | pointer to geovol struct |
Definition at line 92 of file gvld.c.
References b, g, g_vol::n_isosurfs, r, and x.
Referenced by gvld_vol().
int gvld_slice | ( | geovol * | gvl, |
int | ndx | ||
) |
int gvld_slices | ( | geovol * | gvl | ) |
Draw slices.
gvl | pointer to geovol struct |
Definition at line 430 of file gvld.c.
Referenced by gvld_vol().
int gvld_vol | ( | geovol * | gvl | ) |
Draw volume set (slices and isosurfaces)
gvl | pointer to geovol struct |
Definition at line 38 of file gvld.c.
References G_debug(), gvl_isosurf_calc(), gvl_slices_calc(), gvld_isosurf(), gvld_slices(), and g_vol::gvol_id.
Referenced by GVL_draw_vol().
int gvld_wind3_box | ( | geovol * | gvl | ) |
Draw volume bounding box.
gvl | pointer to geovol struct |
Definition at line 774 of file gvld.c.
References CM_COLOR, g_vol::cols, g_vol::depths, DM_FLAT, G_debug(), gsd_bgnline(), gsd_color_func(), gsd_colormode(), gsd_do_scale(), gsd_endline(), gsd_linewidth(), gsd_popmatrix(), gsd_pushmatrix(), gsd_shademodel(), gsd_translate(), gsd_vert_func(), g_vol::gvol_id, g_vol::rows, X, g_vol::x_trans, g_vol::xres, Y, g_vol::y_trans, g_vol::yres, Z, g_vol::z_trans, and g_vol::zres.
Referenced by GVL_draw_vol(), and gvld_wire_vol().
int gvld_wire_isosurf | ( | geovol * | ) |
int gvld_wire_slices | ( | geovol * | gvl | ) |
Draw wire slices.
gvl | pointer to geovol struct |
Definition at line 665 of file gvld.c.
Referenced by gvld_wire_vol().
int gvld_wire_vol | ( | geovol * | gvl | ) |
Draw volume in wire mode (bounding box)
gvl | pointer to geovol struct |
Definition at line 69 of file gvld.c.
References G_debug(), gvld_wind3_box(), gvld_wire_isosurf(), gvld_wire_slices(), and g_vol::gvol_id.
Referenced by GVL_draw_wire().
int in_vregion | ( | geosurf * | gs, |
float * | pt | ||
) |
ADD.
gs | surface (geosurf) |
Definition at line 691 of file gsdrape.c.
References VCOL2X, VCOLS, VROW2Y, VROWS, X, Y, and g_surf::yrange.
Referenced by GS_get_cat_at_xy(), GS_get_norm_at_xy(), GS_get_val_at_xy(), and seg_intersect_vregion().
void init_vars | ( | geosurf * | gs | ) |
Init variables.
for optimization
gs | surface (geosurf) |
Definition at line 73 of file gs_norms.c.
Referenced by gs_calc_normals().
double lin_interp | ( | float | dt, |
float | val1, | ||
float | val2 | ||
) |
Linear interpolation.
dt | coefficient |
val2 | value 2 |
val1 | value 1 |
Definition at line 545 of file gk.c.
Referenced by gk_make_linear_framesfromkeys().
ADD.
After all the intersections between the segment and triangle edges have been found, they are in three lists. (intersections with vertical, horizontal, and diagonal triangle edges)
Each list is ordered in space from first to last segment points, but now the lists need to be woven together. This routine starts with the first point of the segment and then checks the next point in each list to find the closest, eliminating duplicates along the way and storing the result in I3d.
gs | surface (geosurf) |
first | first point |
last | last point |
vi | |
hi | |
di |
Define plane.
p1,p2,p3 | three point on plane | |
[out] | plane | plane definition |
Definition at line 1327 of file gsdrape.c.
Referenced by Point_on_plane().
int P_popmatrix | ( | void | ) |
int P_pushmatrix | ( | void | ) |
Push current transformation matrix onto matrix stack.
Definition at line 167 of file trans.c.
Referenced by gsd_update_cpnorm().
void P_rot | ( | float | angle, |
char | axis | ||
) |
Rotate matrix.
angle | angle value |
axis | ('x, 'y', 'z') |
Definition at line 208 of file trans.c.
Referenced by gsd_update_cpnorm().
void P_scale | ( | float | x, |
float | y, | ||
float | z | ||
) |
void P_transform | ( | int | num_vert, |
float(*) | in[4], | ||
float(*) | out[4] | ||
) |
Check if point is on plane.
Plane defined by three points here; user fills in unk[X] & unk[Y]
p1,p2,p3 | points defining plane |
unk | point |
Definition at line 1282 of file gsdrape.c.
References P3toPlane(), and XY_intersect_plane().
Referenced by viewcell_tri_interp().
void primitive_cone | ( | unsigned long | col | ) |
Primitives only called after transforms.
Center is actually center at base of 8 sided cone
col | color value |
Definition at line 1285 of file gsd_objs.c.
void primitive_cylinder | ( | unsigned long | col, |
int | caps | ||
) |
Primitives only called after transforms.
Center is actually center at base of 8 sided cylinder
col | color value |
caps |
Definition at line 1322 of file gsd_objs.c.
void print_256lookup | ( | int * | buff | ) |
void print_bm | ( | struct BM * | bm | ) |
void print_frto | ( | float(*) | ft[4] | ) |
void print_realto | ( | float * | rt | ) |
void print_site_fields | ( | geosite * | ) |
void print_surf_fields | ( | geosurf * | s | ) |
void print_view_fields | ( | geoview * | gv | ) |
Debugging, print geoview fields to stderr.
gv | pointer to geoview struct |
Definition at line 419 of file gs.c.
References geoview::coord_sys, geoview::fov, geoview::from_to, geoview::incl, geoview::infocus, geoview::look, print_frto(), geoview::real_to, geoview::scale, geoview::twist, geoview::vert_exag, geoview::view_proj, X, Y, and Z.
void print_vol_fields | ( | geovol * | gvl | ) |
Debug volume fields.
gvl | pointer to geovol struct |
Definition at line 329 of file gvl.c.
References g_vol::cols, g_vol::depths, G_debug(), g_vol::gvol_id, g_vol::ox, g_vol::oy, g_vol::oz, g_vol::rows, g_vol::x_trans, g_vol::xmax, g_vol::xmin, g_vol::xres, g_vol::y_trans, g_vol::ymax, g_vol::ymin, g_vol::yres, g_vol::z_trans, g_vol::zmax, g_vol::zmin, and g_vol::zres.
int RayCvxPolyhedronInt | ( | Point3 | org, |
Point3 | dir, | ||
double | tmax, | ||
Point4 * | phdrn, | ||
int | ph_num, | ||
double * | tresult, | ||
int * | pn | ||
) |
Ray-Convex Polyhedron Intersection Test.
Originally by Eric Haines, erich @eye .com
This test checks the ray against each face of a polyhedron, checking whether the set of intersection points found for each ray-plane intersection overlaps the previous intersection results. If there is no overlap (i.e. no line segment along the ray that is inside the polyhedron), then the ray misses and returns 0; else 1 is returned if the ray is entering the polyhedron, -1 if the ray originates inside the polyhedron. If there is an intersection, the distance and the number of the face hit is returned.
org,dir | origin and direction of ray | |
tmax | maximum useful distance along ray | |
phdrn | list of planes in convex polyhedron | |
ph_num | number of planes in convex polyhedron | |
[out] | tresult | distance of intersection along ray |
[out] | pn | number of face hit (0 to ph_num-1) |
Definition at line 384 of file gs_query.c.
References BACKFACE, DOT3, FRONTFACE, HUGE_VAL, MISSED, t, and W.
Referenced by gs_setlos_enterdata().
int seg_intersect_vregion | ( | geosurf * | gs, |
float * | bgn, | ||
float * | end | ||
) |
Check if segment intersect vector region.
Clipping performed:
gs | surface (geosurf) |
bgn | begin point |
end | end point |
Definition at line 232 of file gsdrape.c.
References GS_P2distance(), in_vregion(), segs_intersect(), VCOL2X, VCOLS, VROW2Y, VROWS, X, and Y.
Referenced by gsdrape_get_allsegments(), and gsdrape_get_segments().
int segs_intersect | ( | float | x1, |
float | y1, | ||
float | x2, | ||
float | y2, | ||
float | x3, | ||
float | y3, | ||
float | x4, | ||
float | y4, | ||
float * | x, | ||
float * | y | ||
) |
Line intersect.
Author: Mukesh Prasad Modified for floating point: Bill Brown
This function computes whether two line segments, respectively joining the input points (x1,y1) – (x2,y2) and the input points (x3,y3) – (x4,y4) intersect. If the lines intersect, the output variables x, y are set to coordinates of the point of intersection.
x1,y1,x2,y2 | coordinates of endpoints of one segment | |
x3,y3,x4,y4 | coordinates of endpoints of other segment | |
[out] | x,y | coordinates of intersection point |
Definition at line 1202 of file gsdrape.c.
Referenced by get_horz_intersects(), get_vert_intersects(), and seg_intersect_vregion().
void show_colormode | ( | void | ) |
Print color mode to stderr.
Definition at line 151 of file gsd_prim.c.
References _, and G_message().
void sub_Vectmem | ( | int | minus | ) |
Tracking memory.
minus | mimus number |
Definition at line 298 of file gv3.c.
References G_debug().
Referenced by gv_free_vectmem().
ADD.
In gsd_surf, tmesh draws polys like so:
-------------- | /| | / | | / | | / | | / | | / | | / | | / | | / | | / | | / | |/ | --------------
UNLESS the top right or bottom left point is masked, in which case a single triangle with the opposite diagonal is drawn. This case is not yet handled here & should only occur on edges. pt has X & Y coordinates in it, we interpolate Z here
This could probably be much shorter, but not much faster.
Definition at line 503 of file gsdrape.c.
References g_surf::att, ATT_TOPO, CONST_ATT, gsurf_att::constant, DRC2OFF, GET_MAPATT, gs_get_att_src(), gs_point_is_masked(), LERP, MAP_ATT, Point_on_plane(), VCOL2DCOL, VCOL2X, VCOLS, VROW2DROW, VROW2Y, VROWS, VXRES, VYRES, X, X2VCOL, Y, Y2VROW, g_surf::yrange, and Z.
Referenced by _viewcell_tri_interp().
int XY_intersect_plane | ( | float * | intersect, |
float * | plane | ||
) |
Check for intersection (point and plane)
Ax + By + Cz + D = 0, so z = (Ax + By + D) / -C
User fills in intersect[X] & intersect[Y]
[out] | intersect | intersect coordinates |
plane | plane definition |
Definition at line 1304 of file gsdrape.c.
Referenced by Point_on_plane().