function EExecO0(O, P1, P2, Att, Sg1, Sg2) { var A={Re:undefined, Im: undefined}; var B={Re:undefined, Im: undefined}; var C={Re:undefined, Im: undefined}; var D={Re:undefined, Im: undefined}; var S=false; if ((P1.OB==undefined) || (P2.OB==undefined)) return false; if ((P1.OB=="P") && (P2.OB=="P")) { if ((P1.W==0) && (P2.W==0)) Vid="nesobstv" else Vid="sobstv" if (IsSobstv(P1) && IsSobstv(P2)) { A=P1.X; B=P1.Y; C=P2.X; D=P2.Y; TOLine_Create(O,P1.X,P1.Y,1,P2.X,P2.Y,1,brn_Limited,"sobstv",Att); AddInc(O,P1); AddInc(O,P2); Result=true; return Result; } if ((P1.W==1) && (P2.W==0)) { if (P2.Y.Im==0) { A=P1.X; B=P1.Y; var Dl=Math.sqrt(Sqr(P2.X.Re)+Sqr(P2.Y.Re)); if (Dl>0) { var S1=P2.Y.Re/Dl; var C1=P2.X.Re/Dl; } var Df=Fi(0,1,S1,C1); if (Df<0) Df=2*Math.PI+Df; C.Re=P1.X.Re+100*Math.cos(Df); C.Im=P1.X.Im; D.Re=P1.Y.Re+100*Math.sin(Df); D.Im=P1.Y.Im; TOLine_Create(O,A,B,1,C,D,1,brn_Limited,"sobstv",Att); } else { TOLine_Create(O,P1.X,P1.Y,P1.W,P2.X,P2.Y,P2.W,brn_Limited,"sobstv",Att); } AddInc(O,P1); AddInc(O,P2); Result=true; return Result; } if ((P2.W==1) && (P1.W==0)) { if (P1.Y.Im==0) { A=P2.X; B=P2.Y; var Dl=Math.sqrt(Sqr(P1.X.Re)+Sqr(P1.Y.Re)); if (Dl>0) { var S1=P1.Y.Re/Dl; var C1=P1.X.Re/Dl; } var Df=Fi(0,1,S1,C1); if (Df<0) Df=2*Math.PI+Df; C.Re=P2.X.Re+100*Math.cos(Df); C.Im=P2.X.Im; D.Re=P2.Y.Re+100*Math.sin(Df); D.Im=P2.Y.Im; TOLine_Create(O,A,B,1,C,D,1,brn_Limited,"sobstv",Att); } else { TOLine_Create(O,P1.X,P1.Y,P1.W,P2.X,P2.Y,P2.W,brn_Limited,"sobstv",Att); } AddInc(O,P1); AddInc(O,P2); Result=true; return Result; } if ((P1.W==0) && (P2.W==0)) { A=P1.X; A.Im=0; B=P1.Y; B.Im=0; C=P2.X; C.Im=0; D=P2.Y; D.Im=0; TOLine_Create(O,A,B,0,C,D,0,brn_UnLimited,"nesobstv",Att); AddInc(O,P1); AddInc(O,P2); Result=true; return Result; } } else { if (Att.Chk==1) TOEmpty_Create(O,Att); } S=true; return S; } // EExecO0