Вверх ↑
Ответов: 2373
Рейтинг: 685
#1: 2017-01-09 15:47:58 ЛС | профиль | цитата
Леонид, объяснили бы лучше, зачем ТС рабочая схема если ему нужно знать почему не работает.
buchkov, в вашей схеме обрезается рисунок, так как вначале до того как элемент слой (HBoxLayout: Горизонтальный слой) растянул на весь экран, произошло событие onCreate у формы (MainForm) и GL_Main установил окно вывода и его размер (doViewPort). Вам нужно задействовать onResize формы(MainForm) или PaintBox-а, чтобы заново выставить размер(doViewPort).
Должно работать правильно. Надеюсь понятно объяснил. Если что не понятно спрашивайте.
Вот ваша схема с правкой (добавлена одна связь):
схемка


Add(TrackBar,12629519,679,175)
{
Left=340
Top=395
Width=230
Height=15
Visible=1
Min=1
Position=1
ThumbLength=10
Point(doSetFocus)
link(onPosition,8296383:doEvent1,[])
}
Add(MainForm,15261923,273,294)
{
Left=20
Top=105
Width=1317
Height=595
Ctl3D=0
WinStyle=3
WindowsState=2
MouseCapture=0
Position=1
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
Point(onMouseMove)
link(onCreate,16299401:doEvent1,[])
link(onMouseMove,13233314:In,[])
}
Add(GL_Main,12986311,497,308)
{
Color=12639424
TwoSide=0
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[])
link(Handle,5517251:Handle,[])
}
Add(Timer,9506849,427,357)
{
Interval=10
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,532,357)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,469,357)
{
OutCount=6
link(onEvent1,771925:doClear,[])
link(onEvent2,771925:doPushMatrix,[])
link(onEvent3,8079493:doRotate,[(500,377)(500,419)])
link(onEvent4,771925:doPopMatrix,[(521,384)(521,377)])
link(onEvent5,12986311:doFlip,[(490,391)(490,328)])
}
Add(Hub,16299401,392,308)
{
OutCount=5
link(onEvent1,12986311:doInit,[])
link(onEvent2,2105625:doWork2,[])
link(onEvent3,8428433:In,[])
link(onEvent4,12473697:In,[])
link(onEvent5,9506849:doTimer,[(420,342)(420,363)])
}
Add(GL_Perspective,3410847,546,315)
{
Aspect=2
Fovy=30
}
Add(GL_Point3D,7772462,763,259)
{
Y=1
Z=1
}
Add(GL_Options,15876912,672,308)
{
link(onEvent,13370757:doEnabled,[])
}
Add(GL_Rotate,8079493,602,413)
{
Angle=30
Y=200
link(onRotate,858408:doTranslate,[])
link(Angle,3291853:Position,[])
}
Add(TrackBar,3291853,602,364)
{
Left=70
Top=380
Width=15
Height=175
Max=360
Position=30
Kind=1
ThumbLength=10
link(onPosition,3291853:doPosition2,[(645,370)(645,353)(590,353)(590,377)])
}
Add(PaintBox,5517251,490,175)
{
Left=115
Top=5
Width=1325
Height=555
Color=16777215
Ctl3D=0
Layout="horiz1"
Point(Handle)
Point(MouseX)
Point(MouseY)
Point(doSendToBack)
Point(doBringToFront)
Point(onMouseWheel)
Point(onMouseMove)
Point(onMouseDown)
Point(onMouseUp)
Point(onResize)
link(onMouseMove,12629519:doSetFocus,[])
link(onMouseDown,15176481:doCompare,[(538,202)(538,118)])
link(onMouseUp,659226:doStop,[(596,209)(596,125)])
link(onResize,2105625:doWork1,[(534,216)(534,235)(473,235)])
}
Add(GL_Point3D,10506615,1120,483)
{
link(X,7416995:Part1,[])
link(Y,7416995:Part2,[])
link(Z,7416995:Part3,[])
}
Add(GL_Point3D,5206949,1141,483)
{
link(X,7416995:Part4,[])
link(Y,7416995:Part5,[])
link(Z,7416995:Part6,[])
}
Add(Gl_Translate,858408,651,413)
{
X=-3
Y=-1.2
link(onTranslate,5852894:doDraw,[])
}
Add(Gl_Scale,683218,749,413)
{
X=0.001
Y=0.001
Z=0.001
link(onScale,9392691:doColor,[])
link(X,15114739:Var1,[(755,390)])
link(Y,15114739:Var2,[])
link(Z,15114739:Var3,[(769,390)])
}
Add(StrList,2315546,1050,329)
{
Strings=#19:0/60/580/2000/0/580|18:0/76/600/2000/60/0|22:0/2400/600/2000/2384/0|18:0/2384/600/16/76/0|23:1984/2384/600/2000/76/0|
}
Add(ArrayEnum,12642073,1064,420)
{
link(onItem,7416995:doSplit,[])
link(Array,2315546:Array,[])
}
Add(GL_GluTools,12198675,588,308)
{
Texture=0
link(onInit,5809249:doEnabled,[])
}
Add(GL_Options,5809249,630,308)
{
Flag=2
link(onEvent,15876912:doEnabled,[])
}
Add(GL_Cube2,15959241,1127,567)
{
link(Point1,10506615:Point3D,[(1133,541)(1126,541)])
link(Point2,5206949:Point3D,[(1140,541)(1147,541)])
}
Add(MultiStrPart,7416995,1120,420)
{
Char="/"
Count=6
link(onSplit,15959241:doDraw,[(1230,426)(1230,614)(1095,614)(1095,573)])
}
Add(GL_Color,9392691,812,413)
{
Color=12632256
link(onColor,15952797:doEvent,[])
}
Add(GL_Light,14665421,763,308)
{
Ambient=8421504
Diffuse=12632256
Specular=8388608
link(onEnabled,14665421:doMove,[(815,314)(815,353)(753,353)(753,321)])
link(Point,7772462:Point3D,[])
}
Add(GL_Options,13370757,714,308)
{
Flag=1
link(onEvent,14665421:doEnabled,[])
}
Add(LineBreak,8444719,896,336)
{
Caption="1"
link(Out,16564429:doEvent1,[])
Primary=[8428433,-462,-14]
}
Add(ChildGroupBox,10286362,980,336)
{
link(onEvent1,2411833:doNext,[(1026,342)(1026,322)(863,322)(863,370)])
}
BEGIN_SDK
Add(EditMulti,16371112,0,0)
{
EventCount=3
WorkCount=1
Width=790
Height=354
}
Add(GroupBox,11651533,35,105)
{
Top=5
Width=113
Height=365
Color=-16777192
Ctl3D=0
Layout="parent.horiz1"
HeightScale=30
Caption=""
}
Add(Button,14369264,700,7)
{
Left=10
Top=290
Width=80
Height=40
link(onClick,16371112:onEvent1,[(761,13)(761,6)])
}
END_SDK
Add(Gl_Axis,5852894,700,413)
{
link(onDraw,683218:doScale,[])
}
Add(Math,11205482,679,224)
{
OpType=3
Op2=1000
link(Op1,12629519:Position,[])
}
Add(Hub,8296383,728,175)
{
link(onEvent1,12629519:doPosition2,[(755,181)(755,157)(667,157)(667,188)])
link(onEvent2,11205482:doOperation,[(755,188)(755,216)(667,216)(667,230)])
}
Add(LineBreak,2695010,679,266)
{
Caption="Масштаб"
Type=1
link(Data,11205482:Result,[])
Primary=[5416912,77,98]
}
Add(GetDataEx,15114739,756,385)
{
link(Data,5416912:Var,[])
}
Add(LineBreak,1233583,630,175)
{
Caption="2"
link(Out,12629519:doPosition,[])
Primary=[12473697,-196,154]
}
Add(Hub,16564429,952,336)
{
InCount=2
OutCount=1
link(onEvent1,10286362:doWork1,[])
}
Add(LineBreak,11096773,896,343)
{
Caption="3"
link(Out,16564429:doEvent2,[])
Primary=[13233314,-567,-21]
}
Add(Label,14672857,560,245)
{
Left=5
Top=425
Width=65
Height=30
}
Add(If_else,15176481,553,112)
{
Op1=Integer(0)
link(onTrue,659226:doTimer,[])
}
Add(Timer,659226,609,112)
{
Interval=10
Enable=1
link(onTimer,327499:doStrCat,[(655,118)(655,224)(492,224)(492,251)])
}
Add(GL_PolygonMode,2724116,945,420)
{
Side=2
Mode=1
link(onPolygonMode,2128545:doWork2,[])
}
Add(GL_PolygonMode,6287378,945,378)
{
Side=2
Mode=2
link(onPolygonMode,2128545:doWork1,[(998,384)])
}
Add(Counter,2411833,875,364)
{
Max=1
}
Add(IndexToChanel,15952797,875,413)
{
Point(Index)
link(onEvent1,6287378:doPolygonMode,[(918,419)(918,384)])
link(onEvent2,2724116:doPolygonMode,[])
link(Index,2411833:Count,[])
}
Add(HubEx,2128545,994,420)
{
link(onEvent,12642073:doEnum,[])
}
Add(StrCat,327499,504,245)
{
link(onStrCat,14672857:doText,[])
link(Str1,5517251:MouseX,[])
link(Str2,5517251:MouseY,[])
}
Add(HBoxLayout,2717337,252,147)
{
Name="horiz1"
Space=3
Padding=3
Layout=""
}
Add(HubEx,2105625,469,315)
{
link(onEvent,12986311:doViewPort,[])
}
карма: 11

1
Голосовали:buchkov