INTERFACE TO SUBROUTINE J06WDZ [C] (NAME) CHARACTER *(*) NAME END INTERFACE TO SUBROUTINE J06WZY [C] () END INTERFACE TO SUBROUTINE NAGIV1 [C] (FNAME,BINARY) CHARACTER*(*) FNAME LOGICAL BINARY [REFERENCE] END SUBROUTINE J06WDF C NAG GRAPHICS LIBRARY, MARK 4 RELEASE. NAG COPYRIGHT 1994. C C NAG Graphical Interface - Inventor - double to single precision C --------------------------------------------------------------- C C Advances the frame or clears the screen C C .. Parameters .. INTEGER MAXCHR, MAXFRM PARAMETER (MAXCHR=8,MAXFRM=999) C .. Scalars in Common .. INTEGER ISET LOGICAL BINFIL CHARACTER*(MAXCHR) FILNAM C .. Local Scalars .. INTEGER LENGTH, NERR, NFRAME CHARACTER STR1 CHARACTER*2 STR2 CHARACTER*3 STR3 CHARACTER*80 OUTSTR CHARACTER*(MAXCHR+5) NAME C .. External Subroutines .. EXTERNAL J06VAF, J06WDZ, J06WZY, J06YCX, NAGIV1, X04BAF C .. External Functions .. INTEGER J06ZUF EXTERNAL J06ZUF C .. Intrinsic Functions .. INTRINSIC CHAR C .. Common blocks .. COMMON /AJ06HC/ISET COMMON /YJ06WD/BINFIL COMMON /ZJ06WD/FILNAM C .. Save statement .. SAVE /AJ06HC/, NFRAME, /YJ06WD/, /ZJ06WD/ C .. Data statements .. DATA NFRAME/1/ C .. Executable Statements .. C C Set surface viewing flag C ISET = 0 C C Output polyline buffer C CALL J06YCX C C Close the current Inventor output file C CALL J06WZY C C Rename the first Inventor output file C To make a numbered sequence of all the files C LENGTH = J06ZUF(FILNAM) NAME(1:LENGTH) = FILNAM LENGTH = LENGTH + 1 NAME(LENGTH:LENGTH) = CHAR(0) IF (NFRAME.EQ.1) CALL J06WDZ(NAME) C C Open a new Inventor output file for the next frame C Checking if the maximum number of frames is not exceeded C NFRAME = NFRAME + 1 NAME(LENGTH:LENGTH) = '.' LENGTH = LENGTH + 1 IF (NFRAME.LE.MAXFRM) THEN IF (NFRAME.LT.10) THEN WRITE (STR1,FMT='(I1)') NFRAME NAME(LENGTH:LENGTH) = STR1 LENGTH = LENGTH + 1 ELSE IF (NFRAME.LT.100) THEN WRITE (STR2,FMT='(I2)') NFRAME NAME(LENGTH:LENGTH+1) = STR2 LENGTH = LENGTH + 2 ELSE IF (NFRAME.LT.1000) THEN WRITE (STR3,FMT='(I3)') NFRAME NAME(LENGTH:LENGTH+2) = STR3 LENGTH = LENGTH + 3 END IF ELSE CALL J06VAF(0,NERR) WRITE (OUTSTR,FMT=99999) CALL X04BAF(NERR,OUTSTR) WRITE (OUTSTR,FMT=99998) CALL X04BAF(NERR,OUTSTR) STOP END IF NAME(LENGTH:LENGTH) = CHAR(0) CALL NAGIV1(NAME,BINFIL) C RETURN C 99999 FORMAT (' Maximum number of output files from Inventor has been ', * ' exceeded...') 99998 FORMAT (' Stop program execution in J06WDF') END