Add(MainForm,11868833,161,133) { Left=20 Top=105 Width=5000 Height=5000 Caption="" BorderStyle=0 WindowsState=2 Position=1 Point(Handle) Point(onKeyDown) link(onCreate,16299401:doEvent1,[]) link(onKeyDown,13460630:doCase,[(200,160)(200,181)]) } Add(GL_Main,12986311,476,147) { Color=0 link(onInit,4593655:doInit,[]) link(onViewPort,4020073:doOperation,[(515,160)(515,237)]) link(Handle,11868833:Handle,[(482,117)(115,117)(115,182)(167,182)]) } Add(Timer,9506849,266,161) { Interval=33 Enable=1 link(onTimer,9676386:doClear,[]) } Add(Hub,16299401,238,147) { OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,12986311:doViewPort,[]) link(onEvent3,9506849:doTimer,[]) } Add(GL_GluTools,4593655,525,147) { Orientation=0 Normal=2 Texture=0 link(onInit,15052084:doEnabled,[]) } Add(GL_Perspective,3410847,567,231) { Aspect=0 Fovy=50 zNear=2 } Add(GL_Options,15052084,567,147) { Flag=2 link(onEvent,12153098:doEnabled,[]) } Add(GL_Options,12153098,609,147) { Flag=10 link(onEvent,9901515:doSet,[]) } Add(Case,13460630,203,175) { Value=Integer(27) link(onTrue,11868833:doClose,[(242,188)(242,218)(151,218)(151,160)]) } Add(GL_GTools,9676386,308,161) { @Hint=#1:X| ClearStencil=1 Point(doClear) link(onEvent,1064487:doPushMatrix,[]) AddHint(1,37,22,13,@Hint) } Add(GL_GTools,1064487,350,161) { @Hint=#2:\/| Point(doPushMatrix) link(onEvent,15171880:doDraw,[]) AddHint(-2,34,25,13,@Hint) } Add(GL_GTools,9767045,434,161) { @Hint=#2:/\| Point(doPopMatrix) link(onEvent,12986311:doFlip,[]) AddHint(-2,37,25,13,@Hint) } Add(Math,4020073,525,231) { OpType=3 link(onResult,3410847:doPerspective,[]) link(Op1,7283156:Width,[]) link(Op2,7283156:Height,[]) } Add(Screen,7283156,525,189) { } Add(MultiElementEx,15171880,392,161) { link(onDraw,9767045:doPopMatrix,[]) } BEGIN_SDK Add(EditMultiEx,5571863,21,21) { WorkCount=#6:doDraw| EventCount=#6:onDraw| Width=552 Height=347 link(doDraw,6792991:doCallList,[(36,27)(36,195)]) } Add(For,4716578,182,294) { End=35 link(onEvent,14765557:doTranslate,[(226,300)(226,272)]) link(onStop,5571863:onDraw,[(532,307)(532,27)]) } Add(Gl_Scale,9976067,378,266) { X=0.92 Y=0.92 Z=1 link(onScale,15909463:doRotate,[]) link(X,12377142:Var2,[]) link(Y,12377142:Var3,[(391,250)]) } Add(Gl_Translate,14765557,238,266) { Z=0.00001 link(onTranslate,9976067:doScale,[]) link(X,9025682:Result,[]) link(Y,14174546:Result,[(251,243)(286,243)]) } Add(CounterEx,13772049,238,98) { Min=-70 Max=70 Step=5 Point(doPrev) link(onNext,13594999:doCase,[]) } Add(CounterEx,12073747,280,140) { Min=-60 Max=60 Step=5 Point(doPrev) link(onNext,6334485:doCase,[]) } Add(Math,9025682,238,196) { OpType=3 Op2=500 Point(doClear) link(onResult,14174546:doOperation,[]) link(Op1,13772049:Count,[]) } Add(Math,14174546,280,196) { OpType=3 Op2=500 Point(doClear) link(onResult,5134703:doPrev,[(317,202)(317,209)]) link(Op1,12073747:Count,[]) } Add(IndexToChanel,9800045,168,98) { Count=4 Point(Index) link(onEvent1,13772049:doNext,[]) link(onEvent2,12073747:doNext,[(219,111)(219,146)]) link(onEvent3,13772049:doPrev,[(229,118)(229,111)]) link(onEvent4,12073747:doPrev,[(210,125)(210,153)]) link(Index,2612089:Value,[]) } Add(Memory,2612089,168,56) { Default=Integer(0) } Add(Hub,5569138,98,189) { OutCount=3 link(onEvent1,9800045:doEvent,[(140,195)(140,104)]) link(onEvent2,9025682:doOperation,[]) link(onEvent3,4716578:doFor,[(137,209)(137,300)]) } Add(ChanelToIndex,40550,441,77) { Count=4 link(onIndex,2612089:doValue,[(484,83)(484,48)(163,48)(163,62)]) } Add(Case,13594999,280,98) { Value=Integer(70) link(onNextCase,1173913:doCase,[(320,104)(320,97)]) link(onTrue,40550:doWork2,[(400,111)(400,90)]) AddHint(0,-23,27,13,Value) } Add(Case,6334485,322,140) { Value=Integer(60) link(onNextCase,13991519:doCase,[(362,146)(362,139)]) link(onTrue,40550:doWork3,[(427,153)(427,97)]) AddHint(-1,32,27,13,Value) } Add(Case,1173913,329,91) { Value=Integer(-70) link(onTrue,40550:doWork4,[]) AddHint(0,-23,30,13,Value) } Add(Case,13991519,371,133) { Value=Integer(-60) link(onTrue,40550:doWork1,[(418,146)(418,83)]) AddHint(-3,34,30,13,Value) } Add(GL_CallList,9012171,476,266) { Index=500 } Add(GL_CallList,6792991,49,189) { Index=500 link(onCallList,5569138:doEvent1,[]) } Add(CounterEx,5134703,329,196) { Min=-150 Max=150 Default=50 Point(doPrev) link(onNext,10735442:doCalc,[]) } Add(GetDataEx,12377142,378,245) { link(Data,10735442:Result,[]) } Add(MathParse,10735442,378,196) { DataCount=1 MathStr="(950 + abs(%1)) / 1000" link(onResult,14624196:doOperation,[]) } Add(GL_Rotate,15909463,427,266) { @Hint=#33:Интересный эффект при X=1 Y=1 Z=1| Z=1 link(onRotate,9012171:doCallList,[]) link(Angle,14624196:Result,[]) AddHint(-77,51,188,26,@Hint) } Add(Math,14624196,427,196) { OpType=3 Op2=30 link(Op1,5134703:Count,[(433,187)(419,187)(419,238)(335,238)]) } END_SDK Add(MultiElementEx,9901515,651,147) { } BEGIN_SDK Add(EditMultiEx,5057480,21,21) { WorkCount=#5:doSet| Width=776 Height=382 link(doSet,4731950:doCapture,[(28,27)(28,90)]) } Add(GL_Texture,11641649,462,91) { UseList=0 link(Index,12780169:reCalc,[]) } Add(For,12611775,245,196) { IncludeEnd=1 link(onEvent,7863548:doCalc,[]) link(onStop,2491781:doDisabled,[(283,209)(283,356)]) link(End,9348490:getVar,[]) } Add(For,8652752,350,196) { IncludeEnd=1 link(onEvent,2941008:doCalc,[]) link(End,15252219:getVar,[]) } Add(MathParse,7863548,301,196) { MathStr="3.72 - %2 - %1 * %2" link(onResult,8652752:doFor,[]) link(X2,3094716:getVar,[]) } Add(ScreenShort,4731950,35,84) { link(onCapture,1228567:doEvent1,[]) } Add(Bitmap,16254062,413,28) { } Add(Img_Copy,13347279,413,91) { Width=512 Height=512 link(onCopy,11641649:doCreate,[]) link(Source,16254062:Bitmap,[]) link(Y,5238231:Result,[(433,79)(454,79)(454,130)(293,130)]) } Add(For,6120059,238,91) { IncludeEnd=1 link(onEvent,5238231:doOperation,[]) link(onStop,9289430:doBeginList,[(276,104)(276,155)(26,155)(26,202)]) link(End,11796387:getVar,[]) } Add(For,3542027,329,91) { IncludeEnd=1 link(onEvent,6207859:doOperation,[]) link(End,2352011:getVar,[]) } Add(Screen,9661907,105,42) { } Add(LineBreakEx,9333857,105,133) { Caption="x" Type=3 link(_Data,13383142:Result,[]) } Add(LineBreakEx,4950516,196,133) { Caption="y" Type=3 link(_Data,15660779:Result,[]) } Add(LineBreakEx,15252219,357,168) { Caption="x" Type=2 } Add(LineBreakEx,9348490,252,168) { Caption="y" Type=2 } Add(LineBreakEx,10194703,147,133) { Caption="block" Type=3 link(_Data,90279:Result,[]) } Add(MathParse,15660779,196,91) { DataCount=1 MathStr="%1 div 512 + sign (%1 mod 512)" ResultType=0 link(onResult,6120059:doFor,[]) link(X1,9661907:Height,[(202,83)(118,83)]) } Add(Math,5238231,287,91) { OpType=2 Op2=512 ResultType=0 link(onResult,3542027:doFor,[]) } Add(MathParse,13383142,105,91) { DataCount=1 MathStr="%1 div 512 + sign (%1 mod 512)" ResultType=0 link(onResult,90279:doOperation,[]) link(X1,9661907:Width,[]) } Add(Math,6207859,371,91) { OpType=2 Op2=512 ResultType=0 link(onResult,13347279:doCopy,[]) } Add(LineBreakEx,2352011,336,63) { Caption="x" Type=2 } Add(LineBreakEx,11796387,245,63) { Caption="y" Type=2 } Add(MathParse,2941008,399,196) { MathStr="-4.96 - %1 * %2 * (-1)" link(onResult,49425:doPushMatrix,[]) link(X2,4070075:getVar,[]) } Add(LineBreakEx,3094716,308,168) { Caption="block" Type=2 } Add(LineBreakEx,4070075,406,168) { Caption="block" Type=2 } Add(MathParse,12780169,462,49) { MathStr="%0 + 1" ResultType=0 Point(reCalc) } Add(GL_VertexTexture,15091509,630,294) { T=1 link(onTexCoord,5186772:doVertex,[]) } Add(GL_Vertex3D,12750269,504,294) { link(onVertex,3370408:doTexCoord,[]) } Add(GL_VertexTexture,3370408,546,294) { S=1 T=1 link(onTexCoord,14178704:doVertex,[]) } Add(GL_Vertex3D,14178704,588,294) { link(onVertex,15091509:doTexCoord,[]) link(X,13708253:getVar,[]) } Add(GL_VertexTexture,4129469,462,294) { S=1 link(onTexCoord,12750269:doVertex,[]) } Add(GL_Vertex3D,5186772,672,294) { link(onVertex,5225142:doEnd,[]) link(X,1384161:Var2,[]) link(Y,1384161:Var3,[(685,285)]) } Add(GL_VertexTexture,16041036,378,294) { link(onTexCoord,12467829:doVertex,[]) } Add(Gl_End,5225142,714,294) { link(onEnd,8820046:doPopMatrix,[]) } Add(Gl_Begin,4134957,336,294) { BlockType=9 link(onBegin,16041036:doTexCoord,[]) } Add(GL_Vertex3D,12467829,420,294) { link(onVertex,4129469:doTexCoord,[]) link(Y,7068008:getVar,[]) } Add(Gl_Translate,11268565,294,294) { X=-3.9 Y=2.3 link(onTranslate,4134957:doBegin,[]) link(X,2941008:Result,[(300,239)(405,239)]) link(Y,7863548:Result,[]) } Add(GL_GTools,49425,441,196) { Point(doPushMatrix) link(onEvent,13352146:doCallList,[]) } Add(GL_GTools,8820046,756,294) { Point(doPopMatrix) } Add(GL_CallList,13352146,483,196) { link(onCallList,11268565:doTranslate,[(520,202)(520,256)(288,256)(288,300)]) link(Index,11565210:reCalc,[]) } Add(LineBreakEx,7068008,427,259) { Caption="block" Type=2 } Add(Gl_BeginList,9289430,35,196) { Index=500 link(onBiginList,1110268:doEnabled,[]) } Add(Gl_EndList,6193586,385,343) { } Add(Hub,1228567,77,84) { link(onEvent1,16254062:doLoad,[(98,90)(98,34)]) link(onEvent2,13383142:doCalc,[]) } Add(Math,90279,147,91) { OpType=3 Op1=9.926 link(onResult,15660779:doCalc,[]) } Add(MathParse,11565210,476,154) { MathStr="%0 + 1" ResultType=0 Point(reCalc) } Add(GL_Options,1110268,77,196) { Flag=13 link(onEvent,2475692:doEnabled,[]) } Add(GL_Options,2491781,294,343) { Flag=13 link(onEvent,11746669:doDisabled,[(334,349)(334,356)]) } Add(GL_ClipPlane,3876633,161,196) { X=2 D=4.95 link(onClipPlane,6486920:doClipPlane,[]) } Add(GL_Options,11746669,343,343) { Flag=14 link(onEvent,6193586:doEndList,[]) } Add(GL_Options,2475692,119,196) { Flag=14 link(onEvent,3876633:doClipPlane,[]) } Add(GL_ClipPlane,6486920,203,196) { ClipPlane=1 Y=1 D=3.75 link(onClipPlane,7525854:doWork2,[]) } Add(LineBreakEx,13708253,588,259) { Caption="block" Type=2 } Add(LineBreakEx,1064525,672,259) { Caption="block" Type=2 } Add(GetDataEx,1384161,672,280) { link(Data,1064525:getVar,[]) } Add(HubEx,7525854,231,196) { link(onEvent,12611775:doFor,[]) } END_SDK