INTERFACE TO SUBROUTINE NAGIV1 [C] (FNAME,BINARY) CHARACTER*(*) FNAME LOGICAL BINARY [REFERENCE] END SUBROUTINE NAGIV(FNAME,BINARY) C NAG GRAPHICS LIBRARY, MARK 4 RELEASE. NAG COPYRIGHT 1994. C C NAG Graphical Interface - Inventor - double to single precision C --------------------------------------------------------------- C C NAG initialisation routine. C C .. Parameters .. INTEGER MAXCHR PARAMETER (MAXCHR=8) C .. Scalar Arguments .. LOGICAL BINARY CHARACTER*(*) FNAME C .. Scalars in Common .. LOGICAL BINFIL CHARACTER*(MAXCHR) FILNAM C .. Local Scalars .. INTEGER I, LENGTH, NERR CHARACTER*80 OUTSTR CHARACTER*(MAXCHR+1) NAME C .. External Subroutines .. EXTERNAL J06VAF, NAGIV1, X04BAF C .. External Functions .. INTEGER J06ZUF EXTERNAL J06ZUF C .. Common blocks .. COMMON /YJ06WD/BINFIL COMMON /ZJ06WD/FILNAM C .. Save statement .. SAVE /YJ06WD/, /ZJ06WD/ C .. Executable Statements .. C C Check the length of the filename C Store it in common, possibly truncated C Treat the name ' ' as a special case C LENGTH = J06ZUF(FNAME) IF (LENGTH.GT.MAXCHR) THEN LENGTH = MAXCHR CALL J06VAF(0,NERR) WRITE (OUTSTR,FMT=99999) FNAME, FNAME(1:LENGTH) CALL X04BAF(NERR,OUTSTR) END IF FILNAM(1:LENGTH) = FNAME(1:LENGTH) IF (LENGTH.EQ.0) THEN FILNAM(1:1) = '*' LENGTH = 1 END IF IF (LENGTH.EQ.1 .AND. FNAME(1:1).EQ.'*') THEN FILNAM(1:2) = '**' LENGTH = 2 END IF DO 20 I = LENGTH + 1, MAXCHR FILNAM(I:I) = ' ' 20 CONTINUE C C Store the file format in common C BINFIL = BINARY C C Start communications between Inventor and NAG Graphics Library C specifying the base name of the Inventor output file C C As this interface writes its output from C C the usual command channel specification (J06VCF) has no effect C NAME(1:LENGTH) = FILNAM(1:LENGTH) LENGTH = LENGTH + 1 NAME(LENGTH:LENGTH) = CHAR(0) CALL NAGIV1(NAME,BINFIL) C RETURN C 99999 FORMAT (' Warning - filename for Inventor output will be truncat', * 'ed from ',A,' TO ',A) END