1      subroutine gsarcc(xc,yc,angl,iopt)
2      INCLUDE 'Parametres.f'
3c
4      parameter (precis=0.02,precmin=.2)
5ccc(g77)      parameter (nn=int(6.3/precis)+4)
6      parameter (nn=520)
7      dimension xarc(nn),yarc(nn)
8c
9      data pis180  / 0.0174532925199433 /
10c
11      call gsqcp(x,y)
12      r = sqrt((xc-x)**2 + (yc-y)**2)
13c
14cc      arg = acos( (x-xc)/r )
15cc      if ( (y-yc).lt.0. ) arg = -arg
16      arg = atan2(y-yc,x-xc)
17      argmax = arg + angl*pis180
18c
19      prec = 2.*r*precis/(x1clipmed-x0clipmed)
20      prec = min(precmin,max(precis,prec))
21      if (argmax.lt.arg) then
22        sig = -1.
23      else
24        sig = 1.
25      endif
26c
27      xarc(1) = x
28      yarc(1) = y
29      n = 1
30   10 arg = arg+sig*prec
31      n = n+1
32      if (sig*arg.lt.sig*argmax) then
33        xarc(n) = xc + r*cos(arg)
34        yarc(n) = yc + r*sin(arg)
35        goto 10
36      else
37        xarc(n) = xc + r*cos(argmax)
38        yarc(n) = yc + r*sin(argmax)
39      endif
40      n = n+1
41      xarc(n) = xc
42      yarc(n) = yc
43      call my_gsarea(iopt,xarc,yarc,n)
44      end
45
46