fCenteringD.pas 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. unit fCenteringD;
  2. interface
  3. uses
  4. Winapi.OpenGL,
  5. System.SysUtils,
  6. System.Classes,
  7. Vcl.Graphics,
  8. Vcl.Controls,
  9. Vcl.Forms,
  10. Vcl.Dialogs,
  11. Vcl.ExtCtrls,
  12. Vcl.ComCtrls,
  13. Vcl.StdCtrls,
  14. GLS.Scene,
  15. GLS.VectorFileObjects,
  16. GLS.Objects,
  17. GLS.SceneViewer,
  18. GLS.File3DS,
  19. GLS.Coordinates,
  20. GLS.BaseClasses,
  21. GLScene.Utils;
  22. type
  23. TFormCentering = class(TForm)
  24. GLSceneViewer1: TGLSceneViewer;
  25. GLScene1: TGLScene;
  26. GLCamera1: TGLCamera;
  27. DummyCube1: TGLDummyCube;
  28. DummyCube2: TGLDummyCube;
  29. DummyCube3: TGLDummyCube;
  30. FreeForm1: TGLFreeForm;
  31. FreeForm2: TGLFreeForm;
  32. FreeForm3: TGLFreeForm;
  33. GLLightSource1: TGLLightSource;
  34. DCCamera: TGLDummyCube;
  35. TrackBar1: TTrackBar;
  36. Panel1: TPanel;
  37. Label1: TLabel;
  38. Label2: TLabel;
  39. Label3: TLabel;
  40. procedure FormCreate(Sender: TObject);
  41. procedure TrackBar1Change(Sender: TObject);
  42. private
  43. public
  44. end;
  45. var
  46. FormCentering: TFormCentering;
  47. implementation
  48. {$R *.DFM}
  49. procedure TFormCentering.FormCreate(Sender: TObject);
  50. begin
  51. const cFileName = 'polyhedron.3ds';
  52. var Path: TFileName := GetCurrentAssetPath();
  53. SetCurrentDir(Path + '\model');
  54. // left one
  55. FreeForm3.AutoCentering:=[macCenterX, macCenterZ];
  56. FreeForm3.LoadFromFile(cFileName);
  57. // central one
  58. FreeForm2.AutoCentering:=[macCenterY];
  59. FreeForm2.LoadFromFile(cFileName);
  60. // right one
  61. FreeForm1.AutoCentering:=[macCenterX, macCenterY, macCenterZ];
  62. FreeForm1.LoadFromFile(cFileName);
  63. end;
  64. procedure TFormCentering.TrackBar1Change(Sender: TObject);
  65. begin
  66. DCCamera.PitchAngle:=TrackBar1.Position;
  67. end;
  68. end.