CameraPropertiesForm.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows.Forms;
  4. using Autodesk.Max;
  5. namespace Max2Babylon
  6. {
  7. public partial class CameraPropertiesForm : Form
  8. {
  9. private readonly List<IINode> cameras = new List<IINode>();
  10. public CameraPropertiesForm()
  11. {
  12. InitializeComponent();
  13. }
  14. private void CameraPropertiesForm_Load(object sender, EventArgs e)
  15. {
  16. for (var index = 0; index < Loader.Core.SelNodeCount; index++)
  17. {
  18. var node = Loader.Core.GetSelNode(index);
  19. if (node.ObjectRef != null && node.ObjectRef.SuperClassID == SClass_ID.Camera)
  20. {
  21. cameras.Add(node);
  22. }
  23. }
  24. Tools.PrepareCheckBox(chkCollisions, cameras, "babylonjs_checkcollisions");
  25. Tools.PrepareCheckBox(chkGravity, cameras, "babylonjs_applygravity");
  26. Tools.PrepareNumericUpDown(nupSpeed, cameras, "babylonjs_speed", 1.0f);
  27. Tools.PrepareNumericUpDown(nupInertia, cameras, "babylonjs_inertia", 0.9f);
  28. Tools.PrepareVector3Control(ellipsoidControl, cameras[0], "babylonjs_ellipsoid", 0.5f, 1.0f, 0.5f);
  29. Tools.PrepareCheckBox(chkAutoAnimate, cameras, "babylonjs_autoanimate");
  30. Tools.PrepareCheckBox(chkLoop, cameras, "babylonjs_autoanimateloop");
  31. Tools.PrepareNumericUpDown(nupFrom, cameras, "babylonjs_autoanimate_from");
  32. Tools.PrepareNumericUpDown(nupTo, cameras, "babylonjs_autoanimate_to", 100.0f);
  33. }
  34. private void butOK_Click(object sender, EventArgs e)
  35. {
  36. Tools.UpdateCheckBox(chkCollisions, cameras, "babylonjs_checkcollisions");
  37. Tools.UpdateCheckBox(chkGravity, cameras, "babylonjs_applygravity");
  38. Tools.UpdateNumericUpDown(nupSpeed, cameras, "babylonjs_speed");
  39. Tools.UpdateNumericUpDown(nupInertia, cameras, "babylonjs_inertia");
  40. Tools.UpdateVector3Control(ellipsoidControl, cameras, "babylonjs_ellipsoid");
  41. Tools.UpdateCheckBox(chkAutoAnimate, cameras, "babylonjs_autoanimate");
  42. Tools.UpdateCheckBox(chkLoop, cameras, "babylonjs_autoanimateloop");
  43. Tools.UpdateNumericUpDown(nupFrom, cameras, "babylonjs_autoanimate_from");
  44. Tools.UpdateNumericUpDown(nupTo, cameras, "babylonjs_autoanimate_to");
  45. }
  46. private void chkAutoAnimate_CheckedChanged(object sender, EventArgs e)
  47. {
  48. grpAutoAnimate.Enabled = chkAutoAnimate.Checked;
  49. }
  50. }
  51. }