-+-+-+-+-+-+-+-+ START OF PART 163 -+-+-+-+-+-+-+-+ X`09INTEGER STRID ! structure identifier X`09INTEGER PTHORD ! path order (PPOTOP,PPOBOT) `20 X`09INTEGER PTHDEP ! path depth X`09INTEGER IPTHSZ ! size of path buffer X`09INTEGER N ! element of list of paths X`09INTEGER OL ! number of paths available X`09INTEGER APTHSZ ! actual size of the Nth structure path X`09INTEGER PATHS(2,IPTHSZ) ! Nth structure path X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC RETRIEVE PATHS TO DESCENDANTS XC X`09SUBROUTINE PREPDE (AFID, STRID, PTHORD, PTHDEP, IPTHSZ, N, OL, X * APTHSZ,PATHS) X X`09INTEGER AFID ! archive file identifier X`09INTEGER STRID ! structure identifier `20 X`09INTEGER PTHORD ! path order (PPOTOP,PPOBOT) X`09INTEGER PTHDEP ! path depth X`09INTEGER IPTHSZ ! size of path buffer X`09INTEGER N ! element of list of paths X`09INTEGER OL ! number of paths available X`09INTEGER APTHSZ ! actual size of the Nth structure path X`09INTEGER PATHS(2,IPTHSZ) ! Nth structure path X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC DELETE STRUCTURES FROM ARCHIVE XC X`09SUBROUTINE PDSTAR (AFID,N,LSTRID) X X`09INTEGER AFID ! archive file identifier X`09INTEGER N ! number of structure identifiers in the list`20 X`09INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_delstructarchive X X`09CALL pc_delstructarchive(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC DELETE STRUCTURE NETWORKS FROM ARCHIVE XC X`09SUBROUTINE PDSNAR (AFID,N,LSTRID) X X`09INTEGER AFID ! archive file identifier X`09INTEGER N ! number of structure identifiers in the list X`09INTEGER LSTRID(*) ! list of structure identifiers X X`09EXTERNAL pc_delstructnetarchive X X`09CALL pc_delstructnetarchive(%VAL(AFID),%VAL(N),LSTRID) X X`09return X`09end Xc-------------------------------------------------------------------- `20 X`20 XC XC DELETE ALL STRUCTURES FROM ARCHIVE XC X`09SUBROUTINE PDASAR (AFID) X X`09INTEGER AFID ! archive file identifier X X`09EXTERNAL PDELALLSTRUCTARCHIVE X X`09CALL PDELALLSTRUCTARCHIVE(%VAL(AFID)) X X`09return X`09end X XC-------------------------------------------------------------------------- X XC XC OPEN STRUCTURE XC X`09SUBROUTINE POPST (STRID) X X`09INTEGER STRID X`09 X`09EXTERNAL POPENSTRUCT X X`09CALL POPENSTRUCT(%VAL(STRID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC CLOSE STRUCTURE XC`20 X`09SUBROUTINE PCLST X X`09EXTERNAL PCLOSESTRUCT X X`09CALL PCLOSESTRUCT() X X`09return X`09end `20 Xc-------------------------------------------------------------------- X XC XC EXECUTE STRUCTURE XC X`09SUBROUTINE PEXST (STRID) X X`09INTEGER STRID`20 X X`09EXTERNAL PEXECUTESTRUCT X X`09CALL PEXECUTESTRUCT(%VAL(STRID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC LABEL XC X`09SUBROUTINE PLB (LABEL) X X`09INTEGER LABEL `20 X X`09EXTERNAL PLABEL X X`09CALL PLABEL(%VAL(LABEL)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC APPLICATION DATA XC X`09SUBROUTINE PAP (LDR, DATREC) X X`09INTEGER LDR X`09CHARACTER*80 DATREC(LDR) X X`09EXTERNAL PAPPLICATIONDATA X X`09CALL PAPPLICATIONDATA(LDR,DATREC) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC GENERALIZED STRUCTURE ELEMENT `20 XC`20 X X`09SUBROUTINE PPGSE (GSEID, LDR, DATREC) X X`09INTEGER GSEID X`09INTEGER LDR`20 X`09CHARACTER*80 DATREC(LDR)`20 X X`09EXTERNAL PGSE X X`09CALL PGSE(%VAL(GSEID),LDR,DATREC) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC COPY ALL ELEMENTS FROM STRUCTURE XC X SUBROUTINE PCELST (STRID) X X INTEGER STRID ! structure identifier X X`09EXTERNAL PCOPYALLELEMSSTRUCT X X`09CALL PCOPYALLELEMSSTRUCT(%VAL(STRID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC OFFSET ELEMENT POINTER XC X X SUBROUTINE POSEP (EPO) X X INTEGER EPO ! element position offset X X `09EXTERNAL POFFSETELEMPTR X X`09CALL POFFSETELEMPTR(%VAL(EPO)) X X`09return `20 X`09end Xc-------------------------------------------------------------------- X X XC XC DELETE ELEMENT XC X`09SUBROUTINE PDEL X X`09EXTERNAL PDELELEM X X`09CALL PDELELEM() X X`09return X`09end `20 Xc-------------------------------------------------------------------- `20 XC XC DELETE ELEMENT RANGE XC X X`09SUBROUTINE PDELRA (EP1,EP2) X X`09INTEGER EP1 ! element position 1 X INTEGER EP2 ! element position 2 X X`09EXTERNAL PDELELEMRANGE X X`09CALL PDELELEMRANGE(%VAL(EP1),%VAL(EP2)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC DELETE ELEMENTS BETWEEN LABELS `20 XC X X`09SUBROUTINE PDELLB (LABEL1,LABEL2) X X `20 X `09INTEGER LABEL1 ! label identifier 1 X`09INTEGER LABEL2 ! label identifier 2 X X`09EXTERNAL PDELELEMSLABELS X X`09CALL PDELELEMSLABELS(%VAL(LABEL1),%VAL(LABEL2)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC EMPTY STRUCTURE XC X SUBROUTINE PEMST (STRID) X X INTEGER STRID ! structure identifier X `20 X `09EXTERNAL PEMPTYSTRUCT X X`09CALL PEMPTYSTRUCT(%VAL(STRID)) X `20 X`09return X`09end Xc-------------------------------------------------------------------- X `20 XC XC POST STRUCTURE XC`20 X`09SUBROUTINE PPOST(WKID,STRID,PRIORT) X X INTEGER WKID ! workstation identifier X INTEGER STRID ! structure identifier X REAL PRIORT ! display priority X X`09EXTERNAL pc_poststruct X X`09CALL pc_poststruct(%VAL(WKID),%VAL(STRID),PRIORT) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC UNPOST STRUCTURE XC X`09SUBROUTINE PUPOST(WKID,STRID) X X INTEGER WKID ! workstation identifier X INTEGER STRID ! structure identifier `20 X X`09EXTERNAL PUNPOSTSTRUCT X X`09CALL PUNPOSTSTRUCT(%VAL(WKID),%VAL(STRID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC UNPOST ALL STRUCTURES XC`20 X SUBROUTINE PUPAST(WKID) X X INTEGER WKID ! workstation identifier X X`09EXTERNAL PUNPOSTALLSTRUCT X X`09CALL PUNPOSTALLSTRUCT(%VAL(WKID)) X X`09return X`09end X `20 XC-------------------------------------------------------------------------- XC XC DELETE STRUCTURE XC X SUBROUTINE PDST (STRID) X X INTEGER STRID ! structure identifier X X`09EXTERNAL PDELSTRUCT X X`09CALL PDELSTRUCT(%VAL(STRID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC DELETE STRUCTURE NETWORK XC X X`09SUBROUTINE PDSN (STRID,REFHNF) X X INTEGER STRID ! structure identifier X INTEGER REFHNF ! reference handling flag (PDELE,PKEE VP) X X`09EXTERNAL PDELSTRUCTNET X X`09CALL PDELSTRUCTNET(%VAL(STRID),%VAL(REFHNF)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC DELETE ALL STRUCTURES XC X X`09SUBROUTINE PDAS X X`09EXTERNAL PDELALLSTRUCT X X`09CALL PDELALLSTRUCT() X X`09return X`09end Xc-------------------------------------------------------------------- X`09 XC XC CHANGE STRUCTURE IDENTIFIER XC X`09SUBROUTINE PCSTID (OLDSID,NEWSID) `20 X X`09INTEGER OLDSID ! original structure identifier X`09INTEGER NEWSID ! resulting structure identifier X X`09EXTERNAL PCHANGESTRUCTID X X`09CALL PCHANGESTRUCTID(%VAL(OLDSID),%VAL(NEWSID)) X X`09return X`09end Xc-------------------------------------------------------------------- X XC XC CHANGE STRUCTURE REFERENCES XC X X`09SUBROUTINE PCSTRF (OLDSID,NEWSID) X X X`09INTEGER OLDSID ! original structure identifier X`09INTEGER NEWSID ! resulting structure identifier X X`09EXTERNAL PCHANGESTRUCTREF X X`09CALL PCHANGESTRUCTREF(%VAL(OLDSID),%VAL(NEWSID)) X X`09return `20 X`09end Xc-------------------------------------------------------------------- X XC XC CHANGE STRUCTURE IDENTIFIER AND REFERENCES XC X`09SUBROUTINE PCSTIR (OLDSID,NEWSID) X X`09INTEGER OLDSID ! original structure identifier X`09INTEGER NEWSID ! resulting structure identifier X X`09EXTERNAL PCHANGESTRUCTIDREF X X`09CALL PCHANGESTRUCTIDREF(%VAL(OLDSID),%VAL(NEWSID)) X X`09return X`09end `20 X XC-------------------------------------------------------------------------- X X SUBROUTINE PBLTM(xo, yo, dx, dy, phi, fx, fy, errind, xfrmt) X REAL xo, yo, dx, dy, phi, fx, fy X INTEGER errind X REAL xfrmt(3, 3) X external pc_buildtran X `20 X call pc_buildtran(xo, yo, dx, dy, phi, fx, fy, errind, xfrmt) X `20 X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PBLTM3(xo, yo, zo, dx, dy, dz, phix, phiy, phiz, X : fx, fy, fz, errind, xfrmt) X REAL xo, yo, zo, dx, dy, dz, phix, phiy, phiz, fx, fy, fz X INTEGER errind X REAL xfrmt(4, 4) X external pc_buildtran3 X X call pc_buildtran3(xo, yo, zo, dx, dy, dz, phix, phiy, phiz, X : fx, fy, fz, errind, xfrmt) X `20 X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PCOTM(xfrmti, xo, yo, dx, dy, phi, fx, fy, errind, X : xfrmto) X REAL xfrmti(3, 3) X REAL xo, yo, dx, dy, phi, fx, fy X INTEGER errind X REAL xfrmto(3, 3) X external pc_composetran X X call pc_composetran(xfrmti, xo, yo, dx, dy, phi, fx, fy,`20 X : errind, xfrmto) X `20 X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PCOTM3(xfrmti, xo, yo, zo, dx, dy, dz, phix, X : phiy, phiz, fx, fy, fz, errind, xfrmto) X REAL xfrmti(4, 4) X REAL xo, yo, zo, dx, dy, dz, phix, phiy, phiz, fx, fy, fz X INTEGER errind X REAL xfrmto(4, 4) X external pc_composetran3 X X call pc_composetran3(xfrmti, xo, yo, zo, dx, dy, dz, phix, X : phiy, phiz, fx, fy, fz, errind, xfrmto) X `20 X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PEVMM(vwwnlm, pjvplm, errind, vwmpmt) X REAL vwwnlm(4), pjvplm(4) X INTEGER errind X REAL vwmpmt(3, 3) X external pc_evalviewmappingmatrix X `20 X call pc_evalviewmappingmatrix(vwwnlm, pjvplm, errind, vwmpmt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PEVMM3(vwwnlm, pjvplm, pjtype, pjrx, X : pjry, pjrz, vpld, bpld, fpld, errind, vwmpmt) X REAL vwwnlm(4) X REAL pjvplm(6) X INTEGER pjtype X REAL pjrx, pjry, pjrz, vpld, bpld, fpld X INTEGER errind X REAL vwmpmt(4, 4) X external pc_evalviewmappingmatrix3 X `20 X call pc_evalviewmappingmatrix3(vwwnlm, pjvplm,`20 X : %val(pjtype), pjrx, X : pjry, pjrz, vpld, bpld, fpld, errind, vwmpmt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PEVOM(vwrx, vwry, vupx, vupy, errind, vwormt) X REAL vwrx, vwry, vupx, vupy X INTEGER errind X REAL vwormt(3, 3) X external pc_evalvieworientationmatrix X `20 X call pc_evalvieworientationmatrix(vwrx, vwry, vupx, vupy,`20 X : errind, vwormt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PEVOM3(vwrx, vwry, vwrz,`20 X : vpnx, vpny, vpnz, vupx, vupy, vupz, errind, vwormt) X REAL vwrx, vwry, vwrz, vpnx, vpny, vpnz, vupx, vupy, vupz X INTEGER errind X REAL vwormt(4, 4) X external pc_evalvieworientationmatrix3 X X call pc_evalvieworientationmatrix3(vwrx, vwry, vwrz,`20 X : vpnx, vpny, vpnz, vupx, vupy, vupz, errind, vwormt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PRO(rotang, errind, xfrmt) X REAL rotang X INTEGER errind X REAL xfrmt(3, 3) X external pc_rotate X `20 X call pc_rotate(rotang, errind, xfrmt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PROX(rotang, errind, xfrmt) X REAL rotang X INTEGER errind X REAL xfrmt(4, 4) X external pc_rotatex X `20 X call pc_rotatex(rotang, errind, xfrmt) X X RETURN X END X `20 XC-------------------------------------------------------------------------- X `20 X SUBROUTINE PROY(rotang, errind, xfrmt) X REAL rotang X INTEGER errind X REAL xfrmt(4, 4) X external pc_rotatey X `20 X call pc_rotatey(rotang, errind, xfrmt) X +-+-+-+-+-+-+-+- END OF PART 163 +-+-+-+-+-+-+-+-