fdWaves.pas 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. unit fdWaves;
  2. interface
  3. uses
  4. System.SysUtils,
  5. System.Types,
  6. System.UITypes,
  7. System.Classes,
  8. System.Variants,
  9. System.Math.Vectors,
  10. FMX.Types,
  11. FMX.Controls,
  12. FMX.Forms,
  13. FMX.Graphics,
  14. FMX.Dialogs,
  15. FMX.Ani,
  16. FMX.MaterialSources,
  17. FMX.Controls3D,
  18. FMX.Objects3D,
  19. FMX.Viewport3D,
  20. FMX.StdCtrls,
  21. FMX.Controls.Presentation,
  22. FMX.Objects,
  23. FMX.Layouts,
  24. FMX.Edit,
  25. FMX.EditBox,
  26. FMX.SpinBox,
  27. FMX.Types3D,
  28. GBE.PlaneExtend;
  29. type
  30. TFormWaves = class(TForm)
  31. Viewport3D1: TViewport3D;
  32. FloatAnimation1: TFloatAnimation;
  33. Layout1: TLayout;
  34. Rectangle1: TRectangle;
  35. TrackBarAmplitude: TTrackBar;
  36. Label1: TLabel;
  37. Label2: TLabel;
  38. TrackBarLength: TTrackBar;
  39. LabelSpeed: TLabel;
  40. TrackBarSpeed: TTrackBar;
  41. GroupBoxOrigin: TGroupBox;
  42. Label4: TLabel;
  43. SpinBoxX: TSpinBox;
  44. Label5: TLabel;
  45. SpinBoxY: TSpinBox;
  46. Label6: TLabel;
  47. SpinBoxZ: TSpinBox;
  48. ColorMaterialSource1: TColorMaterialSource;
  49. SwitchLines: TSwitch;
  50. LabelLines: TLabel;
  51. Label8: TLabel;
  52. TrackBarOpacity: TTrackBar;
  53. LightMaterialSource1: TLightMaterialSource;
  54. Light1: TLight;
  55. GBEPlaneExtend1: TGBEPlaneExtend;
  56. procedure FloatAnimation1Process(Sender: TObject);
  57. procedure FormCreate(Sender: TObject);
  58. procedure TrackBarAmplitudeTracking(Sender: TObject);
  59. procedure TrackBarLengthTracking(Sender: TObject);
  60. procedure TrackBarSpeedTracking(Sender: TObject);
  61. procedure SpinBoxChange(Sender: TObject);
  62. procedure SwitchLinesSwitch(Sender: TObject);
  63. procedure TrackBarOpacityTracking(Sender: TObject);
  64. private
  65. public
  66. center : TPoint3D;
  67. end;
  68. var
  69. FormWaves: TFormWaves;
  70. implementation
  71. {$R *.fmx}
  72. procedure TFormWaves.FormCreate(Sender: TObject);
  73. begin
  74. GBEPlaneExtend1.Origine := Point3D(-13,-13,0);
  75. TrackBarAmplitude.Value := GBEPlaneExtend1.Amplitude;
  76. TrackBarLength.Value := GBEPlaneExtend1.Longueur;
  77. TrackBarSpeed.Value := GBEPlaneExtend1.Vitesse;
  78. FloatAnimation1.Start;
  79. end;
  80. procedure TFormWaves.FloatAnimation1Process(Sender: TObject);
  81. begin
  82. Viewport3D1.Repaint;
  83. end;
  84. procedure TFormWaves.SpinBoxChange(Sender: TObject);
  85. begin
  86. GBEPlaneExtend1.Origine := Point3D(SpinBoxX.Value, SpinBoxY.Value, SpinBoxZ.Value);
  87. end;
  88. procedure TFormWaves.SwitchLinesSwitch(Sender: TObject);
  89. begin
  90. GBEPlaneExtend1.ShowLines := SwitchLines.IsChecked;
  91. end;
  92. procedure TFormWaves.TrackBarAmplitudeTracking(Sender: TObject);
  93. begin
  94. GBEPlaneExtend1.Amplitude := TrackBarAmplitude.Value;
  95. end;
  96. procedure TFormWaves.TrackBarLengthTracking(Sender: TObject);
  97. begin
  98. GBEPlaneExtend1.Longueur := TrackBarLength.Value;
  99. end;
  100. procedure TFormWaves.TrackBarSpeedTracking(Sender: TObject);
  101. begin
  102. GBEPlaneExtend1.Vitesse := TrackBarSpeed.Value;
  103. end;
  104. procedure TFormWaves.TrackBarOpacityTracking(Sender: TObject);
  105. begin
  106. GBEPlaneExtend1.Opacity := TrackBarOpacity.Value;
  107. end;
  108. end.