- ...
- If oGLPanel.MinMax(oMin,oMax)
- Then begin
- Case _eCamPos Of
- cpTopDown: Begin
- oCenter.X:=(oMin.X+oMax.X)/2;
- oCenter.Z:=(oMin.Z+oMax.Z)/2;
- oCenter.Y:=oMin.Y;
- oEye:=oCenter;
- dWinY:=(oCenter.Z-oMin.Z)*oGLPanel.SideRatio;
- dWinX:= oCenter.X-oMin.X;
- dWinTot:=sqrt(2*Power(Max(dWinX,dWinY),2));
- oEye.Y:=oMax.Y+dWinTot/Tan((oGLPanel.ViewArc/180*Pi));
- oUp.X:=0;
- oUp.Z:=-1;
- oUp.Y:=0;
- End;
- ....