-+-+-+-+-+-+-+-+ START OF PART 153 -+-+-+-+-+-+-+-+ V*/ X Xextern void pc_scale(dx, dy, errind, xfrmt) XPfloat *dx, *dy; XPint *errind; XPmatrix xfrmt; X`7B X Pvector scale; X X scale = getvector(*dx, *dy); X pscale(&scale, errind, xfrmt); X`7D /* pc_scale */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_scale3(dx, dy, dz, errind, xfrmt) XPfloat *dx, *dy, *dz; XPint *errind; XPmatrix3 xfrmt; X`7B X Pvector3 scale; X X scale = getvector3(*dx, *dy, *dz); X pscale3(&scale, errind, xfrmt); X`7D /* pc_scale3 */ X X/*-------------------------------------------------------------------------- V*/ X X#include "csetphigs.c" X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_text(px, py, chars) XPfloat *px, *py; Xstruct dsc$descriptor_s *chars; X`7B X Ppoint tp; X Pchar str`5B255`5D; X X strncpy(str, chars->dsc$a_pointer, chars->dsc$w_length); X str`5Bchars->dsc$w_length`5D = '\0'; X tp = getpoint(*px, *py); X ptext(&tp, str); X`7D /* pc_text */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_text3(px, py, pz, tdx, tdy, tdz, chars) XPfloat *px, *py, *pz, *tdx, *tdy, *tdz; Xstruct dsc$descriptor_s *chars; X`7B X Ppoint3 tp; X Pvector3 td`5B2`5D; X Pchar str`5B255`5D; X X strncpy(str, chars->dsc$a_pointer, chars->dsc$w_length); X str`5Bchars->dsc$w_length`5D = '\0'; X tp = getpoint3(*px, *py, *pz); X td`5B0`5D = getvector3(tdx`5B0`5D, tdy`5B0`5D, tdz`5B0`5D); X td`5B1`5D = getvector3(tdx`5B1`5D, tdy`5B1`5D, tdz`5B1`5D); X ptext3(&tp, td, str); X`7D /* pc_text3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_tranpt(xi, yi, xfrmt, errind, xo, yo) XPfloat *xi, *yi; XPmatrix xfrmt; XPint *errind; XPfloat *xo, *yo; X`7B X Ppoint pt, result; X X pt = getpoint(*xi, *yi); X ptranpt(&pt, xfrmt, errind, &result); X *xo = result.x; X *yo = result.y; X`7D /* pc_tranpt */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_tranpt3(xi, yi, zi, xfrmt, errind, xo, yo, zo) XPfloat *xi, *yi, *zi; XPmatrix xfrmt; XPint *errind; XPfloat *xo, *yo, *zo; X`7B X Ppoint3 pt, result; X X pt = getpoint3(*xi, *yi, *zi); X ptranpt3(&pt, xfrmt, errind, &result); X *xo = result.x; X *yo = result.y; X *zo = result.z; X`7D /* pc_tranpt3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_translate(dx, dy, errind, xfrmt) XPfloat *dx, *dy; XPint *errind; XPmatrix xfrmt; X`7B X Pvector translate; X X translate = getvector(*dx, *dy); X ptranslate(&translate, errind, xfrmt); X`7D /* pc_translate */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_translate3(dx, dy, dz, errind, xfrmt) XPfloat *dx, *dy, *dz; XPint *errind; XPmatrix3 xfrmt; X`7B X Pvector3 translate; X X translate = getvector3(*dx, *dy, *dz); X ptranslate3(&translate, errind, xfrmt); X`7D /* pc_translate3 */ X X/*-------------------------------------------------------------------------- V*/ X X/* end of cphigs.c */ $ CALL UNPACK [.FORTRAN.SOURCE.BINDING]CPHIGS.C;1 1359012273 $ create 'f' X X/*-------------------------------------------------------------------------- V*/ X/*------------------------ PHIGS set functions ----------------------------- V*/ X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setannotationalign(atalh, atalv) XPint atalh, atalv; X`7B X Ptxalign a; X X a.hor = atalh; X a.ver = atalv; X psetannotationalign(&a); X`7D /* pc_setannotationalign */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setannotationcharheight(atchh) XPfloat *atchh; X`7B X psetannotationcharheight(*atchh); X`7D /* pc_setannotationcharheight */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setannotationcharup(atchux, atchuy) XPfloat *atchux, *atchuy; X`7B X Pvector v; X X v = getvector(*atchux, *atchuy); X psetannotationcharup(&v); X`7D /* pc_setannotationcharup */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setcharexpan(chxp) XPfloat *chxp; X`7B X psetcharexpan(*chxp); X`7D /* pc_setcharexpan */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setcharheight(chh) XPfloat *chh; X`7B X psetcharheight(*chh); X`7D /* pc_setcharheight */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setcharspace(chsp) XPfloat *chsp; X`7B X psetcharspace(*chsp); X`7D /* pc_setcharspace */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setcharup(chux, chuy) XPfloat *chux, *chuy; X`7B X Pvector v; X X v = getvector(*chux, *chuy); X psetcharup(&v); X`7D /* pc_setcharup */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setcolourrep(wkid, ci, c1, c2, c3) XPint wkid, ci; XPfloat *c1, *c2, *c3; X`7B X Pcobundl col; X X col.rgb.r = *c1; X col.rgb.g = *c2; X col.rgb.b = *c3; X psetcolourrep(wkid, ci, &col); X`7D /* pc_setcolourrep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setedgerep(wkid, edi, edflag, edtype, ewidth, coli) XPint wkid, edi, edflag, edtype; XPfloat *ewidth; XPint coli; X`7B X Pedgebundl rep; X X rep = getedgebundl(edflag, edtype, *ewidth, coli); X psetedgerep(wkid, edi, &rep); X`7D /* pc_setedgerep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setedgewidth(ewidth) XPfloat *ewidth; X`7B X psetedgewidth(*ewidth); X`7D /* pc_setedgewidth */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_sethighlightfilter(wkid, isn, is, esn, es) XPint wkid, isn, *is, esn, *es; X`7B X Pintlst incl, excl; X X incl.number = isn; X incl.integers = is; X excl.number = esn; X excl.integers = es; X psethighlightfilter(wkid, &incl, &excl); X`7D /* pc_sethighlightfilter */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setintrep(wkid, ii, ints, styli, coli) XPint wkid, ii, ints, styli, coli; X`7B X Pinterbundl rep; X X rep = getinterbundl(ints, styli, coli); X psetintrep(wkid, ii, &rep); X`7D /* pc_setintrep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setinvisfilter(wkid, isn, is, esn, es) XPint wkid, isn, *is, esn, *es; X`7B X Pintlst incl, excl; X X incl.number = isn; X incl.integers = is; X excl.number = esn; X excl.integers = es; X psetinvisfilter(wkid, &incl, &excl); X`7D /* pc_setinvisfilter */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setlinewidth(lwidth) XPfloat *lwidth; X`7B X psetlinewidth(*lwidth); X`7D /* pc_setlinewidth */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setmarkersize(mszsf) XPfloat *mszsf; X`7B X psetmarkersize(*mszsf); X`7D /* pc_setmarkersize */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setpickfilter(wkid, pkdnr, isn, is, esn, es) XPint wkid, pkdnr, isn, *is, esn, *es; X`7B X Pintlst incl, excl; X X incl.number = isn; X incl.integers = is; X excl.number = esn; X excl.integers = es; X psetpickfilter(wkid, pkdnr, &incl, &excl); X`7D /* pc_setpickfilter */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setlinerep(wkid, pli, ltype, lwidth, coli) XPint wkid, pli, ltype; XPfloat *lwidth; XPint coli; X`7B X Plnbundl rep; X X rep = getlnbundl(ltype, *lwidth, coli); X psetlinerep(wkid, pli, &rep); X`7D /* pc_setlinerep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setmarkerrep(wkid, pmi, mtype, mszsf, coli) XPint wkid, pmi, mtype; XPfloat *mszsf; XPint coli; X`7B X Pmkbundl rep; X X rep = getmkbundl(mtype, *mszsf, coli); X psetmarkerrep(wkid, pmi, &rep); X`7D /* pc_setmarkerrep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_settextalign(txalh, txalv) XPint txalh, txalv; X`7B X Ptxalign a; X X a.hor = txalh; X a.ver = txalv; X psettextalign(&a); X`7D /* pc_setextalign */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_settextrep(wkid, txi, font, prec, chxp, chsp, coli) XPint wkid, txi, font, prec; XPfloat *chxp, *chsp; XPint coli; X`7B X Ptxbundl rep; X X rep = gettxbundl(font, prec, *chxp, *chsp, coli); X psettextrep(wkid, txi, &rep); X`7D /* pc_settextrep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setviewrep(wkid, viewi, vwormt, vwmpmt, vwcplm, xyclpi) XPint wkid, viewi; XPmatrix vwormt, vwmpmt; XPlimit *vwcplm; XPint xyclpi; X`7B X Pviewrep rep; X X memcpy(rep.orientation_matrix, vwormt, sizeof(Pmatrix)); X memcpy(rep.mapping_matrix, vwmpmt, sizeof(Pmatrix)); X rep.clip_limit = *vwcplm; X rep.clip_xy = xyclpi; X psetviewrep(wkid, viewi, &rep); X`7D /* pc_setviewrep */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setviewrep3(wkid, viewi, vwormt, vwmpmt, vwcplm, xyclpi,`20 X bclpi, fclpi) XPint wkid, viewi; XPmatrix3 vwormt, vwmpmt; XPlimit3 *vwcplm; XPint xyclpi, bclpi, fclpi; X`7B X Pviewrep3 rep; X X memcpy(rep.orientation_matrix, vwormt, sizeof(Pmatrix3)); X memcpy(rep.mapping_matrix, vwmpmt, sizeof(Pmatrix3)); X rep.clip_limit = *vwcplm; X rep.clip_xy = xyclpi; X rep.clip_back = bclpi; X rep.clip_front = fclpi; X psetviewrep3(wkid, viewi, &rep); X`7D /* pc_setviewrep3 */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setwsviewport(wkid, xmin, xmax, ymin, ymax) XPint wkid; XPfloat *xmin, *xmax, *ymin, *ymax; X`7B X Plimit viewport; X X viewport = getlimit(*xmin, *xmax, *ymin, *ymax); X psetwsviewport(wkid, &viewport); X`7D /* pc_setwsviewport */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void pc_setwswindow(wkid, xmin, xmax, ymin, ymax) XPint wkid; XPfloat *xmin, *xmax, *ymin, *ymax; X`7B X Plimit window; X X window = getlimit(*xmin, *xmax, *ymin, *ymax); X psetwswindow(wkid, &window); X`7D /* pc_setwswindow */ X X/*-------------------------------------------------------------------------- V*/ X`20 X/* end of csetphigs.c */ X $ CALL UNPACK [.FORTRAN.SOURCE.BINDING]CSETPHIGS.C;1 846353044 $ create 'f' XC XC INQUIRE SYSTEM STATE VALUE XC X`09SUBROUTINE PQSYS (SYSSTA) X X`09INTEGER SYSSTA ! system state value (PPHCL,PPHOP) X X`09EXTERNAL PINQSYSTEMST X X`09CALL PINQSYSTEMST(SYSSTA) X X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE WORKSTATION STATE VALUE XC X X SUBROUTINE PQWKST (WKSTA) X X INTEGER WKSTA ! workstation state value (PWSCL,PWSOP) X X`09EXTERNAL PINQWSST X X`09CALL PINQWSST(WKSTA) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE STRUCTURE STATE VALUE XC X SUBROUTINE PQSTRS (STRSTA) X X INTEGER STRSTA ! structure state value (PSTCL,PSTOP) X X`09EXTERNAL PINQSTRUCTST X X`09CALL PINQSTRUCTST(STRSTA) X`09 X`09return X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE ARCHIVE STATE VALUE XC X SUBROUTINE PQARS (ARSTA) X X INTEGER ARSTA ! archive state value (PARCL,PAROP) X X`09EXTERNAL PINQARCHIVEST X X`09CALL PINQARCHIVEST(ARSTA) X`09return X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE LIST element OF AVAILABLE WORKSTATION TYPES XC X`09SUBROUTINE PQEWK (N,ERRIND,NUMBER,WKTYP) X X INTEGER N ! list element requested X INTEGER ERRIND ! error indicator X INTEGER NUMBER ! number of workstation types X INTEGER WKTYP ! Nth element of list of available workstatio Vn types X X`09EXTERNAL pc_inqwstypes X X`09CALL pc_inqwstypes(%VAL(N),ERRIND,NUMBER,WKTYP) X X`09return `20 X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE PHIGS FACILITIES XC X SUBROUTINE PQPHF (NCS,ERRIND,SIMOPW,SIMOPA,NAMESN,OLCS, X * CS,NFLN,IFLN) X X INTEGER NCS ! character set requested X INTEGER ERRIND ! error indicator X INTEGER SIMOPW ! maximum number of simultaneously open work Vstations X INTEGER SIMOPA ! maximum number of simultaneously open arch Vive files X INTEGER NAMESN ! maximum number of available names for name V sets X INTEGER OLCS ! number of available character sets X INTEGER CS ! NCSth available character set X INTEGER NFLN ! maximum length of normal filter list for I VSS X INTEGER IFLN ! maximum length of inverted filter list for V ISS X X`09EXTERNAL pc_inqphigsfacil X X`09CALL pc_inqphigsfacil(%VAL(NCS),ERRIND,SIMOPW,SIMOPA,NAMESN,OLCS, X * CS,NFLF,IFLN) X`09return X`09end Xc-------------------------------------------------------------------- X XC XC INQUIRE GENERALIZED STRUCTURE ELEMENT FACILITIES XC X`09SUBROUTINE PQGSEF (N,ERRIND,OL,GSEID,WSDIND) X X INTEGER N ! element of the list of available GSEs X INTEGER ERRIND ! error indicator X INTEGER OL ! number of available GSEs X INTEGER GSEID ! GSE identifier of Nth element +-+-+-+-+-+-+-+- END OF PART 153 +-+-+-+-+-+-+-+-