Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

124 lines
4.1 KiB

C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
C=======================================================================
SUBROUTINE OUTLIN (BLKCOL, *)
C=======================================================================
C --*** OUTLIN *** (MESH) Outline viewport windows
C -- Written by John Glick - 11/11/88
C --
C --OUTLIN outlines the viewport windows (symmetric views as one
C --window, copies as separate windows)
C --
C --Parameters:
C -- BLKCOL - IN/OUT - the user selected colors of the element blocks.
C -- BLKCOL(0) = 1 if the user defined material
C -- colors should be used in mesh plots.
C -- = -1 if program selected colors should
C -- be used.
C -- BLKCOL(i) = the user selected color of element
C -- block i:
C -- -2 - no color selected by user.
C -- -1 - black
C -- 0 - white
C -- 1 - red
C -- 2 - green
C -- 3 - yellow
C -- 4 - blue
C -- 5 - cyan
C -- 6 - magenta
C -- * - return statement if the cancel function is active
C --
C --Common Variables:
C -- Uses MSHDEF of /MSHOPC/
C -- Uses XISSYM, YISSYM of /VIEWS/
C -- Uses DVIEW of /LAYOUT/
PARAMETER (KLFT=1, KRGT=2, KBOT=3, KTOP=4)
include 'dbnums.blk'
COMMON /MSHOPC/ MSHDEF(4), MSHNUM(4)
CHARACTER*8 MSHDEF, MSHNUM
COMMON /VIEWS/ MULTIM,
& XISSYM, YISSYM, XAXSYM, YAXSYM, LFTSYM, BOTSYM
LOGICAL MULTIM, XISSYM, YISSYM, LFTSYM, BOTSYM
COMMON /LAYOUD/ DVIEW(KTOP,4), WVIEW(KTOP,4)
COMMON /LEGOPT/ DOQA(2), DOLEG(2), DOAXIS(2), DOBOX
LOGICAL DOQA, DOLEG, DOAXIS, DOBOX
INTEGER BLKCOL(0:NELBLK)
LOGICAL GRABRT
INTEGER NDEFVW, IXVW
LOGICAL XISCOP, YISCOP
REAL DAVIEW(KTOP)
IF (.NOT. DOBOX) RETURN
XISCOP = (.NOT. XISSYM) .AND. (MSHDEF(1) .NE. 'NONE')
YISCOP = (.NOT. YISSYM) .AND. (MSHDEF(4) .NE. 'NONE')
CALL UGRCOL (0, BLKCOL)
IF (XISSYM) THEN
DAVIEW(KLFT) = DVIEW(KLFT,2) - (DVIEW(KRGT,2) - DVIEW(KLFT,2))
ELSE
DAVIEW(KLFT) = DVIEW(KLFT,2)
END IF
DAVIEW(KRGT) = DVIEW(KRGT,2)
IF (YISSYM) THEN
DAVIEW(KBOT) = DVIEW(KBOT,2) - (DVIEW(KTOP,2) - DVIEW(KBOT,2))
ELSE
DAVIEW(KBOT) = DVIEW(KBOT,2)
END IF
DAVIEW(KTOP) = DVIEW(KTOP,2)
IF (XISSYM .AND. YISSYM) THEN
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L',
& DAVIEW(KLFT), DAVIEW(KRGT), DAVIEW(KBOT), DAVIEW(KTOP))
ELSE IF (XISSYM) THEN
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L',
& DAVIEW(KLFT), DAVIEW(KRGT), DVIEW(KBOT,2), DVIEW(KTOP,2))
IF (YISCOP) THEN
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L',
& DAVIEW(KLFT), DAVIEW(KRGT), DVIEW(KBOT,4), DVIEW(KTOP,4))
END IF
ELSE IF (YISSYM) THEN
IF (XISCOP) THEN
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L',
& DVIEW(KLFT,1), DVIEW(KRGT,1), DAVIEW(KBOT), DAVIEW(KTOP))
END IF
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L',
& DVIEW(KLFT,2), DVIEW(KRGT,2), DAVIEW(KBOT), DAVIEW(KTOP))
ELSE
DO 100 IVW = 1, NDEFVW (.TRUE.)
IVIEW = IXVW (.TRUE., IVW)
IF (GRABRT ()) RETURN 1
CALL GRBOX ('L', DVIEW(KLFT,IVIEW), DVIEW(KRGT,IVIEW),
& DVIEW(KBOT,IVIEW), DVIEW(KTOP,IVIEW))
100 CONTINUE
END IF
C --Flush buffer, so label is complete at this point
CALL PLTFLU
RETURN
END