GS_libinit()
GS_set_cxl_func(f) void (*f)();
GS_set_cancel(n) int n;
int GS_check_cancel()
GS_set_swap_func(f) void (*f)();
GS_set_draw(where) int where;
GS_ready_draw()
GS_done_draw()
GS_background_color()
GS_default_draw_color()
GS_clear(col) int col;
double GS_get_aspect()
GS_set_viewport(left, bottom, width, height) int left, bottom, width, height;
GS_get_longdim(dim) float *dim;
GS_get_region(n, s, w, e) float *n, *s, *w, *e;
void *GS_Get_ClientData(id) int id;
GS_Set_ClientData(id, clientd)
int id;
void *clientd;
void *GV_Get_ClientData(id)
int id;
GV_Set_ClientData(id, clientd)
int id;
void *GP_Get_ClientData(id)
int id;
GP_Set_ClientData(id, clientd)
int id;
void *clientd;
void *GVL_Get_ClientData(id)
int id;
GVL_Set_ClientData(id, clientd)
int id;
void *clientd;
GS_init_view()
GS_set_focus(realto) float realto[3];
GS_set_focus_center_map(id) int id;
GS_get_focus(realto) float realto[3];
GS_set_nofocus()
GS_set_fov(fov) int fov;
int GS_get_fov()
GS_set_viewdir(dir) float dir[3];
GS_get_viewdir(dir) float dir[3];
GS_get_from(fr) float *fr;
GS_get_from_real(fr)
float *fr;
GS_set_twist(t) int t;
int GS_get_twist()
int GS_look_here(sx, sy) int sx, sy;
GS_moveto(pt) float *pt;
GS_moveto_real(pt) float *pt;
GS_set_global_exag(exag) float exag;
float GS_global_exag()
GS_save_3dview(vname, surfid) char *vname; int surfid;
GS_load_3dview(vname, surfid) char *vname; int surfid;
int GS_new_light()
GS_setlight_ambient(num, red, green, blue) int num; float red, green, blue; /* 0.0 to 1.0 */
GS_setlight_color(num, red, green, blue) int num; float red, green, blue; /* 0.0 to 1.0 */
GS_setlight_position(num, xpos, ypos, zpos, local) int num, local; float xpos, ypos, zpos;
GS_switchlight(num, on) int num, on;
GS_lights_on()
GS_lights_off()
GS_draw_lighting_model()
GS_get_modelposition(siz, pos) float *siz, pos[3];
GS_set_att_defaults(defs, null_defs) float defs[MAX_ATTS], null_defs[MAX_ATTS];
GS_new_surface()
GS_delete_surface(id) int id;
GS_surf_exists(id) int id;
int GS_num_surfs()
GS_get_surf_list(numsurfs) int *numsurfs;
GS_load_att_map(id, filename, att) int id, att; char *filename;
GS_set_att_const(id, att, constant) nt id, att; float constant;
GS_get_att(id, att, set, constant, mapname) int id, att, *set; float *constant; char *mapname;
GS_unset_att(id, att) int id, att;
GS_update_curmask(id) int id;
GS_update_normals(id) int id;
GS_draw_surf(id) int id;
GS_draw_wire(id) int id;
GS_alldraw_surf()
GS_alldraw_wire()
GS_draw_X(id, pt) int id; float *pt;
GS_draw_line_onsurf(id, x1, y1, x2, y2) int id; float x1, y1, x2, y2;
GS_set_drawmode(id, mode) int id, mode;
GS_set_drawres(id, xres, yres, xwire, ywire) int id; int xres, yres, xwire, ywire;
GS_setall_drawmode(mode) int mode;
GS_setall_drawres(xres, yres, xwire, ywire) int xres, yres, xwire, ywire;
GS_set_fencecolor(mode) int mode;
GS_set_wire_color(id, colr) int id, colr;
GS_get_drawmode(id, mode) int id, mode;
GS_get_drawres(id, xres, yres, xwire, ywire) int id; int *xres, *yres, *xwire, *ywire;
GS_get_wire_color(id, colr) int id; int *colr;
GS_set_maskmode(id, mode) int id, mode;
GS_set_nozero(id, att, mode) int id, att, mode;
GS_set_trans(id, xtrans, ytrans, ztrans) int id; float xtrans, ytrans, ztrans;
GS_get_maskmode(id, mode) int id, mode;
GS_get_nozero(id, att, mode) int id, att, *mode;
GS_get_trans(id, xtrans, ytrans, ztrans) int id; float *xtrans, *ytrans, *ztrans;
GS_get_scale(sx, sy, sz, doexag) float *sx, *sy, *sz; int doexag;
GS_get_dims(id, rows, cols) int id; int *rows, *cols;
GS_get_zextents(id, min, max, mid) int id; float *min, *max, *mid;
GS_get_zrange(min, max, doexag) float *min, *max; int doexag;
GS_get_zrange_nz(min, max) float *min, *max;
int GS_has_transparency()
GS_is_masked(id, pt) int id; float *pt;
GS_transp_is_set()
GS_set_SDscale(scale) float scale;
GS_set_SDsurf(id) int id;
GS_get_SDscale(scale) float *scale;
GS_get_SDsurf(id) int id;
GS_unset_SDsurf()
GS_get_exag_guess(id, exag) int id; float *exag;
GS_set_exag(id, exag) int id; float exag;
int GS_get_selected_point_on_surface(sx, sy, id, x, y, z) int sx, sy; int *id; float *x, *y, *z;
GS_get_distance_alongsurf(hs, x1, y1, x2, y2, dist/ int hs, use_exag; float x1, y1, x2, y2, *dist;
GS_get_cat_at_xy(id, att, catstr, x, y) int id, att; char *catstr; float x, y;
GS_get_val_at_xy(id, att, valstr, x, y) int id; char *valstr; float x, y;
int GV_new_vector()
GV_delete_vector(id) int id;
GV_vect_exists(id) int id;
int GV_num_vects()
int *GV_get_vect_list(numvects) int *numvects;
GV_get_vectname(id, filename) int id; char *filename;
GV_load_vector(id, filename) int id; char *filename;
GV_select_surf(hv, hs) int hv, hs;
GV_surf_is_selected(hv, hs) int hv, hs;
GV_unselect_surf(hv, hs) int hv, hs;
GV_draw_vect(vid) int id;
GV_alldraw_vect()
GV_set_trans(id, xtrans, ytrans, ztrans) int id; float xtrans, ytrans, ztrans;
GV_set_vectmode(id, mem, color, width) int id, mem, color, width;
GV_get_trans(id, xtrans, ytrans, ztrans) int id; float *xtrans, *ytrans, *ztrans;
GV_get_vectmode(id, mem, color, width) int id, *mem, *color, *width;
int GP_new_site()
GP_delete_site(id) int id;
GP_site_exists(id) int id;
int GP_num_sites()
int *GP_get_site_list(numsites) int *numsites;
GP_get_sitename(id, filename) int id; char *filename;
GP_load_site(id, filename) int id; char *filename;
GP_select_surf(hp, hs) int hp, hs;
GP_surf_is_selected(hp, hs) int hp, hs;
GP_unselect_surf(hp, hs) int hp, hs;
GP_draw_site(id) int id;
GP_alldraw_site()
GP_attmode_color(id, filename) int id; char *filename;
GP_attmode_none(id) int id;
GP_get_sitemode(id, atmod, color, width, size, marker) int id, *atmod, *color, *width, *marker; float *size;
GP_get_trans(id, xtrans, ytrans, ztrans) int id; float *xtrans, *ytrans, *ztrans;
GP_get_zmode(id, use_z) int id, *use_z;
GP_set_sitemode(id, atmod, color, width, size, mar/ int id, atmod, color, width, marker; float size;
GP_set_trans(id, xtrans, ytrans, ztrans) int id; float *xtrans, *ytrans, *ztrans;
GP_set_zmode(id, use_z) int id, use_z;
int GVL_new_vol()
GVL_delete_volume(id) int id;
int GVL_vol_exists(id) int id;
int GVL_num_vol()
int *GVL_get_vol_list(numvols) int *numvols;
GVL_get_volname(id, filename) int id; char *filename;
GVL_load_volume(id, filename) int id; char *filename;
GVL_draw_vol(vid) int id;
GVL_alldraw_vol()
GVL_draw_fastvol(vid) int vid;
GVL_get_trans(id, xtrans, ytrans, ztrans) int id; float *xtrans, *ytrans, *ztrans;
GVL_get_volmode(id, viztype) int id, *viztype;
GVL_set_trans(id, xtrans, ytrans, ztrans) int id; float xtrans, ytrans, ztrans;
GVL_set_volmode(id, viztype) int id, viztype;
GS_set_cplane(num) int num;
GS_unset_cplane(num) int cplane;
GS_draw_cplane(num) int num;
GS_draw_cplane_fence(hs1, hs2, num) int hs1, hs2, num;
GS_alldraw_cplane_fences ()
int GS_get_fencecolor()
GS_set_cplane_rot(num, dx, dy, dz) int num; float dx, dy, dz;
GS_set_cplane_trans(num, dx, dy, dz) int num; float dx, dy, dz;
GK_add_key(pos,fmask,force_replace,precis) float pos, precis; unsigned long fmask; int force_replace;
The fmask value can be any of the following or'd together:
KF_FROMX_MASK
KF_FROMY_MASK
KF_FROMZ_MASK
KF_FROM_MASK (KF_FROMX_MASK | KF_FROMY_MASK | KF_FROMZ_MASK)
KF_DIRX_MASK
KF_DIRY_MASK
KF_DIRZ_MASK
KF_DIR_MASK (KF_DIRX_MASK | KF_DIRY_MASK | KF_DIRZ_MASK)
KF_FOV_MASK
KF_TWIST_MASK
KF_ALL_MASK (KF_FROM_MASK | KF_DIR_MASK | KF_FOV_MASK | KF_TWIST_MASK)
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.
Returns 1 if key is added, otherwise -1.
GK_delete_key(pos, precis, justone) float pos, precis; int justone;
Returns number of keys deleted.
GK_move_key(oldpos, precis, newpos) float oldpos, newpos, precis;
Returns number of keys moved (1 or 0).
void GK_clear_keys()
GK_do_framestep(step, render) int step, render;
GK_set_interpmode(mode) int mode;
void GK_set_numsteps(newsteps) int newsteps;
GK_set_tension(tens) float tens;
void GK_show_path(flag)
GK_show_site(flag) int flag;
GK_show_vect(flag) int flag;
void GK_showtension_start()
void GK_showtension_stop()
void GK_update_frames()
void GK_update_tension()
float GSU_P2distance (from, to) float *from, *to;
GSU_distance (from, to) float *from, *to;
double GSU_geodistance (from, to, units) double *from, *to; char *units;
GSU_v2dir(v1, v2, v3) float v1[2], v2[2], v3[2];
GSU_v3dir(v1, v2, v3) float v1[3], v2[3], v3[3];
GSU_v3mag(v1, mag) float v1[3], *mag;
GSU_v3norm(v1) float v1[3];
GSU_dv3norm(dv1) double dv1[3];
GSU_v3normalize(v1, v2) float v1[3], v2[3];
GSU_v3eq(v1, v2) float v1[3], v2[3];
GSU_v3add(v1, v2) float v1[3], v2[3];
GSU_v3sub(v1, v2) float v1[3], v2[3];
GSU_v3mult(v1, k) float v1[3], k;
GSU_v3cross(v1, v2, v3) float v1[3], v2[3], v3[3];