sla8a, непойму зачем всё вешать на процессор? Разве через сохранение матрицы неполучится?
Add(MainForm,15261923,14,21) { Left=20 Top=105 Width=581 Height=580 Point(MouseX) Point(MouseY) Point(onResize) Point(Handle) link(onCreate,16299401:doEvent1,[(65,41)(65,97)]) link(onResize,3213527:doWork1,[(165,48)]) } Add(GL_Main,12986311,182,91) { link(onInit,16663485:doEnabled,[]) link(onViewPort,3410847:doPerspective,[(222,104)(222,139)]) link(Handle,15261923:Handle,[(188,72)(34,72)]) } Add(Timer,9506849,35,126) { Interval=33 Enable=1 link(onTimer,1049454:doEvent1,[]) } Add(GL_GTools,771925,140,126) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(GL_GluTools,4593655,357,91) { DrawStyle=1 link(onInit,6976573:doEnabled,[]) } Add(Hub,1049454,84,126) { OutCount=5 link(onEvent1,771925:doClear,[]) link(onEvent2,771925:doPushMatrix,[]) link(onEvent3,2772948:doDraw,[(189,146)(189,573)]) link(onEvent4,771925:doPopMatrix,[(132,153)(132,146)]) link(onEvent5,12986311:doFlip,[(177,160)(177,111)]) } Add(Hub,16299401,84,91) { OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,3213527:doWork2,[]) link(onEvent3,9506849:doTimer,[(110,111)(110,121)(23,121)(23,132)]) } Add(HubEx,3213527,161,98) { link(onEvent,12986311:doViewPort,[]) } Add(GL_Light,6976573,399,91) { } Add(GL_Options,16663485,231,91) { Flag=2 link(onEvent,1571481:doEnabled,[]) } Add(GL_Options,1571481,273,91) { link(onEvent,15984634:doEnabled,[]) } Add(GL_Options,15984634,315,91) { Flag=1 link(onEvent,4593655:doInit,[]) } Add(GL_Perspective,3410847,231,133) { Fovy=30 } Add(GL_Cube,12007886,707,567) { link(onDraw,6439637:doPopMatrix,[]) } Add(Gl_Translate,4913853,427,567) { link(onTranslate,4872466:doPushMatrix,[]) link(X,15526670:Result,[]) link(Y,16216546:Result,[]) link(Z,1439464:Result,[]) } Add(ScrollBar,11293045,231,175) { Left=60 Top=10 Width=410 Layout="1" WidthScale=100 Max=360 Position=120 link(onPosition,16436602:doStrCat,[]) } Add(ScrollBar,1034896,392,175) { Left=60 Top=35 Width=410 Layout="2" WidthScale=100 Max=360 Position=120 link(onPosition,9084949:doStrCat,[]) } Add(Label,6343912,336,175) { Left=480 Top=10 Width=80 Layout="1" Caption="Угол X = 120" AutoSize=1 } Add(Label,14518355,490,175) { Left=475 Top=35 Width=80 Layout="2" Caption="Угол Y = 120" AutoSize=1 } Add(HBoxLayout,16289559,581,294) { Name="1" Layout="6" } Add(HBoxLayout,1462931,581,336) { Name="2" Layout="6" } Add(HBoxLayout,3918065,581,420) { Name="3" Layout="6" } Add(HBoxLayout,7872907,581,462) { Name="4" Layout="6" } Add(HBoxLayout,13637731,581,497) { Name="5" Layout="6" } Add(LayoutSpacer,13919677,581,378) { Left=160 Top=120 Width=250 Height=255 Layout="6" HeightScale=100 } Add(VBoxLayout,450613,637,385) { Name="6" } Add(MathParse,15526670,427,294) { DataCount=3 MathStr="%0 + %3" link(X1,6630095:getVar,[]) link(X2,245644:getVar,[]) } Add(MathParse,16216546,434,378) { DataCount=3 MathStr="%0 + %3" link(X1,12740036:getVar,[]) link(X2,1338733:getVar,[]) } Add(MathParse,1439464,441,476) { DataCount=3 MathStr="%0 + %3" link(X1,11980449:getVar,[]) link(X2,9005849:getVar,[]) } Add(GL_Rotate,6131322,518,567) { X=1 link(onRotate,150680:doRotate,[]) link(Angle,4175402:getVar,[]) } Add(GL_Rotate,150680,574,567) { Y=1 link(onRotate,513515:doDraw,[]) link(Angle,4505976:getVar,[]) } Add(LineBreakEx,5240142,231,224) { Caption="угол X" Type=3 link(_Data,11293045:Position,[]) } Add(LineBreakEx,4175402,518,539) { Caption="угол X" Type=2 } Add(LineBreakEx,4505976,574,539) { Caption="угол Y" Type=2 } Add(LineBreakEx,13331731,392,224) { Caption="угол Y" Type=3 link(_Data,1034896:Position,[]) } Add(LineBreakEx,6630095,427,252) { Caption="угол X" Type=2 } Add(LineBreakEx,245644,434,266) { Caption="угол Y" Type=2 } Add(LineBreakEx,12740036,434,336) { Caption="угол X" Type=2 } Add(LineBreakEx,1338733,441,350) { Caption="угол Y" Type=2 } Add(LineBreakEx,11980449,441,434) { Caption="угол X" Type=2 } Add(LineBreakEx,9005849,448,448) { Caption="угол Y" Type=2 } Add(Button,9014822,203,294) { Left=235 Top=415 Layout="3" WidthScale=50 Caption="Влево" link(onClick,11085504:doData,[]) } Add(Button,14196310,224,336) { Left=295 Top=415 Layout="3" WidthScale=50 Caption="Вправо" link(onClick,9030690:doData,[]) } Add(Gl_Axis,2772948,378,567) { TitleScale=2 TitleSpace=0.3 link(onDraw,4913853:doTranslate,[]) } Add(GL_Color,8821851,665,567) { Color=8421376 link(onColor,12007886:doDraw,[]) } Add(HubEx,10958928,308,294) { link(onEvent,15526670:doCalc,[]) } Add(DoData,11085504,259,294) { Data=Real(-0.1) link(onEventData,10958928:doWork2,[]) } Add(DoData,9030690,266,336) { Data=Real(0.1) link(onEventData,10958928:doWork3,[(312,342)]) } Add(Button,5163282,203,378) { Left=235 Top=460 Layout="4" WidthScale=50 Caption="Вниз" link(onClick,5124362:doData,[]) } Add(Button,3838934,224,420) { Left=295 Top=460 Layout="4" WidthScale=50 Caption="Вверх" link(onClick,13141448:doData,[]) } Add(HubEx,4594699,308,378) { link(onEvent,16216546:doCalc,[]) } Add(DoData,5124362,259,378) { Data=Real(-0.1) link(onEventData,4594699:doWork2,[]) } Add(DoData,13141448,266,420) { Data=Real(0.1) link(onEventData,4594699:doWork3,[(312,426)]) } Add(Button,7788627,203,476) { Left=235 Top=515 Layout="5" WidthScale=50 Caption="От себя" link(onClick,4170296:doData,[]) } Add(Button,596779,224,518) { Left=295 Top=515 Layout="5" WidthScale=50 Caption="На себя" link(onClick,13894770:doData,[]) } Add(HubEx,8665111,308,476) { link(onEvent,1439464:doCalc,[]) } Add(DoData,4170296,259,476) { Data=Real(-0.1) link(onEventData,8665111:doWork2,[]) } Add(DoData,13894770,266,518) { Data=Real(0.1) link(onEventData,8665111:doWork3,[(312,524)]) } Add(StrCat,16436602,287,175) { Str1="Угол X = " link(onStrCat,6343912:doText,[]) } Add(StrCat,9084949,441,175) { Str1="Угол Y = " link(onStrCat,14518355:doText,[]) } Add(GL_GTools,4872466,469,567) { Point(doPushMatrix) link(onEvent,6131322:doRotate,[]) } Add(GL_GTools,6439637,749,567) { Point(doPopMatrix) } Add(Gl_Axis,513515,623,567) { TitleScale=2 TitleSpace=0.3 link(onDraw,8821851:doColor,[]) }
|