-+-+-+-+-+-+-+-+ START OF PART 162 -+-+-+-+-+-+-+-+ X`09SUBROUTINE PSMPK (WKID,PKDNR,IPPD,STAT,PPD,PP) X `20 X `20 X INTEGER WKID ! workstation identifier X INTEGER PKDNR ! pick device number X INTEGER IPPD ! depth of pick path to return X INTEGER STAT ! status (POK,PNPICK) X INTEGER PPD ! depth of actual pick path X INTEGER PP (3,*) ! pick path X X`09EXTERNAL pc_samplepick X X`09CALL pc_samplepick(%VAL(WKID),%VAL(PKDNR),%VAL(IPPD), X * STAT,PPD,PP) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC SAMPLE STRING XC X`09SUBROUTINE PSMST (WKID,STDNR,LOSTR,STR) X X `09INTEGER WKID ! workstation identifier X `09INTEGER STDNR ! string device number X INTEGER LOSTR ! number of characters returned X `09CHARACTER*(*) STR ! string X X`09EXTERNAL pc_samplestring X X`09CALL pc_samplestring(%VAL(WKID),%VAL(STDNR),LOSTR,STR) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC AWAIT EVENT XC X`09SUBROUTINE PWAIT (TOUT,WKID,ICL,IDNR) X X `09REAL TOUT ! time out (seconds) X`09INTEGER WKID ! workstation identifier X `09INTEGER ICL ! input class (PNCLAS,PLOCAT,PSTROK, X ! PVALUA,PCHOIC,PPICK,PSIRIN) X `09INTEGER IDNR ! logical input device number X X`09EXTERNAL pc_awaitevent X X`09CALL pc_awaitevent(TOUT,WKID,ICL,IDNR) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC FLUSH DEVICE EVENTS`09 XC X`09SUBROUTINE PFLUSH (WKID,ICL,IDNR) `20 X X INTEGER WKID ! workstation identifier X INTEGER ICL ! input class (PLOCAT,PSTROK,PVALUA, X ! PCHOIC,PPICK,PSTRIN) X INTEGER IDNR ! logical input device number X X`09EXTERNAL PFLUSHEVENTS X X`09CALL PFLUSHEVENTS(%VAL(WKID),%VAL(ICL),%VAL(IDNR)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET LOCATOR 3 XC X`09SUBROUTINE PGTLC3 (VIEWI,LPX,LPY,LPZ) X X`09INTEGER VIEWI ! view index X`09REAL LPX,LPY,LPZ ! locator position (WC) X X`09EXTERNAL pc_getloc3 X X`09CALL pc_getloc3(VIEWI,LPX,LPY,LPZ) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET LOCATOR XC X`09SUBROUTINE PGTLC (VIEWI,LPX,LPY) X X`09INTEGER VIEWI ! view index X`09REAL LPX,LPY ! locator position (WC) X X`09EXTERNAL pc_getloc X X`09CALL pc_getloc(VIEWI,LPX,LPY) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET STROKE 3 XC X`09SUBROUTINE PGTSK3 (N,VIEWI,NP,PXA,PYA,PZA) X `20 X`09INTEGER N ! dimension of arrays for stroke points X`09INTEGER VIEWI ! view index X INTEGER NP ! number of points X`09REAL PXA(*), PYA(*), PZA(*) ! coordinates of points in stroke (WC) X X`09EXTERNAL pc_getstroke3 X X CALL pc_getstroke3(%val(N),VIEWI,NP,PXA,PYA,PZA) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET STROKE XC X`09SUBROUTINE PGTSK (N,VIEWI,NP,PXA,PYA) X X INTEGER N ! dimension of arrays for stroke points X INTEGER VIEWI ! view index X `09INTEGER NP ! number of points X `09REAL PXA(*), PYA(*) ! coordinates of points in stroke (WC) X `20 X`09EXTERNAL pc_getstroke X X`09CALL pc_getstroke(%val(N),VIEWI,NP,PXA,PYA) X `20 X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET VALUATOR XC X`09SUBROUTINE PGTVL (VAL) X X REAL VAL ! value X X`09EXTERNAL PGETVAL X X`09CALL PGETVAL(VAL) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET CHOICE XC X`09SUBROUTINE PGTCH (STAT,CHNR) X X`09INTEGER STAT ! status (POK,PNCHOI) X`09INTEGER CHNR ! choice number X X`09EXTERNAL pc_getchoice X X`09CALL pc_getchoice(STAT,CHNR) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET PICK XC X`09SUBROUTINE PGTPK (IPPD,STAT,PPD,PP) X X`09INTEGER IPPD ! depth of pick path to return X`09INTEGER STAT ! status (POK,PNPICK) X `09INTEGER PPD ! depth of actual pick path X `09INTEGER PP (3,*) ! pick path X X`09EXTERNAL pc_getpick X X`09CALL pc_getpick(%VAL(IPPD),STAT,PPD,PP) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GET STRING XC `20 X`09SUBROUTINE PGTST (LOSTR,STR) X X INTEGER LOSTR ! number of characters resumed X `09CHARACTER*(*) STR ! string X X`09EXTERNAL pc_getstring X X`09CALL pc_getstring(LOSTR,STR) X X`09return X`09end Xc-------------------------------------------------------------------- X X XC `20 XC`09POLYLINE 3 XC X`09SUBROUTINE PPL3 (N, PXA, PYA, PZA) X X`09INTEGER N X`09REAL PXA(*), PYA(*), PZA(*) X X`09EXTERNAL pc_polyline3 X X`09CALL pc_polyline3(%VAL(N), PXA, PYA, PZA) X`20 X`09RETURN X`09END Xc-------------------------------------------------------------------- X XC XC`09POLYLINE XC X`09SUBROUTINE PPL (N, PXA, PYA) X X`09INTEGER N X`09REAL PXA(*), PYA(*) X`09 X`09EXTERNAL pc_polyline X X`09CALL pc_polyline(%VAL(N), PXA, PYA) `20 X X`09RETURN X`09END `20 Xc-------------------------------------------------------------------- `20 X XC XC`09POLYMARKER 3 XC X`09SUBROUTINE PPM3 (N, PXA, PYA, PZA) X X`09INTEGER N X`09REAL PXA(*), PYA(*), PZA(*) X X `09EXTERNAL pc_polymarker3 X X`09CALL pc_polymarker3(%VAL(N), PXA, PYA, PZA) `20 X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- X XC XC`09POLYMARKER XC X`09SUBROUTINE PPM (N, PXA, PYA) X X`09INTEGER N X`09REAL PXA(*), PYA(*) X X`09EXTERNAL pc_polymarker X X`09CALL pc_polymarker(%VAL(N), PXA, PYA) X `20 X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- `20 X XC XC`09TEXT 3 XC X`09SUBROUTINE PTX3 (PX, PY, PZ, TDX, TDY, TDZ, CHARS) X X`09REAL PX, PY, PZ X`09REAL TDX(2), TDY(2), TDZ(2) X`09CHARACTER*(*) CHARS X X`09EXTERNAL pc_text3 X X`09CALL pc_text3(PX, PY, PZ, TDX, TDY, TDZ, CHARS) X X`09RETURN X`09END `20 X Xc--------------------------------------------------------------------`20 XC XC`09TEXT`20 XC X`09SUBROUTINE PTX (PX, PY, CHARS) X X`09REAL PX, PY X`09CHARACTER*(*) CHARS X X`09EXTERNAL pc_text X X`09CALL pc_text(PX, PY, CHARS) X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- X XC XC`09ANNOTATION TEXT RELATIVE 3 XC X`09SUBROUTINE PATR3 (RPX, RPY, RPZ, APX, APY, APZ, CHARS) X X`09REAL RPX, RPY, RPZ X`09REAL APX, APY, APZ X`09CHARACTER*(*) CHARS X X`09EXTERNAL pc_annotationtextrelative3 X X`09CALL pc_annotationtextrelative3(RPX, RPY, RPZ, APX, APY, APZ, CHARS) X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- `20 X XC XC`09ANNOTATION TEXT RELATIVE`20 XC X`09SUBROUTINE PATR (RPX, RPY, APX, APY, CHARS) X X`09REAL RPX, RPY X`09REAL APX, APY X`09CHARACTER*(*) CHARS X X`09EXTERNAL pc_annotationtextrelative X X`09CALL pc_annotationtextrelative(RPX, RPY, APX, APY, CHARS) X X`09RETURN X`09END `20 X Xc--------------------------------------------------------------------`20 X `20 XC XC`09FILL AREA 3 XC X`09SUBROUTINE PFA3 (N, PXA, PYA, PZA) X X`09INTEGER N X`09REAL PXA(*), PYA(*), PZA(*) X X`09EXTERNAL pc_fillarea3 X X`09CALL pc_fillarea3(%VAL(N), PXA, PYA, PZA) X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- X XC XC`09FILL AREA`20 XC X`09SUBROUTINE PFA (N, PXA, PYA) X X`09INTEGER N X`09REAL PXA(*), PYA(*) X X`09EXTERNAL pc_fillarea X X`09CALL pc_fillarea(%VAL(N), PXA, PYA) X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- `20 XC XC`09FILL AREA SET 3 XC X`09SUBROUTINE PFAS3 (NPL, IXA, PXA, PYA, PZA) X X`09INTEGER NPL X`09INTEGER IXA(*) X`09REAL PXA(*), PYA(*), PZA(*) X X`09EXTERNAL pc_fillareaset3 X X`09CALL pc_fillareaset3(%VAL(NPL), IXA, PXA, PYA, PZA) X X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- X XC XC`09FILL AREA SET`20 XC X`09SUBROUTINE PFAS (NPL, IXA, PXA, PYA) X X`09INTEGER NPL X`09INTEGER IXA(*) X`09REAL PXA(*), PYA(*) X X`09EXTERNAL pc_fillareaset X X`09CALL pc_fillareaset(%VAL(NPL), IXA, PXA, PYA) X `20 X`09RETURN X`09END `20 X Xc-------------------------------------------------------------------- `20 X X XC XC ESCAPE XC X`09SUBROUTINE PESC (FCTID,LIDR,IDR,MLODR,LODR,ODR) X X X`09INTEGER FCTID ! function identification X`09INTEGER LIDR ! dimension of input data record array X`09CHARACTER*80 IDR (LIDR) ! input data record X`09INTEGER MLODR ! maximum length of output data record X`09INTEGER LODR ! number of array elements occupied in V ODR X CHARACTER*80 ODR(MLODR) ! output data record X X`09EXTERNAL PESCAPE X X`09CALL PESCAPE(%VAL(FCTID),%VAL(LIDR),IDR,MLODR,LODR,ODR) X X`09return X`09end X XC-------------------------------------------------------------------------- X XC XC OPEN ARCHIVE FILE XC X X`09SUBROUTINE POPARF (AFID,ARCFIL) X X INTEGER AFID ! archive file identifier X CHARACTER*(*) ARCFIL ! archive file name X X`09EXTERNAL pc_openarchivefile X X`09CALL pc_openarchivefile(%VAL(AFID),ARCFIL) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC CLOSE ARCHIVE FILE XC X SUBROUTINE PCLARF (AFID) X X INTEGER AFID ! archive file identifier `20 X X`09EXTERNAL PCLOSEARCHIVEFILE X X`09CALL PCLOSEARCHIVEFILE(%VAL(AFID)) X X`09return X`09end X Xc-------------------------------------------------------------------- X XC XC ARCHIVE STRUCTURES XC X`09SUBROUTINE PARST (AFID,N,LSTRID) X X INTEGER AFID ! archive file identifier X INTEGER N ! number of structure identifiers in the lis Vt X INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_archivestruct X X`09CALL pc_archivestruct(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC `20 XC ARCHIVE STRUCTURE NETWORKS XC X`09SUBROUTINE PARSN (AFID,N,LSTRID) X X INTEGER AFID ! archive file identifier X INTEGER N ! number of structure identifiers in the list X INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_archivestructnet X X`09CALL pc_archivestructnet(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC ARCHIVE ALL STRUCTURES XC X SUBROUTINE PARAST (AFID) X X INTEGER AFID ! archive file identifier X `20 X `09EXTERNAL PARCHIVEALLSTRUCT X X`09CALL PARCHIVEALLSTRUCT(%VAL(AFID)) X `20 X`09return X`09end Xc-------------------------------------------------------------------- X XC XC RETRIEVE STRUCTURE IDENTIFIERS XC `20 XC `20 X`09SUBROUTINE PRSID (AFID,ILSIZE,N,LSTRID) X X INTEGER AFID ! archive file identifier X `09INTEGER ILSIZE ! size of the list (LSTRID) X INTEGER N ! number of structure identifiers in the lis Vt X INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_retrievearchivedstructids X X`09CALL pc_retrievearchivedstructids(%VAL(AFID),%VAL(ILSIZE), X * N,LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC RETRIEVE STRUCTURES XC X SUBROUTINE PREST (AFID,N,LSTRID) X X INTEGER AFID ! archive file identifier X INTEGER N ! number of structure identifiers in the lis Vt X INTEGER LSTRID(*) ! list of structure identifiers `20 X X`09EXTERNAL pc_retrievestruct X X`09CALL pc_retrievestruct(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC RETRIEVE STRUCTURE NETWORKS XC X`09SUBROUTINE PRESN (AFID,N,LSTRID) X X INTEGER AFID ! archive file identifier X INTEGER N ! number of structure identifiers in the li Vst X INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_retrievestructnet X X`09CALL pc_retrievestructnet(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC `20 XC RETRIEVE ALL STRUCTURES XC`20 X SUBROUTINE PRAST (AFID) X X INTEGER AFID archive file identifier X X`09EXTERNAL PRETRIEVEALLSTRUCT X X`09CALL PRETRIEVEALLSTRUCT(%VAL(AFID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC RETRIEVE PATHS TO ANCESTORS XC X`09SUBROUTINE PREPAN (AFID,STRID,PTHORD,PTHDEP,IPTHSZ,N,OL,`09 X * APTHSZ,PATHS) X X`09INTEGER AFID ! archive file identifier +-+-+-+-+-+-+-+- END OF PART 162 +-+-+-+-+-+-+-+-