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 SOLID (LENF, NLNKF, LINKF, NXFAC, IXFAC, & XN, YN, ZN, IELBST, BLKCOL, IDELB, *) C======================================================================= C --*** SOLID *** (DETOUR) Paint solid mesh (by index) C -- Modified by John Glick - 11/29/88 C -- Written by Amy Gilkey - revised 10/27/87 C -- C --SOLID paints the mesh in the color of each element's element block. C -- C --Parameters: C -- LENF - IN - the cumulative face counts by element block C -- NLNKF - IN - the number of nodes per face C -- LINKF - IN - the connectivity for all faces C -- NXFAC - IN - the number of ordered faces (if DOIXF) C -- IXFAC - IN - the indices of the ordered faces (if DOIXF) C -- XN, YN, ZN - IN - the nodal coordinates C -- IELBST - IN - the element block status (>0 if selected) 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 NUMEL, NELBLK of /DBNUMS/ C -- Uses IS3DIM of /D3NUMS/ include 'dbnums.blk' COMMON /D3NUMS/ IS3DIM, NNPSUR, NUMNPF, LLNSET LOGICAL IS3DIM INTEGER LENF(0:NELBLK) INTEGER NLNKF(NELBLK) INTEGER LINKF(*) INTEGER IXFAC(*) REAL XN(*), YN(*), ZN(*) INTEGER IELBST(NELBLK) INTEGER BLKCOL(0:NELBLK) INTEGER IDELB(*) LOGICAL GRABRT DO 100 IX = 1, NXFAC IFAC = IXFAC(IX) IELB = 0 IXL = IDBLNK (IELB, IFAC, LENF, NLNKF) IF (GRABRT ()) RETURN 1 IF (IELB .GT. 0) THEN c ITEMP = IDELB(IELB) ITEMP = IELB ELSE ITEMP = IELB ENDIF CALL UGRCOL (ITEMP, BLKCOL) IF ( (.NOT. IS3DIM) .AND. (NLNKF(IELB) .EQ. 9)) THEN NNPF = 8 ELSE NNPF = NLNKF(IELB) ENDIF CALL SOLIDF (NNPF, LINKF(IXL), XN, YN, ZN) 100 CONTINUE CALL PLTFLU RETURN END