



      SUBROUTINE GRA001 (DONE)




















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INCLUDE       'OPTION.INC'
      INTEGER       IOPT, IERR
      LOGICAL       DONE, OLDROCK







      CALL GRA000 (IERR)



      DO 20 IOPT=1,MAXOPT
         IF (OPTION(IOPT).EQ.'UNDISP') THEN
            IF (.NOT.JUNIOR) CALL GVSCTB (OPTION(IOPT),6)
            GOTO 21
         ELSE IF (OPTION(IOPT).EQ.'      ') THEN
            IF (JUNIOR) OPTION(IOPT)='UNDISP'
            GOTO 21
         END IF
   20 CONTINUE
   21 CONTINUE



      IF (OPTIN.EQ.MEN6COD(58)) GOTO 998
      CALL MEN011 (OPTIN,DONE)



      IF (OPTIN.EQ.'DEMO10') THEN
         CALL GRTKOF
         OLDROCK=IRROCK
         IRROCK=.TRUE.
         CALL GVSPAU (WIFPAR(868))
         IRROCK=OLDROCK
         DONE=.TRUE.
         CALL GRTKON
      END IF




  998 CONTINUE


      RETURN
      END

      SUBROUTINE DOTSAVE

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'VECTOR.INC'
      INCLUDE       'IRIGRA.INC'







      IF (.NOT.USE300) CALL GRTVIN
      IF (NUMGRV.LE.0.75*MAXVEC) GOTO 998



      CALL GRADOT (' ')
      CALL GRTVIN



  998 CONTINUE


      RETURN
      END

      SUBROUTINE GRA102

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INTEGER       IAA, IAT







      CALL WIFGRS (IAA,'?NEWT160')
      IF (IAA.EQ.0) GOTO 998
      IRSTAT(15)=IAA



      IF (ISATOK(PNTAAC(IAA))) THEN
         CALL GRA102A (PNTAAC(IAA))
      ELSE 
         DO 100 IAT=PNTAAS(IAA),PNTAAE(IAA)
            IF (ISATOK(IAT)) THEN
               CALL GRA102A (IAT)
               GOTO 998
            END IF
  100    CONTINUE
         CALL GVSTTE ('?R00255')
      END IF



  998 CONTINUE


      RETURN
      END
      SUBROUTINE GRA102A (IAT)

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INTEGER       IERR, IAT
      LOGICAL       WIFITI







      IF (.NOT.USE300) GOTO 998
      IF (.NOT.WIFITI(IAT)) THEN
         CALL GVSTTB ('?R00256')
         GOTO 998
      END IF
      IF (.NOT.ISATOK(IAT)) THEN
         CALL GVSTTB ('?R00257')
         GOTO 998
      END IF
      ACONVC(1)=XCOORD(IAT)
      ACONVC(2)=YCOORD(IAT)
      ACONVC(3)=ZCOORD(IAT)



      CALL GRTCEN (IERR)



  998 CONTINUE


      RETURN
      END
      SUBROUTINE GRA103 (SCALIN,SLABIN)

















      IMPLICIT      NONE
      INCLUDE       'IRIGRA.INC'
      INTEGER       I, GVFFFF
      REAL          TEMP, SCALIN, SLABIN







      IF (ABS(SCALIN).LT.0.001) THEN
         CALL IPROMPT ('?GRA001')
         I=GVFFFF(1,TEMP)
         IF (I.EQ.1.AND.ABS(TEMP).LT.0.00001) GOTO 998
      ELSE
         TEMP=SCALIN
      END IF
      IF (TEMP.GT.0.001) SCVAL=TEMP



      IF (ABS(SLABIN).LT.0.001) THEN
         CALL IPROMPT ('?GRA002')
         I=GVFFFF(1,TEMP)
         IF (I.EQ.1.AND.ABS(TEMP).LT.0.00001) GOTO 998
      ELSE
         TEMP=SLABIN
      END IF
      IF (TEMP.GT.0.5) SLABIR=TEMP



  998 CONTINUE


      RETURN
      END
      SUBROUTINE GRA104

















      IMPLICIT      NONE
      INCLUDE       'IRIGRA.INC'







      CALL GVSNL6 (2)
      CALL GVSTTR ('?GRA003',SCVAL)
      CALL GVSTTR ('?GRA004',SLABIR)
      CALL GVSNL6 (1)





      RETURN
      END
      SUBROUTINE GRA111

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INCLUDE       'JUNIOR.INC'
      INTEGER       IO
      LOGICAL       GRAPON







      IF (.NOT.GRAPON()) GOTO 998



      DO 10 IO=1001,5000
         IOBJ(IO)=0
   10 CONTINUE
      CALL GVSIT0 (JUNIAA,MAXAA)



  998 CONTINUE


      RETURN
      END   

      SUBROUTINE GRARDG (IRIDGE)

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INTEGER       IOB, IRIDGE, GRTVGN, IERR







      RETURN
      END
