function EExecO5(OOO,X,Y,Z,Att,Sg1,Sg2,Sg3) { if ((X.OB==undefined) || (Y.OB==undefined) || (Z.OB==undefined)) return false; var X3={Re:undefined, Im: undefined}; var Y3={Re:undefined, Im: undefined}; var X4={Re:undefined, Im: undefined}; var Y4={Re:undefined, Im: undefined}; var X5={Re:undefined, Im: undefined}; var Y5={Re:undefined, Im: undefined}; /* if (Att.PT=8) or (Att.LV=8) or (Att.LT=6) then begin Att.RColor X.OAtt.RColor; Att.GColor X.OAtt.GColor; Att.BColor X.OAtt.BColor; end; if Att.PT=8 then Att.PTX.OAtt.PT; if Att.LV=8 then Att.LVX.OAtt.LV; if Att.LT=6 then Att.LTX.OAtt.LT; */ if ((X.OB=="O") && (Y.OB=="P") && ((Z.OB=="C") || (Z.OB=="O"))) { if (true) { if ((IsSobstv(X)) && (IsSobstv(Y))) { if (Sg1==1) { X1=X.X1;Y1=X.Y1;X2=X.X2;Y2=X.Y2; } else { X2=X.X1;Y2=X.Y1;X1=X.X2;Y1=X.Y2; } Dx=Z.C.Re; SCDP=SC(X1.Re,Y1.Re,X2.Re,Y2.Re); Df=Fi(0,1,SCDP.S,SCDP.C); X3=Y.X; Y3=Y.Y; if (Z.OB=="C") Dx=Z.C.Re; if (Z.OB=="O") { if (Sg3==1) {SCDP=SC(Z.X1.Re,Z.Y1.Re,Z.X2.Re,Z.Y2.Re)} else {SCDP=SC(Z.X2.Re,Z.Y2.Re,Z.X1.Re,Z.Y1.Re)} Dx=Fi(0,1,SCDP.S,SCDP.C); if (Dx<0) {Dx=2*Math.PI+Dx} Dx=Dx/2/Math.PI*360; } Dx=Dx*Sg3; Dx=Dx*Math.PI/180+Df; X5.Re=X3.Re+100*Math.cos(Dx);X5.Im=X3.Im; Y5.Re=Y3.Re+100*Math.sin(Dx);Y5.Im=Y3.Im; X4.Re=X3.Re-100*Math.cos(Dx);X4.Im=X3.Im; Y4.Re=Y3.Re-100*Math.sin(Dx);Y4.Im=Y3.Im; TOLine_Create(OOO,X3,Y3,1,X5,Y5,1,brn_Limited,"sobstv",Att); /// OOO.AssignParents([X,Y,Z]); AddInc(OOO,Y); return true; } else { if (Att.Chk==1) {OOO.OB="$"}; } } else { if (Att.Chk==1) {OOO.OB="$"}; } } else if (Att.Chk==1) {OOO.OB="$"}; return true; } // EExecO5