-+-+-+-+-+-+-+-+ START OF PART 152 -+-+-+-+-+-+-+-+ X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_initpick(wsid, pickdev, status, initdepth, initpath, pet,`20 X xmin, xmax, ymin, ymax, porder, il, ia, rl, fa) XPint wsid; XPint pickdev; XPpickstatus status; XPint initdepth; XPpickpathel *initpath; XPint pet; XPfloat *xmin, *xmax, *ymin, *ymax; XPpathorder porder; XPint il; XPint *ia; XPint rl; XPfloat *fa; X`7B X Ppickrec pickdata; X Ppickpath initppath; X Plimit echoarea; X X getpickdatarec(pet, il, ia, rl, fa, &pickdata); X initppath.depth = initdepth; X initppath.pick_path = initpath; X echoarea = getlimit(*xmin, *xmax, *ymin, *ymax); X pinitpick(wsid, pickdev, status, &initppath, pet, &echoarea, &pickdata,`20 X porder);`20 X`7D /* pc_initpick */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_initstring3(wsid, stringdev, initstr, pet,`20 X evol, buflen, inipos, il, ia, rl, ra) XPint wsid; XPint stringdev; XPchar *initstr; XPint pet; XPlimit3 *evol; XPint buflen, inipos; XPint il; XPint *ia; XPint rl; XPfloat *ra; X`7B X Pstringrec stringdata; X X getstringdatarec(pet, buflen, inipos, il, ia, rl, ra, &stringdata); X pinitstring3(wsid, stringdev, initstr, pet, evol, &stringdata);`20 X`7D /* pc_initstring3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_initstring(wsid, stringdev, initstr, pet,`20 X xmin, xmax, ymin, ymax, buflen, inipos, il, ia, rl, ra) XPint wsid; XPint stringdev; XPchar *initstr; XPint pet; XPfloat *xmin, *xmax, *ymin, *ymax; XPint buflen, inipos; XPint il; XPint *ia; XPint rl; XPfloat *ra; X`7B X Pstringrec stringdata; X Plimit echoarea; X X getstringdatarec(pet, buflen, inipos, il, ia, rl, ra, &stringdata); X echoarea = getlimit(*xmin, *xmax, *ymin, *ymax); X pinitstring(wsid, stringdev, initstr, pet, &echoarea, &stringdata);`20 X`7D /* pc_initstring */ X X/*-------------------------------------------------------------------------- V*/ X X#include "cinqphigs.c" X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_message(wkid, mess) XPint wkid; Xstruct dsc$descriptor_s *mess; X`7B X Pchar str`5B255`5D; X X strncpy(str, mess->dsc$a_pointer, mess->dsc$w_length); X str`5Bmess->dsc$w_length`5D = '\0'; X pmessage(wkid, str); X`7D /* pc_message */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_openarchivefile(afid, arcfil) XPint afid; Xstruct dsc$descriptor_s *arcfil; X`7B X Pchar str`5B255`5D; X X strncpy(str, arcfil->dsc$a_pointer, arcfil->dsc$w_length); X str`5Barcfil->dsc$w_length`5D = '\0'; X popenarchivefile(afid, str); X`7D /* pc_openarchivefile */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_openws(wkid, conn, wtype) XPint wkid; Xstruct dsc$descriptor_s *conn; XPint wtype; X`7B X Pchar str`5B255`5D; X X strncpy(str, conn->dsc$a_pointer, conn->dsc$w_length); X str`5Bconn->dsc$w_length`5D = '\0'; X popenws(wkid, (Pconnid)str, wtype); X`7D /* pc_openws */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_polyline(num, pxa, pya) XPint num; XPfloat *pxa, *pya; X`7B X Ppoint *pts; X Pint i; X X pts = (Ppoint *)calloc(num, sizeof(Ppoint)); X for (i = 0; i < num; i++) X pts`5Bi`5D = getpoint(pxa`5Bi`5D, pya`5Bi`5D); X ppolyline(num, pts); X free(pts); X`7D /* pc_polyline */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_polyline3(num, pxa, pya, pza) XPint num; XPfloat *pxa, *pya, *pza; X`7B X Ppoint3 *pts; X Pint i; X X pts = (Ppoint3 *)calloc(num, sizeof(Ppoint3)); X for (i = 0; i < num; i++) X pts`5Bi`5D = getpoint3(pxa`5Bi`5D, pya`5Bi`5D, pza`5Bi`5D); X ppolyline3(num, pts); X free(pts); X`7D /* pc_polyline3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_polymarker(num, pxa, pya) XPint num; XPfloat *pxa, *pya; X`7B X Ppoint *pts; X Pint i; X X pts = (Ppoint *)calloc(num, sizeof(Ppoint)); X for (i = 0; i < num; i++) X pts`5Bi`5D = getpoint(pxa`5Bi`5D, pya`5Bi`5D); X ppolymarker(num, pts); X free(pts); X`7D /* pc_polymarker */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_polymarker3(num, pxa, pya, pza) XPint num; XPfloat *pxa, *pya, *pza; X`7B X Ppoint3 *pts; X Pint i; X X pts = (Ppoint3 *)calloc(num, sizeof(Ppoint3)); X for (i = 0; i < num; i++) X pts`5Bi`5D = getpoint3(pxa`5Bi`5D, pya`5Bi`5D, pza`5Bi`5D); X ppolymarker3(num, pts); X free(pts); X`7D /* pc_polymarker3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_poststruct(wkid, strid, priort) XPint wkid, strid; XPfloat *priort; X`7B X ppoststruct(wkid, strid, *priort); X`7D /* pc_poststruct */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_removenameset(num, nameset) XPint num; XPint *nameset; X`7B X Pintlst removeset; X X removeset.number = num; X removeset.integers = nameset; X premovenameset(&removeset); X`7D /* pc_removenameset */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqchoice(wkid, chdnr, stat, chnr) XPint wkid, chdnr; XPint *stat, *chnr; X`7B X Pqchoice choice; X X preqchoice(wkid, chdnr, &choice); X *stat = choice.status; X *chnr = choice.choice; X`7D /* pc_reqchoice */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqloc(wkid, lcdnr, stat, viewi, lpx, lpy) XPint wkid, lcdnr; XPint *stat, *viewi; XPfloat *lpx, *lpy; X`7B X Pqloc loc; X X preqloc(wkid, lcdnr, &loc); X *stat = loc.status; X *viewi = loc.loc.view_index; X *lpx = loc.loc.position.x; X *lpy = loc.loc.position.y; X`7D /* pc_reqloc */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqloc3(wkid, lcdnr, stat, viewi, lpx, lpy, lpz) XPint wkid, lcdnr; XPint *stat, *viewi; XPfloat *lpx, *lpy, *lpz; X`7B X Pqloc3 loc; X X preqloc3(wkid, lcdnr, &loc); X *stat = loc.status; X *viewi = loc.loc.view_index; X *lpx = loc.loc.position.x; X *lpy = loc.loc.position.y; X *lpz = loc.loc.position.z; X`7D /* pc_reqloc3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqpick(wkid, pkdnr, ippd, stat, ppd, pp) XPint wkid, pkdnr, ippd; XPint *stat, *ppd; XPpickpathel *pp; X`7B X Pqpick pick; X X pick.pick.pick_path = pp; X preqpick(wkid, pkdnr, ippd, &pick); X *stat = pick.status; X *ppd = pick.pick.depth; X`7D /* pc_reqpick */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqstring(wkid, stdnr, stat, lostr, str) XPint wkid, stdnr; XPint *stat, *lostr; Xstruct dsc$descriptor_s *str; X`7B X Pqstring string; X X string.string = str->dsc$a_pointer; X preqstring(wkid, stdnr, &string); X *stat = string.status; X *lostr = strlen(string.string); X`7D /* pc_reqstring */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqstroke(wkid, skdnr, num, stat, viewi, np, pxa, pya) XPint wkid, skdnr, num; XPint *stat, *viewi, *np; XPfloat *pxa, *pya; X`7B X Pqstroke stroke; X Pint i; X X stroke.stroke.points = (Ppoint *)calloc(num, sizeof(Ppoint)); X preqstroke(wkid, skdnr, &stroke); X *stat = stroke.status; X *viewi = stroke.stroke.view_index; X *np = stroke.stroke.n_points; X for (i = 0; i < stroke.stroke.n_points; i++) X `7B X pxa`5Bi`5D = stroke.stroke.points`5Bi`5D.x; X pya`5Bi`5D = stroke.stroke.points`5Bi`5D.y; X `7D X free(stroke.stroke.points); X`7D /* pc_reqstroke */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqstroke3(wkid, skdnr, num, stat, viewi, np, pxa, pya, pza) XPint wkid, skdnr, num; XPint *stat, *viewi, *np; XPfloat *pxa, *pya, *pza; X`7B X Pqstroke3 stroke; X Pint i; X X stroke.stroke.points = (Ppoint3 *)calloc(num, sizeof(Ppoint3)); X preqstroke3(wkid, skdnr, &stroke); X *stat = stroke.status; X *viewi = stroke.stroke.view_index; X *np = stroke.stroke.n_points; X for (i = 0; i < stroke.stroke.n_points; i++) X `7B X pxa`5Bi`5D = stroke.stroke.points`5Bi`5D.x; X pya`5Bi`5D = stroke.stroke.points`5Bi`5D.y; X pza`5Bi`5D = stroke.stroke.points`5Bi`5D.z; X `7D X free(stroke.stroke.points); X`7D /* pc_reqstroke3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_reqval(wkid, vldnr, stat, val) XPint wkid, vldnr; XPint *stat; XPfloat *val; X`7B X Pqval rval; X X preqval(wkid, vldnr, &rval); X *stat = rval.status; X *val = rval.val; X`7D /* pc_reqval */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_retrievearchivedstructids(afid, ilsize, num, lstrid) XPint afid, ilsize; XPint *num, *lstrid; X`7B X Pintlst ids; X X ids.integers = lstrid; X pretrievearchivedstructids(afid, ilsize, 0, &ids, num); X`7D /* pc_retrievearchivedstructids */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_retrievestruct(afid, num, lstrid) XPint afid, num; XPint *lstrid; X`7B X Pintlst sns; X X sns.number = num; X sns.integers = lstrid; X pretrievestruct(afid, &sns); X`7D /* pc_retrievestruct */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_retrievestructnet(afid, num, lstrid) XPint afid, num; XPint *lstrid; X`7B X Pintlst sns; X X sns.number = num; X sns.integers = lstrid; X pretrievestructnet(afid, &sns); X`7D /* pc_retrievestructnet */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_rotate(rotang, errind, xfrmt) XPfloat *rotang; XPint *errind; XPmatrix xfrmt; X`7B X protate(*rotang, errind, xfrmt); X`7D /* pc_rotate */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_rotatex(rotang, errind, xfrmt) XPfloat *rotang; XPint *errind; XPmatrix3 xfrmt; X`7B X protatex(*rotang, errind, xfrmt); X`7D /* pc_rotatex */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_rotatey(rotang, errind, xfrmt) XPfloat *rotang; XPint *errind; XPmatrix3 xfrmt; X`7B X protatey(*rotang, errind, xfrmt); X`7D /* pc_rotatey */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_rotatez(rotang, errind, xfrmt) XPfloat *rotang; XPint *errind; XPmatrix3 xfrmt; X`7B X protatez(*rotang, errind, xfrmt); X`7D /* pc_rotatez */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_samplechoice(wkid, chdnr, stat, chnr) XPint wkid, chdnr; XPint *stat, *chnr; X`7B X Pchoice choice; X X psamplechoice(wkid, chdnr, &choice); X *stat = choice.status; X *chnr = choice.choice; X`7D /* pc_samplechoice */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_sampleloc(wkid, lcdnr, viewi, lpx, lpy) XPint wkid, lcdnr; XPint *viewi; XPfloat *lpx, *lpy; X`7B X Ploc loc; X X psampleloc(wkid, lcdnr, &loc); X *viewi = loc.view_index; X *lpx = loc.position.x; X *lpy = loc.position.y; X`7D /* pc_sampleloc */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_sampleloc3(wkid, lcdnr, viewi, lpx, lpy, lpz) XPint wkid, lcdnr; XPint *viewi; XPfloat *lpx, *lpy, *lpz; X`7B X Ploc3 loc; X X psampleloc3(wkid, lcdnr, &loc); X *viewi = loc.view_index; X *lpx = loc.position.x; X *lpy = loc.position.y; X *lpz = loc.position.z; X`7D /* pc_sampleloc3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_samplepick(wkid, pkdnr, ippd, stat, ppd, pp) XPint wkid, pkdnr, ippd; XPint *stat, *ppd; XPpickpathel *pp; X`7B X Ppick pick; X X pick.pick_path.pick_path = pp; X psamplepick(wkid, pkdnr, ippd, &pick); X *stat = pick.status; X *ppd = pick.pick_path.depth; X`7D /* pc_samplepick */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_samplestring(wkid, stdnr, lostr, str) XPint wkid, stdnr; XPint *lostr; Xstruct dsc$descriptor_s *str; X`7B X psamplestring(wkid, stdnr, str->dsc$a_pointer); X *lostr = strlen(str->dsc$a_pointer); X`7D /* pc_samplestring */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_samplestroke(wkid, skdnr, num, viewi, np, pxa, pya) XPint wkid, skdnr, num; XPint *viewi, *np; XPfloat *pxa, *pya; X`7B X Pstroke stroke; X Pint i; X X stroke.points = (Ppoint *)calloc(num, sizeof(Ppoint)); X psamplestroke(wkid, skdnr, &stroke); X *viewi = stroke.view_index; X *np = stroke.n_points; X for (i = 0; i < stroke.n_points; i++) X `7B X pxa`5Bi`5D = stroke.points`5Bi`5D.x; X pya`5Bi`5D = stroke.points`5Bi`5D.y; X `7D X free(stroke.points); X`7D /* pc_samplestroke */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_samplestroke3(wkid, skdnr, num, viewi, np, pxa, pya, pza) XPint wkid, skdnr, num; XPint *viewi, *np; XPfloat *pxa, *pya, *pza; X`7B X Pstroke3 stroke; X Pint i; X X stroke.points = (Ppoint3 *)calloc(num, sizeof(Ppoint3)); X psamplestroke3(wkid, skdnr, &stroke); X *viewi = stroke.view_index; X *np = stroke.n_points; X for (i = 0; i < stroke.n_points; i++) X `7B X pxa`5Bi`5D = stroke.points`5Bi`5D.x; X pya`5Bi`5D = stroke.points`5Bi`5D.y; X pza`5Bi`5D = stroke.points`5Bi`5D.z; X `7D X free(stroke.points); X`7D /* pc_samplestroke */ X X/*-------------------------------------------------------------------------- +-+-+-+-+-+-+-+- END OF PART 152 +-+-+-+-+-+-+-+-