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.
125 lines
4.1 KiB
125 lines
4.1 KiB
2 years ago
|
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
|