INTERFACE TO SUBROUTINE J06XLZ [C] (ICOL,RCOL,GCOL,BCOL,LCOL) INTEGER*4 ICOL [REFERENCE] REAL*4 RCOL [REFERENCE] REAL*4 GCOL [REFERENCE] REAL*4 BCOL [REFERENCE] LOGICAL LCOL [REFERENCE] END SUBROUTINE J06XLF(ICOL,R,G,B) C NAG GRAPHICS LIBRARY, MARK 4 RELEASE. NAG COPYRIGHT 1994. C C NAG Graphical Interface - Inventor - double to single precision C --------------------------------------------------------------- C C Defines colour number ICOL in (R,G,B) colour system C C ICOL Colour number C R Red component (0.0 <= R <= 1.0) C G Green component (0.0 <= G <= 1.0) C B Blue component (0.0 <= B <= 1.0) C C .. Scalar Arguments .. DOUBLE PRECISION B, G, R INTEGER ICOL C .. Scalars in Common .. INTEGER MNCOL, MXCOL, MXFONT, MXLINE LOGICAL LCOLOR C .. Arrays in Common .. DOUBLE PRECISION COLB(2,17), COLG(2,17), COLR(2,17) C .. Local Scalars .. DOUBLE PRECISION ZB, ZG, ZR INTEGER NERR CHARACTER*80 OUTREC C .. External Subroutines .. EXTERNAL J06VAF, J06XLZ, J06YCX, X04BAF C .. Intrinsic Functions .. INTRINSIC MAX, MIN, REAL C .. Common blocks .. COMMON /GJ06XA/MNCOL, MXCOL, MXLINE, MXFONT COMMON /YJ06XA/COLR, COLG, COLB, LCOLOR C .. Save statement .. SAVE /GJ06XA/, /YJ06XA/ C .. Executable Statements .. C IF (ICOL.GE.MNCOL .AND. ICOL.LE.MXCOL) THEN C C Output polyline buffer C CALL J06YCX C C Set colour representation C ZR = (MAX(MIN(1.0D0,R),0.0D0)) ZG = (MAX(MIN(1.0D0,G),0.0D0)) ZB = (MAX(MIN(1.0D0,B),0.0D0)) C C Store the new colour in the RGB monochrome or colour index C IF (LCOLOR) THEN COLR(1,ICOL+1) = ZR COLG(1,ICOL+1) = ZG COLB(1,ICOL+1) = ZB ELSE COLR(2,ICOL+1) = ZR COLG(2,ICOL+1) = ZG COLB(2,ICOL+1) = ZB END IF CALL J06XLZ(ICOL,REAL(ZR),REAL(ZG),REAL(ZB),LCOLOR) C IF (ZR.NE.R .OR. ZG.NE.G .OR. ZB.NE.B) THEN CALL J06VAF(0,NERR) WRITE (OUTREC,FMT=99997) ICOL CALL X04BAF(NERR,OUTREC) WRITE (OUTREC,FMT=99996) CALL X04BAF(NERR,OUTREC) END IF ELSE CALL J06VAF(0,NERR) WRITE (OUTREC,FMT=99999) ICOL CALL X04BAF(NERR,OUTREC) WRITE (OUTREC,FMT=99998) CALL X04BAF(NERR,OUTREC) END IF RETURN C 99999 FORMAT (' Warning - Illegal parameter ICOL =',I5,' ...') 99998 FORMAT (' ...Call of J06XLF ignored') 99997 FORMAT (' Warning - Invalid R,G,B definition given for colour IC', * 'OL = ',I5,' ...') 99996 FORMAT (' ...Suitable default assumed in call to J06XLF') END