MAV, обычно я когда у кого-то что-то работает, пытаюсь видоизменить УЖЕ РАБОТАЮЩУЮ схему под свои нужды. Так почему бы тебе не видоизменить немного мою тестовую схему? Вот добавил твой бублик и он получает номер 5. Присвоение номера и отрисовка объекта происходят динамически, честно говоря сам уже не помню как удалось все это заставить работать... Сильно хотелось мышью таскать фигуры в OGL когда-то... Короче, разбирайся и оптимизируй. Буду признателен если поделишься своей оптимизацией здесь, а то ни сил ни времени на это уже нет...
Add(MainForm,15261923,126,93) { Left=20 Top=105 Width=440 Height=421 Caption="Локализация объектов в Open GL" Point(MouseX) Point(MouseY) Point(onMouseDown) Point(Width) Point(Height) Point(onMouseMove) Point(onMouseUp) Point(onResize) Point(Handle) link(onCreate,16299401:doEvent1,[(184,113)(184,253)]) link(onMouseDown,207829:doClick,[(352,120)(352,183)]) link(onMouseMove,10272414:doEvent1,[(176,127)(176,270)(137,270)(137,413)]) link(onMouseUp,12264151:doEvent1,[(180,134)(180,106)]) link(onResize,9413709:doEvent1,[]) } Add(GL_Main,12986311,273,247) { link(onInit,12198675:doInit,[]) link(onViewPort,3410847:doPerspective,[(328,260)(328,302)]) link(Handle,15261923:Handle,[(279,196)(160,196)]) } Add(Timer,9506849,161,331) { Interval=50 Enable=1 link(onTimer,1049454:doEvent1,[]) } Add(GL_GTools,771925,273,331) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(GL_Disk,10710321,784,590) { OutRadius=0.3 } Add(Hub,1049454,210,331) { OutCount=6 link(onEvent1,771925:doClear,[]) link(onEvent2,771925:doPushMatrix,[]) link(onEvent3,207829:doDraw,[(412,351)(412,176)]) link(onEvent4,771925:doPopMatrix,[(261,358)(261,351)]) link(onEvent5,12986311:doFlip,[(257,365)(257,267)]) } Add(Hub,16299401,203,247) { OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,14551396:doWork2,[]) link(onEvent3,9506849:doTimer,[(245,267)(245,305)(151,305)(151,337)]) } Add(MultiElement,10714674,777,464) { link(onEvent1,3488729:doColor,[]) link(Data1,8650192:Value,[(783,361)(867,361)]) link(Data2,14479943:Value,[(790,361)(909,361)]) } BEGIN_SDK Add(EditMulti,4359962,3,3) { EventCount=1 WorkCount=1 DataCount=2 Width=223 Height=109 link(doWork1,3276760:doRotate,[(19,9)(19,55)]) } Add(GL_Rotate,3276760,35,49) { Angle=50 Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,4359962:Data1,[(41,26)(9,26)]) } Add(GL_Rotate,8079493,112,49) { Angle=50 X=1 link(onRotate,4359962:onEvent1,[(189,55)(189,9)]) link(Angle,4359962:Data2,[(118,26)(16,26)]) } END_SDK Add(GL_Material,10503751,441,499) { Diffuse=16711935 Specular=32768 Emission=-16777215 Shininess=3 link(onSet,10036663:doDraw,[]) } Add(GL_Options,10513853,630,247) { Flag=1 } Add(GL_Cube,10697821,861,464) { Size=0.5 link(onDraw,8151851:doPopMatrix,[]) } Add(GL_Perspective,3410847,336,296) { Fovy=20 } Add(GL_Options,4378486,532,247) { Flag=3 link(onEvent,14989894:doEnabled,[]) } Add(GL_Options,5809249,483,247) { Flag=2 link(onEvent,4378486:doEnabled,[]) } Add(GL_Sphere,7606666,861,506) { Radius=0.3 } Add(GetDataEx,6018437,168,174) { link(Data,4947514:Data1,[(179,168)(202,168)(202,242)(293,242)]) } Add(GetDataEx,6158151,154,181) { link(Data,7405542:Data1,[(160,169)(174,169)(174,228)(223,228)]) } Add(Gl_Axis,10036663,546,499) { TitleScale=0.5 link(onDraw,11050489:doPushMatrix,[(594,505)(594,470)]) } Add(HubEx,14551396,259,254) { link(onEvent,12986311:doViewPort,[]) } Add(GL_GluTools,12198675,336,247) { Texture=0 link(onInit,1101264:doEnabled,[]) } Add(GL_Light,14989894,581,247) { Ambient=16777215 Diffuse=8388608 link(onEnabled,10513853:doEnabled,[]) } Add(GL_Options,1101264,385,247) { link(onEvent,5851269:doEnabled,[]) } Add(GL_Options,5851269,434,247) { Flag=10 link(onEvent,5809249:doEnabled,[]) } Add(Hub,9413709,196,135) { link(onEvent1,14551396:doWork1,[(263,141)]) link(onEvent2,207829:onResize,[(404,148)(404,190)]) } Add(Label,9923747,700,128) { Left=365 Top=45 } Add(IndexToChanel,12896117,385,492) { Count=10 link(onEvent2,10503751:doSet,[]) link(onEvent3,2915928:doRotate,[]) link(onEvent4,11693041:doRotate,[(572,519)(572,554)]) link(onEvent5,6609235:doRotate,[(572,526)(572,596)]) link(onEvent6,15219467:doWork1,[(545,533)(545,657)]) } Add(Gl_Translate,4582173,721,590) { Z=0.5 link(onTranslate,10710321:doDraw,[]) } Add(Gl_Translate,9241450,721,464) { X=-2.8 link(onTranslate,10714674:doWork1,[]) link(X,7575323:Result,[(727,410)(715,410)]) link(Y,7998797:Result,[(734,430)(715,430)]) link(Z,4300078:Result,[(741,452)(715,452)]) } Add(OGLInteractive,207829,539,170) { N=10 link(MouseX,6158151:Var2,[(545,151)(373,151)(373,202)(160,202)]) link(MouseY,6018437:Var1,[(552,151)(157,151)(157,179)]) link(Width,15261923:Width,[(559,158)(146,158)]) link(Height,15261923:Height,[(566,158)(153,158)]) link(DrawN,12896117:doEvent,[(583,176)(583,337)(373,337)(373,498)]) link(OnSelect,13680259:doValue,[(601,183)(601,134)]) } Add(GL_Cylinder,4635794,861,548) { BaseRadius=0.2 TopRadius=0 } Add(Gl_Translate,9702095,721,506) { X=0.5 link(onTranslate,6053718:doColor,[]) } Add(Gl_Translate,125527,721,548) { X=0.5 link(onTranslate,10797479:doColor,[]) } Add(GL_Rotate,6755901,665,464) { link(onRotate,9241450:doTranslate,[]) } Add(GL_Rotate,2915928,665,506) { link(onRotate,9702095:doTranslate,[]) } Add(GL_Rotate,11693041,665,548) { link(onRotate,125527:doTranslate,[]) } Add(GL_Rotate,6609235,665,590) { link(onRotate,4582173:doTranslate,[]) } Add(Hub,10272414,149,407) { OutCount=3 link(onEvent1,6256965:doValue,[(192,413)(192,393)]) link(onEvent2,1632577:doEvent,[(405,420)(405,183)]) } Add(Memory,6256965,203,387) { } Add(IndexToChanel,7410028,203,429) { Count=5 Point(Index) link(onEvent1,6804651:doEvent1,[(245,435)(245,434)]) link(onEvent2,15305019:doEvent1,[(269,442)(269,511)]) link(onEvent3,2113612:doEvent1,[(517,449)(517,211)]) link(Index,6256965:Value,[]) } Add(GetData,7405542,217,191) { Count=3 link(Data,15261923:MouseX,[(223,168)(132,168)]) } Add(Hub,6804651,254,428) { OutCount=3 link(onEvent1,3729466:doEvent1,[(296,434)(296,413)]) link(onEvent2,7764526:doEvent1,[(296,441)(296,462)]) } Add(IndexToChanel,1632577,630,177) { Count=5 Point(Index) link(onEvent2,7410028:doEvent,[(674,190)(674,312)(191,312)(191,435)]) link(Index,13680259:Value,[]) } Add(Memory,13680259,630,128) { link(onData,9923747:doText,[]) } Add(MultiElementEx,3729466,303,407) { @Hint=#25:Контроль изменения данных| link(onDcr,16121427:doNext,[(501,413)(501,329)]) link(onInc,16121427:doPrev,[(501,427)(501,336)]) link(Data,7405542:Data2,[(309,315)(230,315)]) } BEGIN_SDK Add(EditMultiEx,7156753,6,6) { WorkCount=#8:doEvent1| EventCount=#5:onDcr|7:onEqual|5:onInc|8:onChange| DataCount=#4:Data| Width=440 Height=242 link(doEvent1,3955324:doEvent1,[(14,12)(14,83)]) } Add(Memory,6567996,217,63) { link(onData,6381848:doCompare,[(261,69)(261,48)(205,48)(205,27)]) } Add(DoData,2751385,168,63) { link(onEventData,6567996:doValue,[]) link(Data,4073440:Data1,[]) } Add(DoData,1187485,168,105) { link(onEventData,15537973:doValue,[]) link(Data,4073440:Data2,[(174,75)(181,75)]) } Add(GetData,7079463,301,91) { link(Data,15537973:Value,[(307,79)(265,79)(265,149)(223,149)]) } Add(Switch,1207220,70,77) { DataOn=Integer(1) DataOff=Integer(0) link(onSwitch,11945411:doEvent,[]) } Add(IndexToChanel,11945411,112,77) { link(onEvent1,2751385:doData,[(156,83)(156,69)]) link(onEvent2,1187485:doData,[(156,90)(156,111)]) } Add(GetData,4073440,168,21) { link(Data,7156753:Data,[(174,13)(12,13)]) } Add(Memory,15537973,217,105) { link(onData,10201425:doCompare,[(261,111)(261,135)(205,135)(205,160)]) } Add(If_else,10201425,217,154) { Type=1 link(onTrue,13220382:doEvent1,[(261,160)(261,195)]) link(Op2,2326711:Data1,[(230,138)(272,138)]) } Add(If_else,6381848,217,21) { Type=2 link(onTrue,7063144:doEvent1,[]) link(Op2,7079463:Data1,[(230,9)(268,9)(268,135)(307,135)]) } Add(Hub,3955324,21,77) { link(onEvent1,1207220:doSwitch,[]) link(onEvent2,14039224:doCompare,[(181,90)(181,167)]) } Add(If_else,14039224,315,161) { link(onTrue,2799023:doEvent1,[]) link(Op1,2326711:Data2,[(321,146)(279,146)]) link(Op2,7079463:Data2,[(328,146)(314,146)]) } Add(GetData,2326711,266,91) { link(Data,6567996:Value,[(272,79)(248,79)(248,107)(223,107)]) } Add(Hub,2799023,357,161) { link(onEvent1,6525598:doEvent3,[(401,167)(401,143)(331,143)(331,118)]) link(onEvent2,7156753:onEqual,[(417,174)(417,19)]) } Add(Hub,6525598,343,98) { InCount=3 OutCount=1 link(onEvent1,7156753:onChange,[(411,104)(411,33)]) } Add(Hub,7063144,273,21) { link(onEvent1,6525598:doEvent1,[(324,27)(324,104)]) link(onEvent2,7156753:onDcr,[(375,34)(375,12)]) } Add(Hub,13220382,273,189) { link(onEvent1,6525598:doEvent2,[(327,195)(327,111)]) link(onEvent2,7156753:onInc,[(375,202)(375,26)]) } END_SDK Add(MultiElementEx,7764526,303,456) { @Hint=#25:Контроль изменения данных| link(onDcr,5313796:doPrev,[(501,462)(501,378)]) link(onInc,5313796:doNext,[(557,476)(557,371)]) link(Data,4947514:Data2,[(309,336)(300,336)]) } BEGIN_SDK Add(EditMultiEx,7156753,6,6) { WorkCount=#8:doEvent1| EventCount=#5:onDcr|7:onEqual|5:onInc|8:onChange| DataCount=#4:Data| Width=440 Height=242 link(doEvent1,3955324:doEvent1,[(14,12)(14,83)]) } Add(Memory,6567996,217,63) { link(onData,6381848:doCompare,[(261,69)(261,48)(205,48)(205,27)]) } Add(DoData,2751385,168,63) { link(onEventData,6567996:doValue,[]) link(Data,4073440:Data1,[]) } Add(DoData,1187485,168,105) { link(onEventData,15537973:doValue,[]) link(Data,4073440:Data2,[(174,75)(181,75)]) } Add(GetData,7079463,301,91) { link(Data,15537973:Value,[(307,79)(265,79)(265,149)(223,149)]) } Add(Switch,1207220,70,77) { DataOn=Integer(1) DataOff=Integer(0) link(onSwitch,11945411:doEvent,[]) } Add(IndexToChanel,11945411,112,77) { link(onEvent1,2751385:doData,[(156,83)(156,69)]) link(onEvent2,1187485:doData,[(156,90)(156,111)]) } Add(GetData,4073440,168,21) { link(Data,7156753:Data,[(174,13)(12,13)]) } Add(Memory,15537973,217,105) { link(onData,10201425:doCompare,[(261,111)(261,135)(205,135)(205,160)]) } Add(If_else,10201425,217,154) { Type=1 link(onTrue,13220382:doEvent1,[(261,160)(261,195)]) link(Op2,2326711:Data1,[(230,138)(272,138)]) } Add(If_else,6381848,217,21) { Type=2 link(onTrue,7063144:doEvent1,[]) link(Op2,7079463:Data1,[(230,9)(268,9)(268,135)(307,135)]) } Add(Hub,3955324,21,77) { link(onEvent1,1207220:doSwitch,[]) link(onEvent2,14039224:doCompare,[(181,90)(181,167)]) } Add(If_else,14039224,315,161) { link(onTrue,2799023:doEvent1,[]) link(Op1,2326711:Data2,[(321,146)(279,146)]) link(Op2,7079463:Data2,[(328,146)(314,146)]) } Add(GetData,2326711,266,91) { link(Data,6567996:Value,[(272,79)(248,79)(248,107)(223,107)]) } Add(Hub,2799023,357,161) { link(onEvent1,6525598:doEvent3,[(401,167)(401,143)(331,143)(331,118)]) link(onEvent2,7156753:onEqual,[(417,174)(417,19)]) } Add(Hub,6525598,343,98) { InCount=3 OutCount=1 link(onEvent1,7156753:onChange,[(411,104)(411,33)]) } Add(Hub,7063144,273,21) { link(onEvent1,6525598:doEvent1,[(324,27)(324,104)]) link(onEvent2,7156753:onDcr,[(375,34)(375,12)]) } Add(Hub,13220382,273,189) { link(onEvent1,6525598:doEvent2,[(327,195)(327,111)]) link(onEvent2,7156753:onInc,[(375,202)(375,26)]) } END_SDK Add(GetData,4947514,287,191) { Count=4 link(Data,15261923:MouseY,[(293,168)(139,168)]) } Add(Counter,16121427,667,323) { Min=-9999999 Max=9999999 link(onNext,7575323:doOperation,[]) } Add(Math,7575323,709,323) { OpType=3 Op2=20 } Add(GL_GTools,8151851,910,464) { Point(doPopMatrix) } Add(GL_GTools,11050489,609,464) { Point(doPushMatrix) link(onEvent,6755901:doRotate,[]) } Add(Counter,5313796,667,365) { Min=-9999999 Max=9999999 link(onNext,7998797:doOperation,[]) } Add(Math,7998797,709,365) { OpType=3 Op2=20 } Add(Counter,6189087,667,407) { Min=-9999999 Max=9999999 link(onNext,4300078:doOperation,[]) } Add(Math,4300078,709,407) { OpType=3 Op2=20 } Add(MultiElementEx,15305019,303,505) { @Hint=#25:Контроль изменения данных| link(onDcr,6189087:doNext,[(501,511)(501,413)]) link(onInc,6189087:doPrev,[(501,525)(501,420)]) link(Data,4947514:Data3,[(309,361)(307,361)]) } BEGIN_SDK Add(EditMultiEx,7156753,6,6) { WorkCount=#8:doEvent1| EventCount=#5:onDcr|7:onEqual|5:onInc|8:onChange| DataCount=#4:Data| Width=440 Height=242 link(doEvent1,3955324:doEvent1,[(14,12)(14,83)]) } Add(Memory,6567996,217,63) { link(onData,6381848:doCompare,[(261,69)(261,48)(205,48)(205,27)]) } Add(DoData,2751385,168,63) { link(onEventData,6567996:doValue,[]) link(Data,4073440:Data1,[]) } Add(DoData,1187485,168,105) { link(onEventData,15537973:doValue,[]) link(Data,4073440:Data2,[(174,75)(181,75)]) } Add(GetData,7079463,301,91) { link(Data,15537973:Value,[(307,79)(265,79)(265,149)(223,149)]) } Add(Switch,1207220,70,77) { DataOn=Integer(1) DataOff=Integer(0) link(onSwitch,11945411:doEvent,[]) } Add(IndexToChanel,11945411,112,77) { link(onEvent1,2751385:doData,[(156,83)(156,69)]) link(onEvent2,1187485:doData,[(156,90)(156,111)]) } Add(GetData,4073440,168,21) { link(Data,7156753:Data,[(174,13)(12,13)]) } Add(Memory,15537973,217,105) { link(onData,10201425:doCompare,[(261,111)(261,135)(205,135)(205,160)]) } Add(If_else,10201425,217,154) { Type=1 link(onTrue,13220382:doEvent1,[(261,160)(261,195)]) link(Op2,2326711:Data1,[(230,138)(272,138)]) } Add(If_else,6381848,217,21) { Type=2 link(onTrue,7063144:doEvent1,[]) link(Op2,7079463:Data1,[(230,9)(268,9)(268,135)(307,135)]) } Add(Hub,3955324,21,77) { link(onEvent1,1207220:doSwitch,[]) link(onEvent2,14039224:doCompare,[(181,90)(181,167)]) } Add(If_else,14039224,315,161) { link(onTrue,2799023:doEvent1,[]) link(Op1,2326711:Data2,[(321,146)(279,146)]) link(Op2,7079463:Data2,[(328,146)(314,146)]) } Add(GetData,2326711,266,91) { link(Data,6567996:Value,[(272,79)(248,79)(248,107)(223,107)]) } Add(Hub,2799023,357,161) { link(onEvent1,6525598:doEvent3,[(401,167)(401,143)(331,143)(331,118)]) link(onEvent2,7156753:onEqual,[(417,174)(417,19)]) } Add(Hub,6525598,343,98) { InCount=3 OutCount=1 link(onEvent1,7156753:onChange,[(411,104)(411,33)]) } Add(Hub,7063144,273,21) { link(onEvent1,6525598:doEvent1,[(324,27)(324,104)]) link(onEvent2,7156753:onDcr,[(375,34)(375,12)]) } Add(Hub,13220382,273,189) { link(onEvent1,6525598:doEvent2,[(327,195)(327,111)]) link(onEvent2,7156753:onInc,[(375,202)(375,26)]) } END_SDK Add(GL_Color,10797479,819,548) { Color=32768 link(onColor,4635794:doDraw,[]) } Add(GL_Color,6053718,819,506) { Color=8388736 link(onColor,7606666:doDraw,[]) } Add(GL_Color,3488729,819,464) { Color=255 link(onColor,10697821:doDraw,[]) } Add(InfoTip,8444026,217,618) { Info=#41:Пример создания интерактивных приложений.|23:(мой 1-й компонент :) )|0:|65:Левая кнопка мыши перемещает куб по осям XY, а правая - по оси Z,|22:средняя - вращает куб.|0:|28:User108 (news108@rambler.ru)|0:|23:Москва, 11.8.2007, 0:40|41:Москва, 21.3.2010, 23:00 - добавлен тор |0:| Width=428 Height=130 } Add(Memory,8650192,861,226) { } Add(Memory,14479943,903,226) { } Add(DoData,4107186,854,184) { link(onEventData,8650192:doValue,[(898,190)(898,211)(849,211)(849,232)]) link(Data,6158151:Var1,[(860,172)(143,172)(143,186)]) } Add(Hub,2113612,798,205) { link(onEvent1,4107186:doData,[(842,211)(842,190)]) link(onEvent2,300524:doData,[(866,218)(866,190)]) } Add(Hub,12264151,196,100) { link(onEvent1,13680259:doClear,[(429,106)(429,141)]) } Add(DoData,300524,903,184) { link(onEventData,14479943:doValue,[(947,190)(947,211)(891,211)(891,232)]) link(Data,6018437:Var3,[(909,179)]) } Add(MultiElement,15219467,672,651) { link(onEvent1,15200808:doDraw,[]) link(Data1,7405542:Data3,[(678,437)(237,437)]) link(Data2,4947514:Data4,[(685,437)(314,437)]) } BEGIN_SDK Add(EditMulti,4359962,3,3) { EventCount=1 WorkCount=1 DataCount=2 Width=223 Height=109 link(doWork1,3276760:doRotate,[(19,9)(19,55)]) } Add(GL_Rotate,3276760,35,49) { Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,4359962:Data1,[(62,15)(9,15)]) } Add(GL_Rotate,8079493,112,49) { X=1 link(onRotate,4359962:onEvent1,[(189,55)(189,9)]) link(Angle,4359962:Data2,[(139,8)(16,8)]) } END_SDK Add(GL_Torus,15200808,721,651) { inRadius=0.15 outRadius=0.8 Sides=20 Rings=20 }
Насчет неряшливости схемы - по-моему все аккуратнее некуда. Я музыкант, и у меня нет желания тратить свое время на аккуратное программирование. Компонентов не так много. Поэтому аргумент нечитаема парадоксален. Не нравится - не используй. Я поделился идеей и рабочим кодом, причем не моим, а портированным. Поэтому все вопросы к автору сего кода на дельфи. Комменты в коде оставил для вашего же блага, некоторые наоборот жалуются на их отсутствие. Я даже их перевел.. .
------------ Дoбавленo в 23.12:
Честно говоря, я этим сейчас уже не занимаюсь, поэтому не могу сказать почему твоя схема не работала. Покопайся в моей схеме и сравни со своей.
------------ Дoбавленo в 00.26:
Вот, разобрался почему твоя схема не работала - ты не подсоединил точку OnResize, которая задает нужные параметры. Теперь все работает. Попробуй изменить число N в компоненте с 1-го на 10 получится интересный эффект.. Если захочешь отрисовать другие фигуры - подключи IndexToChannel. Надеюсь схема соответствует на этот раз твоим высшим стандартам читабельности кода.. Спасибо Dilme за Хиасм еще раз! Уникальный инструмент. Иначе пришлось бы стать кодером, и вместо Солнца и Земли видеть 0 и 1... Всем удачи.
Add(MainForm,15261923,154,84) { Left=20 Top=105 Width=440 Height=421 Caption="MouseInteractive_simple_test" Point(MouseX) Point(MouseY) Point(onResize) Point(Handle) Point(Width) Point(Height) Point(onMouseDown) Point(onMouseUp) Point(onMouseMove) link(onCreate,16299401:doEvent1,[(215,104)(215,272)]) link(onResize,9413709:doEvent1,[(222,111)(222,218)]) link(onMouseDown,13366391:doClick,[(268,118)(268,230)]) link(onMouseUp,13680259:doClear,[(306,125)(306,127)]) } Add(GL_Main,12986311,308,266) { link(onInit,12198675:doInit,[]) link(onViewPort,3410847:doPerspective,[(363,279)(363,321)]) link(Handle,15261923:Handle,[(314,203)(174,203)]) } Add(Timer,9506849,196,315) { Interval=50 Enable=1 link(onTimer,1049454:doEvent1,[]) } Add(GL_GTools,771925,308,315) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(Hub,1049454,245,315) { OutCount=5 link(onEvent1,771925:doClear,[]) link(onEvent2,771925:doPushMatrix,[]) link(onEvent3,13366391:doDraw,[(319,335)(319,223)]) link(onEvent4,771925:doPopMatrix,[(296,342)(296,335)]) link(onEvent5,12986311:doFlip,[(291,349)(291,286)]) } Add(Hub,16299401,224,266) { OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,16131419:doWork2,[]) link(onEvent3,9506849:doTimer,[(251,286)(251,304)(186,304)(186,321)]) } Add(GL_GluTools,12198675,371,266) { link(onInit,1101264:doEnabled,[]) } Add(GL_Light,14989894,567,266) { link(onEnabled,4378486:doEnabled,[]) } Add(GL_Options,1101264,420,266) { link(onEvent,5851269:doEnabled,[]) } Add(GL_Options,5851269,469,266) { Flag=1 link(onEvent,5809249:doEnabled,[]) } Add(GL_Options,5809249,518,266) { Flag=2 link(onEvent,14989894:doEnabled,[]) } Add(MultiElement,10714674,707,140) { link(onEvent1,15200808:doDraw,[]) link(Data1,7732851:Var2,[(713,127)(251,127)]) link(Data2,3146508:Var2,[(720,128)(478,128)(478,190)(237,190)]) } BEGIN_SDK Add(EditMulti,4359962,3,3) { EventCount=1 WorkCount=1 DataCount=2 Width=223 Height=109 link(doWork1,3276760:doRotate,[(19,9)(19,55)]) } Add(GL_Rotate,3276760,35,49) { Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,4359962:Data1,[(62,15)(9,15)]) } Add(GL_Rotate,8079493,112,49) { X=1 link(onRotate,4359962:onEvent1,[(189,55)(189,9)]) link(Angle,4359962:Data2,[(139,8)(16,8)]) } END_SDK Add(GL_Perspective,3410847,371,315) { Fovy=20 } Add(HubEx,16131419,273,273) { link(onEvent,12986311:doViewPort,[]) } Add(OGLInteractive,13366391,378,217) { link(MouseX,7732851:Var1,[(384,175)(251,175)]) link(MouseY,3146508:Var1,[(391,165)(237,165)]) link(Width,15261923:Width,[(398,177)(181,177)]) link(Height,15261923:Height,[(405,177)(188,177)]) link(DrawN,10714674:doWork1,[(558,223)(558,146)]) link(OnSelect,13680259:doValue,[(454,230)(454,120)]) } Add(GL_Torus,15200808,763,140) { inRadius=0.15 outRadius=0.8 Sides=20 Rings=20 } Add(GetDataEx,7732851,245,182) { Angle=3 link(Data,15261923:MouseX,[(160,187)]) } Add(GetDataEx,3146508,231,175) { Angle=3 link(Data,15261923:MouseY,[(167,180)]) } Add(GL_Options,4378486,616,266) { Flag=3 } Add(IndexToChanel,12896117,707,184) { Count=10 link(onEvent3,7606666:doDraw,[]) } Add(Hub,9413709,238,212) { link(onEvent1,16131419:doWork1,[(277,218)]) link(onEvent2,13366391:onResize,[(315,225)(315,237)]) } Add(Memory,13680259,497,114) { link(onData,15261923:doCaption,[(541,120)(541,67)(142,67)(142,90)]) } Add(GL_Sphere,7606666,763,198) { Radius=0.3 } Add(InfoTip,8444026,231,408) { Info=#70:Обязательно укажите число отрисовываемых объектов в свойствах элемента|0:|28:User108 (news108@rambler.ru)|0:|23:Москва, 11.8.2007, 0:40|23:Москва, 22.3.2010, 0:18|0:| Width=428 Height=130 }
|