1*-----------------------------------------------------------------------
2*     UMSTVZ : SET VIEW PORT AND T-WINDOW
3*-----------------------------------------------------------------------
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      SUBROUTINE UMSTVZ
7
8      LOGICAL   LPRJ
9
10      COMMON    /UMWK1/ITR, RUNDEF, IUNDEF, PI, CPR, CPD, CP
11
12
13      CALL SGQVPT(VXMIN, VXMAX, VYMIN, VYMAX)
14      CALL SGLGET('L2TO3',LPRJ)
15
16      IF (LPRJ) THEN
17        RXMIN = 0.
18        RXMAX = 1.
19        RYMIN = 0.
20        RYMAX = 1.
21      ELSE
22        CALL STQWTR(RXMIN, RXMAX, RYMIN, RYMAX,
23     +              WXMIN, WXMAX, WYMIN, WYMAX, IWTRF)
24      END IF
25
26      IF (VXMIN .EQ. RUNDEF) VXMIN = RXMIN
27      IF (VXMAX .EQ. RUNDEF) VXMAX = RXMAX
28      IF (VYMIN .EQ. RUNDEF) VYMIN = RYMIN
29      IF (VYMAX .EQ. RUNDEF) VYMAX = RYMAX
30
31      CALL SGSVPT(VXMIN, VXMAX, VYMIN, VYMAX)
32
33*------------------------------- T-WINDOW ------------------------------
34
35      CALL SGQTXY(TXMIN, TXMAX, TYMIN, TYMAX)
36
37      IF (TXMIN .EQ. RUNDEF) TXMIN = -CPD*180
38      IF (TXMAX .EQ. RUNDEF) TXMAX =  CPD*180
39      IF (TYMAX .EQ. RUNDEF) TYMAX =  CPD*90
40      IF (TYMIN .EQ. RUNDEF) THEN
41        IF (ITR.EQ.30) THEN
42          CALL SGRGET('RSAT',RSAT)
43          IF (RSAT.EQ.0.) THEN
44            TYMIN = CPD*0.
45          ELSE
46            TYMIN = CPR*ASIN(1./RSAT)
47          END IF
48        ELSE
49          TYMIN =  -CPD*90
50        END IF
51      END IF
52
53      CALL SGSTXY(TXMIN, TXMAX, TYMIN, TYMAX)
54
55      END
56