function AxeSimmet &Out_Prm Y XX Sg Att = ( if (Y.OB=="P") then ( if (IsSobstv Y) then ( -- if IsReal then ( C=Y.X; D=Y.Y; CalcPF C D XX &A &B C=CompSum C (CompMul (Complex 2 0) (CompSub A C)) D=CompSum D (CompMul (Complex 2 0) (CompSub B D)) TOPoint_Create &Out_Prm C D Y.W Att ) ) else TOPoint_Create &Out_Prm Y.X Y.Y Y.W Att ) if (Y.OB=="O") then ( if (IsSobstv Y ) then ( if (IsReal Y ) then ( U=CalcPF Y.X1 Y.Y1 XX &C &D U=CalcPF Y.X2 Y.Y2 XX &Ee &F C=CompSum Y.X1 (CompMul (Complex 2 0) (CompSub C Y.X1)) D=CompSum Y.Y1 (CompMul (Complex 2 0) (CompSub D Y.Y1)) Ee=CompSum Y.X2 (CompMul (Complex 2 0) (CompSub Ee Y.X2)) F=CompSum Y.Y2 (CompMul (Complex 2 0) (CompSub F Y.Y2)) if (Sg>0) then TOLine_Create &Out_Prm C D 1 Ee F 1 Y.draw_AsBorned "sobstv" Att else TOLine_Create &Out_Prm Ee F 1 C D 1 Y.draw_AsBorned "sobstv" Att ) ) else TOLine_Create &Out_Prm (Complex 0 0) (Complex 1 0) 1 (Complex 1 0) (Complex 0 0) 1 brn_Limited "nesobstv" Att5 ) if (Y.OB=="D") then ( AXc=Y.Xc; AYc=Y.Yc; AX1=Complex Y.X1 0 AY1=Complex Y.Y1 0 AX2=Complex Y.X2 0 AY2=Complex Y.Y2 0 U=CalcPF AXc AYc XX &C &D U=CalcPF AX1 AY1 XX &Ee &F U=CalcPF AX2 AY2 XX &G &H C=CompSum AXc (CompMul (MCompl 2 0) (CompSub C AXc)) D=CompSum AYc (CompMul (MCompl 2 0) (CompSub D AYc)) E=CompSum AX1 (CompMul (MCompl 2 0) (CompSub Ee AX1)) F=CompSum AY1 (CompMul (MCompl 2 0) (CompSub F AY1)) G=CompSum AX2 (CompMul (MCompl 2 0) (CompSub G AX2)) H=CompSum AY2 (CompMul (MCompl 2 0) (CompSub H AY2)) TODuga_Create &Out_Prm C D (Complex (-Y.R.Re*Sg) 0) Ee.Re F.Re G.Re H.Re Y.FAtt ) -- TOEmpty_Create(Out_Prm,Att); ) -- AxeSimmet fn EExecUU &Out_Prm X Y Att Sg1 Sg2 FM = ( if ((X==undefined) or (Y==undefined)) then return false -- if (Att.Pt==8) Att.Pt=Y.FAtt.Pt; -- if (Att.Lv==8) Att.Lv=Y.FAtt.Lv; -- if (Att.Lt==6) Att.Lt=Y.FAtt.Lt; if (X.OB=="O") then ( if (IsSobstv X) then ( AxeSimmet &Out_Prm Y X Sg2 Att ) else ( if (Att.Chk==1) then TOEmpty_Create &Out_Prm Att ) ) return true ) -- EExecUU