35 SUBROUTINE i6pen3(X ,IRECT ,MSR ,NSV ,ILOC ,
36 1 IRTL ,CST ,IRTL0 ,GAP ,NSN ,
37 2 ITAB ,IWPENE ,PENI ,ICOR ,ID ,
41 USE format_mod ,
ONLY : fmw_7i, fmw_7i_2f
45#include "implicit_f.inc"
54 INTEGER NSN,IWPENE,ICOR,INACTI
56 INTEGER IRECT(4,*), MSR(*), NSV(*), ILOC(*), IRTL(*), IRTL0(*),ITAB(*)
57 my_real x(3,*), cst(2,*)
59 CHARACTER(LEN=NCHARTITLE)::TITR
63 INTEGER II, I, J, K, L, JJ, NN, IER
64 my_real N1, N2, N3, PEN, ALP
65 my_real :: XX1(4), XX2(4),XX3(4),XS1,YS1,ZS1,XC,YC,ZC
84 CALL inist3(n1,n2,n3,cst(1,ii),cst(2,ii),ier,alp,xx1,xx2,xx3,xs1,ys1,zs1,xc,yc,zc)
94 . i5=itab(msr(irect(1,l))),
95 . i6=itab(msr(irect(2,l))),
96 . i7=itab(msr(irect(3,l))),
97 . i8=itab(msr(irect(4,l))))
99 IF(ipri>=1)
WRITE(iout,fmt=fmw_7i)itab(i),itab(k),l,
100 . (itab(msr(irect(jj,l))),jj=1,4)
102 pen = n1*(xs1-xc)+n2*(ys1-yc)+n3*(zs1-zc) - gap
103 IF (pen<=zero) irtl0(ii)=l
107 . msgtype=msgwarning,
108 . anmode=aninfo_blind_2,
112 IF (inacti == 5)
THEN
114 gap =
max(zero, gap + pen)
115 ELSEIF (inacti == 6)
THEN
117 gap =
max(zero, gap + pen + zep05 * (gap + pen))
121 IF(ipri>=1)
WRITE(iout,fmt=fmw_7i_2f)
123 . (itab(msr(irect(jj,l))),jj=1,4),cst(1,ii),cst(2,ii)
126 IF (icor == 0) peni = zero
subroutine i6pen3(x, irect, msr, nsv, iloc, irtl, cst, irtl0, gap, nsn, itab, iwpene, peni, icor, id, inacti, titr)
subroutine inist3(n1, n2, n3, ssc, ttc, ier, alp, xx1, xx2, xx3, xs1, ys1, zs1, xc, yc, zc)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)