Advertisement
nicolaiev

JSModeler and NSBasic

Aug 25th, 2015
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'August 25, 2015
  2. 'Contributed by Adrian Nicolaiev
  3. 'Website http://www.tobem.com
  4. 'LinkedIn https://www.linkedin.com/in/nicolaiev
  5.  
  6. 'JSModeler is a JavaScript framework to create and visualize 3D models.
  7.  
  8. 'At http://www.tobem.com/JSModeler you can see a Cuboid example.
  9. 'A NSBasic "Container" was used to host JSModeler CANVAS.
  10. '"Container" is really a very powerful recent feature in AppStudio.
  11.  
  12. 'Some more info:
  13. 'JSModeler https://github.com/kovacsv/JSModeler/wiki
  14. 'Three https://github.com/mrdoob/three.js
  15. 'Robotic Arm http://kovacsv.github.io/JSModeler/documentation/examples/robot/robot.html
  16. 'Lego Builder http://kovacsv.github.io/JSModeler/documentation/examples/legobuilder.html
  17.  
  18. var meshes
  19.  
  20. Function Form1_onshow()
  21.   JavaScript
  22.     var viewerSettings = {
  23.         cameraEyePosition : [-2.0, -1.5, 1.0],
  24.         cameraCenterPosition : [0.0, 0.0, 0.0],
  25.         cameraUpVector : [0, 0, 1]
  26.     };
  27.  
  28.     var canvas = JSModelerContainer1;
  29.     viewer = new JSM.ThreeViewer ();
  30.     viewer.Start (canvas, viewerSettings);
  31.  
  32.     var body = JSM.GenerateCuboid (1, 1.6, 1);
  33.     meshes = JSM.ConvertBodyToThreeMeshes (body);
  34.     var color = new THREE.Color (0, .8, 1);
  35.     meshes[0].material.color = color;
  36.     meshes[0].material.ambient = color;  
  37.     viewer.AddMeshes (meshes);
  38.  
  39.     viewer.Draw();
  40.  
  41.   End JavaScript
  42.   timerRef = SetInterval(ChangePosition, 10);
  43. End Function
  44.  
  45. Function Slider1_onchange()
  46.   ChangeColor
  47. End Function
  48.  
  49. Function Slider2_onchange()
  50.   ChangeColor
  51. End Function
  52.  
  53. Function Slider3_onchange()
  54.   ChangeColor
  55. End Function
  56.  
  57. Function ChangeColor()
  58.   JavaScript
  59.     var color = new THREE.Color (Slider1.value/100, Slider2.value/100, Slider3.value/100);
  60.     meshes[0].material.color = color;
  61.     meshes[0].material.ambient = color;  
  62.     viewer.Draw();  
  63.   End JavaScript
  64. End Function
  65.  
  66. Function ChangePosition()
  67.   meshes[0].rotation.x += 0.01
  68.   meshes[0].rotation.y += 0.01
  69.   meshes[0].rotation.z -= 0.01
  70.   viewer.Draw()
  71. End function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement