-+-+-+-+-+-+-+-+ START OF PART 172 -+-+-+-+-+-+-+-+ Xextern void ptkc_createwindow(wsid, windid, size, position, titlestr) XPint wsid, windid; XPpoint *size; XPpoint *position; Xstruct dsc$descriptor_s *titlestr; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, titlestr->dsc$a_pointer, titlestr->dsc$w_length); X str1`5Btitlestr->dsc$w_length`5D = '\0'; X ptk_createwindow(wsid, windid, size, position, str1); X`7D /* ptkc_createwindow */ X X/*-------------------------------------------------------------------------- V*/ X Xextern ptkboolean ptkc_stringscanwindows(wsid, str, windowid) XPint wsid; Xstruct dsc$descriptor_s *str; XPint *windowid; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X return ptk_stringscanwindows(wsid, str1, windowid); X`7D /* ptkc_stringscanwindows */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_setbannertitle(windid, titlestr) XPint windid; Xstruct dsc$descriptor_s *titlestr; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, titlestr->dsc$a_pointer, titlestr->dsc$w_length); X str1`5Btitlestr->dsc$w_length`5D = '\0'; X ptk_setbannertitle(windid, str1); X`7D /* ptkc_setbannertitle */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_inqbannertitle(windid, len, titlestr, totlen, err) XPint windid, len; Xstruct dsc$descriptor_s *titlestr; XPint *totlen, *err; X`7B X ptk_inqbannertitle(windid, len, titlestr->dsc$a_pointer, totlen, err); X`7D /* ptkc_inqbannertitle */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_writeterminal(windid, str) XPint windid; Xstruct dsc$descriptor_s *str; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X ptk_writeterminal(windid, str1); X`7D /* ptkc_writeterminal */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_writelnterminal(windid, str) XPint windid; Xstruct dsc$descriptor_s *str; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X ptk_writelnterminal(windid, str1); X`7D /* ptkc_writelnterminal */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_setterminalfloatformat(windid, str) XPint windid; Xstruct dsc$descriptor_s *str; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X ptk_setterminalfloatformat(windid, str1); X`7D /* ptkc_setterminalfloatformat */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_inqterminalfloatformat(windid, size, totalsize, str) XPint windid; XPint size; XPint *totalsize; Xstruct dsc$descriptor_s *str; X`7B X ptk_inqterminalfloatformat(windid, size, totalsize, str->dsc$a_pointer); X`7D /* ptkc_setterminalfloatformat */ X X/*-------------------------------------------------------------------------- V*/ X X/* plib.for functions */ X Xextern Pint ptkc_readint(ws, defreal, prompt, echoarea) XPint ws; XPint defreal; Xstruct dsc$descriptor_s *prompt; XPlimit *echoarea; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, prompt->dsc$a_pointer, prompt->dsc$w_length); X str1`5Bprompt->dsc$w_length`5D = '\0'; X return (ptk_readint(ws, defreal, str1, echoarea)); X`7D /* ptkc_readint */ X X/*-------------------------------------------------------------------------- V*/ X Xextern Pfloat ptkc_readfloat(ws, defreal, prompt, echoarea) XPint ws; XPfloat *defreal; Xstruct dsc$descriptor_s *prompt; XPlimit *echoarea; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, prompt->dsc$a_pointer, prompt->dsc$w_length); X str1`5Bprompt->dsc$w_length`5D = '\0'; X return (ptk_readfloat(ws, *defreal, str1, echoarea)); X`7D /* ptkc_readfloat */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_readstring(ws, defstring, prompt, echoarea, len, instr,`20 X inlen) XPint ws; Xstruct dsc$descriptor_s *defstring; Xstruct dsc$descriptor_s *prompt; XPlimit *echoarea; XPint len; Xstruct dsc$descriptor_s *instr; XPint *inlen; X`7B X Pchar str1`5B80`5D, str2`5B80`5D; X X strncpy(str1, prompt->dsc$a_pointer, prompt->dsc$w_length); X str1`5Bprompt->dsc$w_length`5D = '\0'; X strncpy(str2, defstring->dsc$a_pointer, defstring->dsc$w_length); X str2`5Bdefstring->dsc$w_length`5D = '\0'; X ptk_readstring(ws, str2, str1, echoarea, len, instr->dsc$a_pointer, inlen) V; X`7D /* ptkc_readstring */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_getelemtypename(eltype, size, elemstr, totalsize) XPeltype eltype; XPint size; Xstruct dsc$descriptor_s *elemstr; XPint *totalsize; X`7B X ptk_getelemtypename(eltype, size, elemstr->dsc$a_pointer, totalsize); X`7D /* ptkc_getelemtypename */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_getprimitivetypename(attr, size, attrstr, totalsize) XPattrs attr; XPint size; Xstruct dsc$descriptor_s *attrstr; XPint *totalsize; X`7B X ptk_getprimitivetypename(attr, size, attrstr->dsc$a_pointer, totalsize); X`7D /* ptkc_getprimitivetypename */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_computecharsize(wsid, str, box, font, charht, charexp) XPint wsid; Xstruct dsc$descriptor_s *str; XPpoint *box; XPint font; XPfloat *charht, *charexp; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X ptk_computecharsize(wsid, str1, box, font, charht, charexp); X`7D /* ptkc_computecharsize */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_computecharheight(wsid, str, box, font, charht) XPint wsid; Xstruct dsc$descriptor_s *str; XPpoint *box; XPint font; XPfloat *charht; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, str->dsc$a_pointer, str->dsc$w_length); X str1`5Bstr->dsc$w_length`5D = '\0'; X ptk_computecharheight(wsid, str1, box, font, charht); X`7D /* ptkc_computecharheight */ X X/*-------------------------------------------------------------------------- V*/ X X/* phin.for functions */ X Xextern ptkboolean ptkc_readphinterscript(scriptname, output, inform) Xstruct dsc$descriptor_s *scriptname; XFILE *output, *inform; X`7B X Pchar str1`5B80`5D; X X strncpy(str1, scriptname->dsc$a_pointer, scriptname->dsc$w_length); X str1`5Bscriptname->dsc$w_length`5D = '\0'; X return ptk_readphinterscript(str1, output, inform); X`7D /* ptkc_readphinterscript */ X X/*-------------------------------------------------------------------------- V*/ X X/* misc.for functions */ X Xextern FILE * ptkc_fopen(filename, type) Xstruct dsc$descriptor_s *filename; Xstruct dsc$descriptor_s *type; X`7B X Pchar str1`5B80`5D, str2`5B80`5D; X FILE *temp; X X strncpy(str1, filename->dsc$a_pointer, filename->dsc$w_length); X str1`5Bfilename->dsc$w_length`5D = '\0'; X strncpy(str2, type->dsc$a_pointer, type->dsc$w_length); X str2`5Btype->dsc$w_length`5D = '\0'; X temp = fopen(str1, str2); X return temp; X`7D /* ptkc_fopen */ X X/*-------------------------------------------------------------------------- V*/ X Xextern Pint ptkc_fclose(fileptr) XFILE *fileptr; X`7B X return fclose(fileptr); X`7D /* ptkc_fclose */ X X/*-------------------------------------------------------------------------- V*/ X/* the following functions pass reals by value so need an intermediate`20 X** C function.*/ X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_poststruct(wsid, stid, priority) XPint wsid, stid; XPfloat *priority; X`7B X ptk_poststruct(wsid, stid, *priority); X`7D /* ptkc_poststruct */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_arrow(length, width, centre, angle) XPfloat *length, *width; XPpoint3 *centre; XPfloat *angle; X`7B X ptk_arrow(*length, *width, centre, *angle); X`7D /* ptkc_arrow */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_setbannerheight(windid, height) XPint windid; XPfloat *height; X`7B X ptk_setbannerheight(windid, *height); X`7D /* ptkc_setbannerheight */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_writefloatterminal(windid, number) XPint windid; XPfloat *number; X`7B X ptk_writefloatterminal(windid, *number); X`7D /* ptkc_writefloatterminal */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotatecameraposition(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotatecameraposition(windid, *angle); X`7D /* ptkc_rotatecameraposition */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_scaleviewwindow(windid, scalefactor) XPint windid; XPfloat *scalefactor; X`7B X ptk_scaleviewwindow(windid, *scalefactor); X`7D /* ptkc_scaleviewwindow */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotatecameraptinterest(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotatecameraptinterest(windid, *angle); X`7D /* ptkc_rotatecameraptinterest */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotatecameraupvector(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotatecameraupvector(windid, *angle); X`7D /* ptkc_rotatecameraupvector */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotatepositionxaxis(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotatepositionxaxis(windid, *angle); X`7D /* ptkc_rotatepositionxaxis */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotatepositionyaxis(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotatepositionyaxis(windid, *angle); X`7D /* ptkc_rotatepositionyaxis */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotateptinterestxaxis(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotateptinterestxaxis(windid, *angle); X`7D /* ptkc_rotateptinterestxaxis */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_rotateptinterestyaxis(windid, angle) XPint windid; XPfloat *angle; X`7B X ptk_rotateptinterestyaxis(windid, *angle); X`7D /* ptkc_rotateptinterestyaxis */ X X/*-------------------------------------------------------------------------- V*/ X Xextern void ptkc_setviewmapping3(windid, window, viewport,`20 X proj, prp, viewplane, backplane, frontplane, error) XPint windid; XPlimit *window; XPlimit3 *viewport; XPprojtype proj; XPpoint3 *prp; XPfloat *viewplane, *backplane, *frontplane; XPint *error; X`7B X ptk_setviewmapping3(windid, window, viewport,`20 X proj, prp, *viewplane, *backplane, *frontplane, error); X`7D /* ptkc_setviewmapping3 */ X X/*-------------------------------------------------------------------------- V*/ X X/* end of ftoc.c */ $ CALL UNPACK [.FORTRAN.SOURCE.LIBRARY]FTOC.C;1 1382188471 $ create 'f' X X SUBROUTINE ptkf_inithashtables() X external ptk_inithashtables`20 X X call ptk_inithashtables() X X RETURN X END X X LOGICAL FUNCTION ptkf_hashtableused(str) X CHARACTER*(*) str X LOGICAL*1 ptkc_hashtableused, ans X external ptkc_hashtableused`20 X `20 X ans = ptkc_hashtableused(str) X if (ans .eq. 1) then X ptkf_hashtableused = .TRUE. X else X ptkf_hashtableused = .FALSE. X endif X X RETURN X END X X SUBROUTINE ptkf_createhashtable(tablestr, minid, maxid) X CHARACTER*(*) tablestr X INTEGER minid, maxid X external ptkc_createhashtable`20 X X call ptkc_createhashtable(tablestr, %val(minid), %val(maxid)) X X RETURN X END X X SUBROUTINE ptkf_inttostring(tablestr, stint, size, strbuffer,`20 X : buffersize) X CHARACTER*(*) tablestr X INTEGER stint, size X CHARACTER*(*) strbuffer X INTEGER buffersize X external ptkc_inttostring`20 X X call ptkc_inttostring(tablestr, stint, 255, strbuffer,`20 X : buffersize) X buffersize = buffersize - 1 X X RETURN X END X X INTEGER FUNCTION ptkf_stringtoint(tablestr, str) X CHARACTER*(*) tablestr, str X INTEGER ptkc_stringtoint X external ptkc_stringtoint`20 X X ptkf_stringtoint = ptkc_stringtoint(tablestr, str) X X RETURN X END X X LOGICAL FUNCTION ptkf_delstring(tablestr, str) X CHARACTER*(*) tablestr, str X LOGICAL*1 ptkc_delstring, ans X external ptkc_delstring`20 X X ans = ptkc_delstring(tablestr, str) X if (ans .eq. 1) then X ptkf_delstring = .TRUE. X else X ptkf_delstring = .FALSE. X endif X X RETURN X END X X LOGICAL FUNCTION ptkf_delhashtable(tablestr) X CHARACTER*(*) tablestr X LOGICAL*1 ptkc_delhashtable, ans X external ptkc_delhashtable`20 X X ans = ptkc_delhashtable(tablestr) X if (ans .eq. 1) then X ptkf_delhashtable = .TRUE. X else X ptkf_delhashtable = .FALSE. X endif X X RETURN X END X X LOGICAL FUNCTION ptkf_stringused(tablestr, str) X CHARACTER*(*) tablestr, str X LOGICAL*1 ptkc_stringused, ans X external ptkc_stringused`20 X X ans = ptkc_stringused(tablestr, str) X if (ans .eq. 1) then X ptkf_stringused = .TRUE. X else X ptkf_stringused = .FALSE. X endif X X RETURN X END X XC SUBROUTINE ptkf_inqstrings(tablestr, listlen, totallistlen, intlist, +-+-+-+-+-+-+-+- END OF PART 172 +-+-+-+-+-+-+-+-