Unit1.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Unit1.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma link "GLS.BaseClasses"
  8. #pragma link "GLS.Cadencer"
  9. #pragma link "GLS.Coordinates"
  10. #pragma link "GLS.HUDObjects"
  11. #pragma link "GLS.NGDManager"
  12. #pragma link "GLS.Objects"
  13. #pragma link "GLS.Scene"
  14. #pragma link "GLS.SimpleNavigation"
  15. #pragma link "GLS.SceneViewer"
  16. #pragma link "GLS.XCollection"
  17. #pragma resource "*.dfm"
  18. TForm1 *Form1;
  19. //---------------------------------------------------------------------------
  20. __fastcall TForm1::TForm1(TComponent* Owner)
  21. : TForm(Owner)
  22. {
  23. }
  24. //---------------------------------------------------------------------------
  25. void __fastcall TForm1::Button1Click(TObject *Sender)
  26. {
  27. TGLCube *GLCube1;
  28. TGLNGDDynamic *DynNGDBehav;
  29. GLCube1 = (TGLCube *)(GLDummyCube1->AddNewChild(__classid(TGLCube)));
  30. GLCube1->Material->FrontProperties->Diffuse->RandomColor();
  31. GLCube1->Position->SetPoint(Random(), 2, Random());
  32. DynNGDBehav = (TGLNGDDynamic *)GLCube1->GetOrCreateBehaviour(__classid(TGLNGDDynamic));
  33. DynNGDBehav->Manager = GLNGDManager1;
  34. }
  35. //---------------------------------------------------------------------------
  36. void __fastcall TForm1::Button2Click(TObject *Sender)
  37. {
  38. TGLSphere *GLSphere1;
  39. TGLNGDDynamic *DynNGDBehav;
  40. GLSphere1 = (TGLSphere *)(GLDummyCube1->AddNewChild(__classid(TGLSphere)));
  41. GLSphere1->Material->FrontProperties->Diffuse->RandomColor();
  42. GLSphere1->Position->SetPoint(Random(), 2, Random());
  43. DynNGDBehav = (TGLNGDDynamic *)GLSphere1->GetOrCreateBehaviour(__classid(TGLNGDDynamic));
  44. DynNGDBehav->Manager = GLNGDManager1;
  45. }
  46. //---------------------------------------------------------------------------
  47. void __fastcall TForm1::Button3Click(TObject *Sender)
  48. {
  49. TGLCone *GLCone1;
  50. TGLNGDDynamic *DynNGDBehav;
  51. GLCone1 = (TGLCone *)(GLDummyCube1->AddNewChild(__classid(TGLCone)));
  52. GLCone1->Material->FrontProperties->Diffuse->RandomColor();
  53. GLCone1->Position->SetPoint(Random(), 2, Random());
  54. DynNGDBehav = (TGLNGDDynamic *)GLCone1->GetOrCreateBehaviour(__classid(TGLNGDDynamic));
  55. DynNGDBehav->Manager = GLNGDManager1;
  56. }
  57. //---------------------------------------------------------------------------
  58. void __fastcall TForm1::Button4Click(TObject *Sender)
  59. {
  60. TGLCylinder *GLCylinder1;
  61. TGLNGDDynamic *DynNGDBehav;
  62. GLCylinder1 = (TGLCylinder *)(GLDummyCube1->AddNewChild(__classid(TGLCylinder)));
  63. GLCylinder1->Material->FrontProperties->Diffuse->RandomColor();
  64. GLCylinder1->Position->SetPoint(Random(), 2, Random());
  65. DynNGDBehav = (TGLNGDDynamic *)GLCylinder1->GetOrCreateBehaviour(__classid(TGLNGDDynamic));
  66. DynNGDBehav->Manager = GLNGDManager1;
  67. }
  68. //---------------------------------------------------------------------------
  69. void __fastcall TForm1::Button5Click(TObject *Sender)
  70. {
  71. TGLCapsule *GLCapsule1;
  72. TGLNGDDynamic *DynNGDBehav;
  73. GLCapsule1 = (TGLCapsule *)(GLDummyCube1->AddNewChild(__classid(TGLCapsule)));
  74. GLCapsule1->Material->FrontProperties->Diffuse->RandomColor();
  75. GLCapsule1->Position->SetPoint(Random(), 2, Random());
  76. GLCapsule1->PitchAngle = 90;
  77. DynNGDBehav = (TGLNGDDynamic *)GLCapsule1->GetOrCreateBehaviour(__classid(TGLNGDDynamic));
  78. DynNGDBehav->Manager = GLNGDManager1;
  79. }
  80. //---------------------------------------------------------------------------
  81. void __fastcall TForm1::Button6Click(TObject *Sender)
  82. {
  83. GLDummyCube1->DeleteChildren();
  84. GLSceneViewer1->Invalidate();
  85. }
  86. //---------------------------------------------------------------------------
  87. void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
  88. const double newTime)
  89. {
  90. GLNGDManager1->Step(deltaTime);
  91. GLResolutionIndependantHUDText1->Text = "Bodycount:=" + IntToStr
  92. (GLNGDManager1->NewtonBodyCount);
  93. }