patioTable.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import {scene, Group, compute} from "setup";
  2. import Board from "board";
  3. const boards = [];
  4. createLegs();
  5. createTop();
  6. let borderOne = new Board(scene, 2, 4, 36, boards);
  7. borderOne.translate(19, 15, 0);
  8. let borderTwo = new Board(scene, 2, 4, 36, boards);
  9. borderTwo.translate(-19, 15, 0);
  10. let borderThree = new Board(scene, 2, 4, 40, boards);
  11. borderThree.translate(0, 15, 19);
  12. borderThree.rotate(0, 90, 0);
  13. let borderFour = new Board(scene, 2, 4, 40, boards);
  14. borderFour.translate(0, 15, -19);
  15. borderFour.rotate(0, 90, 0);
  16. function createLegs(){
  17. let legs = [];
  18. for(let i = 0; i < 4; i++){
  19. let leg = new Board(scene, 4, 4, 30, boards);
  20. leg.rotate(90, 0, 0);
  21. legs.push(leg);
  22. }
  23. let posX = 16;
  24. let posZ = 16;
  25. legs[0].translate(posX, 0, posZ);
  26. legs[1].translate(posX, 0, -posZ);
  27. legs[2].translate(-posX, 0, posZ);
  28. legs[3].translate(-posX, 0, -posZ);
  29. return legs;
  30. }
  31. function createTop(){
  32. let top = [];
  33. let leftShift = 15;
  34. for(let i = 0; i < 6; i++){
  35. let board = new Board(scene, 2, 6, 36, boards);
  36. board.translate(0, 16, leftShift - (i * 6));
  37. board.rotate(0, 90, 90);
  38. top.push(board);
  39. }
  40. return top;
  41. }
  42. compute(boards);