* * $Id: igarc3.F,v 1.1.1.1 1996/02/14 13:10:32 mclareni Exp $ * * $Log: igarc3.F,v $ * Revision 1.1.1.1 1996/02/14 13:10:32 mclareni * Higz * * #include "higz/pilot.h" *CMZ : 1.22/05 27/01/95 16.17.28 by O.Couet *-- Author : SUBROUTINE IGARC3(XC,YC,R,PHI1,PHI2) *.===========> *. *. Underlaying routine for IGARC . *. *..==========> (O.Couet R.Nierhaus) #include "higz/higraf.inc" #include "higz/hiatt.inc" #include "higz/hiflag.inc" LOGICAL ZFSAV PARAMETER (PI=3.1415926,PI2=2*PI) *.______________________________________ * ANGLE = PHI2-PHI1 IF (ANGLE.LT.0.) ANGLE = PI2+ANGLE NPOINT = INT(99.*ANGLE/PI2+.5) NPOINT = MAX(1,NPOINT) DELTA = ANGLE/FLOAT(NPOINT) XX = COS(PHI1) YY = SIN(PHI1) TCOS = COS(DELTA) TSIN = SIN(DELTA) * XGRAF(1) = XC YGRAF(1) = YC DO 10 I=2,NPOINT+2 XGRAF(I) = XC+R*XX YGRAF(I) = YC+R*YY XXX = XX*TCOS-YY*TSIN YY = XX*TSIN+YY*TCOS XX = XXX 10 CONTINUE * ZFSAV = ZFLAG ZFLAG = .FALSE. GLFLAG = (ZFLAG.OR.PFLAG.OR.MFLAG) * CALL IFA(NPOINT+2,XGRAF,YGRAF) * IF((IBORD.NE.0).AND.(IFAIS.NE.0))THEN NPL = NPOINT+3 IF (NPL.LE.NPMAX) THEN XGRAF(NPL) = XGRAF(1) YGRAF(NPL) = YGRAF(1) CALL IPL(NPL,XGRAF,YGRAF) ELSE CALL IGERR('Too many points','IGARC') ENDIF ENDIF * ZFLAG = ZFSAV GLFLAG = (ZFLAG.OR.PFLAG.OR.MFLAG) * END