actionsbuilder.main.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. Global functions called by the plugins (3ds Max, etc.)
  3. */
  4. // Elements
  5. var list = null;
  6. var viewer = null;
  7. var actionsBuilderJsonInput = document.getElementById("ActionsBuilderJSON");
  8. this.createJSON = function () {
  9. var structure = viewer.utils.createJSON(viewer.root);
  10. var asText = JSON.stringify(structure);
  11. actionsBuilderJsonInput.value = asText;
  12. };
  13. this.loadFromJSON = function () {
  14. var json = actionsBuilderJsonInput.value;
  15. if (json !== "") {
  16. var structure = JSON.parse(json);
  17. viewer.utils.loadFromJSON(structure, null);
  18. }
  19. };
  20. this.updateObjectName = function () {
  21. var element = document.getElementById("ActionsBuilderObjectName");
  22. var name = element.value;
  23. viewer.objectName = name;
  24. if (viewer.root.type === ActionsBuilder.Type.OBJECT) {
  25. name += " - Mesh";
  26. }
  27. else {
  28. name += " - Scene";
  29. }
  30. viewer.root.node.text.attr("text", name);
  31. };
  32. this.resetList = function () {
  33. list.clearLists();
  34. list.createListsElements();
  35. };
  36. this.setMeshesNames = function () {
  37. var args = [];
  38. for (var _i = 0; _i < arguments.length; _i++) {
  39. args[_i - 0] = arguments[_i];
  40. }
  41. for (var i = 0; i < args.length; i++) {
  42. ActionsBuilder.SceneElements.MESHES.push(args[i]);
  43. }
  44. };
  45. this.setLightsNames = function () {
  46. var args = [];
  47. for (var _i = 0; _i < arguments.length; _i++) {
  48. args[_i - 0] = arguments[_i];
  49. }
  50. for (var i = 0; i < args.length; i++) {
  51. ActionsBuilder.SceneElements.LIGHTS.push(args[i]);
  52. }
  53. };
  54. this.setCamerasNames = function () {
  55. var args = [];
  56. for (var _i = 0; _i < arguments.length; _i++) {
  57. args[_i - 0] = arguments[_i];
  58. }
  59. for (var i = 0; i < args.length; i++) {
  60. ActionsBuilder.SceneElements.CAMERAS.push(args[i]);
  61. }
  62. };
  63. this.setSoundsNames = function () {
  64. var args = [];
  65. for (var _i = 0; _i < arguments.length; _i++) {
  66. args[_i - 0] = arguments[_i];
  67. }
  68. for (var i = 0; i < args.length; i++) {
  69. var sound = args[i];
  70. if (sound !== "" && ActionsBuilder.SceneElements.SOUNDS.indexOf(sound) === -1) {
  71. ActionsBuilder.SceneElements.SOUNDS.push(args[i]);
  72. }
  73. }
  74. };
  75. this.hideButtons = function () {
  76. // Empty
  77. };
  78. this.setIsObject = function () {
  79. viewer.root.type = ActionsBuilder.Type.OBJECT;
  80. };
  81. this.setIsScene = function () {
  82. viewer.root.type = ActionsBuilder.Type.SCENE;
  83. };
  84. this.run = function () {
  85. // Configure viewer
  86. viewer = new ActionsBuilder.Viewer(ActionsBuilder.Type.OBJECT);
  87. viewer.setColorTheme("-ms-linear-gradient(top, rgba(38, 38, 38,1) 0%, rgba(125, 126, 125, 1) 100%)");
  88. viewer.setColorTheme("linear-gradient(top, rgba(38, 38, 38,1) 0%, rgba(125, 126, 125, 1) 100%)");
  89. viewer.setColorTheme("-webkit-linear-gradient(top, rgba(38, 38, 38,1) 0%, rgba(125, 126, 125, 1) 100%)");
  90. viewer.setColorTheme("-o-linear-gradient(top, rgba(38, 38, 38,1) 0%, rgba(125, 126, 125, 1) 100%)");
  91. viewer.onResize();
  92. viewer.update();
  93. // Configure list
  94. list = new ActionsBuilder.List(viewer);
  95. list.setColorTheme("rgb(64, 64, 64)");
  96. list.createListsElements();
  97. list.onResize();
  98. };