ObjectPropertiesForm.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 ObjectPropertiesForm : Form
  8. {
  9. private readonly List<IINode> objects = new List<IINode>();
  10. public ObjectPropertiesForm()
  11. {
  12. InitializeComponent();
  13. }
  14. private void butOK_Click(object sender, EventArgs e)
  15. {
  16. Tools.UpdateCheckBox(chkNoExport, objects, "babylonjs_noexport");
  17. Tools.UpdateCheckBox(chkCollisions, objects, "babylonjs_checkcollisions");
  18. Tools.UpdateCheckBox(chkPickable, objects, "babylonjs_checkpickable");
  19. Tools.UpdateCheckBox(chkOptimize, objects, "babylonjs_optimizevertices");
  20. Tools.UpdateCheckBox(chkShowBoundingBox, objects, "babylonjs_showboundingbox");
  21. Tools.UpdateCheckBox(chkShowSubMeshesBoundingBox, objects, "babylonjs_showsubmeshesboundingbox");
  22. Tools.UpdateCheckBox(chkAutoAnimate, objects, "babylonjs_autoanimate");
  23. Tools.UpdateCheckBox(chkLoop, objects, "babylonjs_autoanimateloop");
  24. Tools.UpdateNumericUpDown(nupFrom, objects, "babylonjs_autoanimate_from");
  25. Tools.UpdateNumericUpDown(nupTo, objects, "babylonjs_autoanimate_to");
  26. Tools.UpdateNumericUpDown(nupAlphaIndex, objects, "babylonjs_alphaindex");
  27. }
  28. private void ObjectPropertiesForm_Load(object sender, EventArgs e)
  29. {
  30. for (var index = 0; index < Loader.Core.SelNodeCount; index++)
  31. {
  32. var node = Loader.Core.GetSelNode(index);
  33. //if (node.ObjectRef != null && node.ObjectRef.Eval(0).Obj.SuperClassID == SClass_ID.Geomobject)
  34. //{
  35. // handle "virtual objects" // todo : differentiate them and remove mesh specific settings (keep only animation settings)
  36. objects.Add(node);
  37. //}
  38. }
  39. Tools.PrepareCheckBox(chkNoExport, objects, "babylonjs_noexport");
  40. Tools.PrepareCheckBox(chkCollisions, objects, "babylonjs_checkcollisions");
  41. Tools.PrepareCheckBox(chkPickable, objects, "babylonjs_checkpickable");
  42. Tools.PrepareCheckBox(chkOptimize, objects, "babylonjs_optimizevertices");
  43. Tools.PrepareCheckBox(chkShowBoundingBox, objects, "babylonjs_showboundingbox");
  44. Tools.PrepareCheckBox(chkShowSubMeshesBoundingBox, objects, "babylonjs_showsubmeshesboundingbox");
  45. Tools.PrepareCheckBox(chkAutoAnimate, objects, "babylonjs_autoanimate", 1);
  46. Tools.PrepareCheckBox(chkLoop, objects, "babylonjs_autoanimateloop", 1);
  47. Tools.PrepareNumericUpDown(nupFrom, objects, "babylonjs_autoanimate_from");
  48. Tools.PrepareNumericUpDown(nupTo, objects, "babylonjs_autoanimate_to", 100.0f);
  49. Tools.PrepareNumericUpDown(nupAlphaIndex, objects, "babylonjs_alphaindex", 1000);
  50. }
  51. private void chkAutoAnimate_CheckedChanged(object sender, EventArgs e)
  52. {
  53. grpAutoAnimate.Enabled = chkAutoAnimate.Checked;
  54. }
  55. }
  56. }