function EExecPJ(Out_Prm,X,Y,Z,Att,Sg1,Sg2,Sg3) { /* ResultFALSE; Out_PrmNIL; 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 is TOEmpty then begin Out_Prm(TOEmpty.Create([X,Y,Z],OW)); ResultTRUE; Exit; end; */ if ((X.OB==undefined) || (Y.OB==undefined) || (Z.OB==undefined)) return false; var Dx={Re:undefined, Im:undefined} var Dy={Re:undefined, Im:undefined} var A={Re:undefined, Im:undefined} var B={Re:undefined, Im:undefined} if ((X.OB=="P") && (Y.OB=="C") && (Z.OB=="C")) { if (IsReal(Y)) { if ((Z.OB=="C") && (IsSobstv(Z)) && (IsReal(Z))) { Df=Z.C.Re/180*Math.PI*Sg3; if (Df<0) {Df=2*Math.PI+Df;} Value=Df; Dx=MCompl(Y.C.Re*Sg2*Math.cos(Value),0); Dy=MCompl(Y.C.Re*Sg2*Math.sin(Value),0); A=CompSum(X.X,Dx); B=CompSum(X.Y,Dy); TOPoint_Create(Out_Prm,A,B,1,Att); } return true } } if ((X.OB=="P") && (Y.OB=="C")) if (IsSobstv(X)) if (IsReal(Y)) { 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);} Df=Fi(0,1,SCDP.S,SCDP.C); if (Df<0) Df=2*Math.PI+Df; A=X.X; B=X.Y; Value=Df; Dx=MCompl(Y.C.Re*Sg2*Math.cos(Value),0); A=CompSum(A,Dx); Dy=MCompl(Y.C.Re*Sg2*Math.sin(Value),0); B=CompSum(B,Dy); // Kind=tp_fixed; // if (TOChisl(Z).Kind==tc_Constant) then Kindtp_halfFree else Kindtp_fixed; TOPoint_Create(Out_Prm,A,B,1,Att); return true; } } else { if (Att.Chk==1) TOEmpty_Create(Out_Prm,Att); return true; } if (Att.Chk==1) TOEmpty_Create(Out_Prm,Att); return true; } // EExecPJ