fCentering.pas 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. unit fCentering;
  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. GLS.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. const
  51. cFileName = 'polyhedron.3ds';
  52. begin
  53. SetGLSceneMediaDir();
  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.