abstract-3d 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +7 -0
  4. package/lib/abstract-3d.d.ts +317 -0
  5. package/lib/abstract-3d.d.ts.map +1 -0
  6. package/lib/abstract-3d.js +333 -0
  7. package/lib/abstract-3d.js.map +1 -0
  8. package/lib/index.d.ts +3 -0
  9. package/lib/index.d.ts.map +1 -0
  10. package/lib/index.js +19 -0
  11. package/lib/index.js.map +1 -0
  12. package/lib/renderers/dxf/dxf-encoding.d.ts +7 -0
  13. package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -0
  14. package/lib/renderers/dxf/dxf-encoding.js +343 -0
  15. package/lib/renderers/dxf/dxf-encoding.js.map +1 -0
  16. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +3 -0
  17. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -0
  18. package/lib/renderers/dxf/dxf-geometries/dxf-box.js +52 -0
  19. package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -0
  20. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +3 -0
  21. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -0
  22. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +54 -0
  23. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -0
  24. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +3 -0
  25. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -0
  26. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +62 -0
  27. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -0
  28. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +3 -0
  29. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -0
  30. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +38 -0
  31. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -0
  32. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +3 -0
  33. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -0
  34. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +61 -0
  35. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -0
  36. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +3 -0
  37. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -0
  38. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +61 -0
  39. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -0
  40. package/lib/renderers/dxf/dxf.d.ts +3 -0
  41. package/lib/renderers/dxf/dxf.d.ts.map +1 -0
  42. package/lib/renderers/dxf/dxf.js +64 -0
  43. package/lib/renderers/dxf/dxf.js.map +1 -0
  44. package/lib/renderers/dxf/index.d.ts +2 -0
  45. package/lib/renderers/dxf/index.d.ts.map +1 -0
  46. package/lib/renderers/dxf/index.js +18 -0
  47. package/lib/renderers/dxf/index.js.map +1 -0
  48. package/lib/renderers/index.d.ts +5 -0
  49. package/lib/renderers/index.d.ts.map +1 -0
  50. package/lib/renderers/index.js +21 -0
  51. package/lib/renderers/index.js.map +1 -0
  52. package/lib/renderers/react/index.d.ts +6 -0
  53. package/lib/renderers/react/index.d.ts.map +1 -0
  54. package/lib/renderers/react/index.js +21 -0
  55. package/lib/renderers/react/index.js.map +1 -0
  56. package/lib/renderers/react/react-camera.d.ts +60 -0
  57. package/lib/renderers/react/react-camera.d.ts.map +1 -0
  58. package/lib/renderers/react/react-camera.js +132 -0
  59. package/lib/renderers/react/react-camera.js.map +1 -0
  60. package/lib/renderers/react/react-dimension.d.ts +12 -0
  61. package/lib/renderers/react/react-dimension.d.ts.map +1 -0
  62. package/lib/renderers/react/react-dimension.js +39 -0
  63. package/lib/renderers/react/react-dimension.js.map +1 -0
  64. package/lib/renderers/react/react-group.d.ts +18 -0
  65. package/lib/renderers/react/react-group.d.ts.map +1 -0
  66. package/lib/renderers/react/react-group.js +62 -0
  67. package/lib/renderers/react/react-group.js.map +1 -0
  68. package/lib/renderers/react/react-hotspot.d.ts +30 -0
  69. package/lib/renderers/react/react-hotspot.d.ts.map +1 -0
  70. package/lib/renderers/react/react-hotspot.js +71 -0
  71. package/lib/renderers/react/react-hotspot.js.map +1 -0
  72. package/lib/renderers/react/react-material.d.ts +13 -0
  73. package/lib/renderers/react/react-material.d.ts.map +1 -0
  74. package/lib/renderers/react/react-material.js +85 -0
  75. package/lib/renderers/react/react-material.js.map +1 -0
  76. package/lib/renderers/react/react-mesh.d.ts +10 -0
  77. package/lib/renderers/react/react-mesh.d.ts.map +1 -0
  78. package/lib/renderers/react/react-mesh.js +238 -0
  79. package/lib/renderers/react/react-mesh.js.map +1 -0
  80. package/lib/renderers/react/react-scene.d.ts +20 -0
  81. package/lib/renderers/react/react-scene.d.ts.map +1 -0
  82. package/lib/renderers/react/react-scene.js +44 -0
  83. package/lib/renderers/react/react-scene.js.map +1 -0
  84. package/lib/renderers/react/react.d.ts +30 -0
  85. package/lib/renderers/react/react.d.ts.map +1 -0
  86. package/lib/renderers/react/react.js +48 -0
  87. package/lib/renderers/react/react.js.map +1 -0
  88. package/lib/renderers/shared.d.ts +6 -0
  89. package/lib/renderers/shared.d.ts.map +1 -0
  90. package/lib/renderers/shared.js +93 -0
  91. package/lib/renderers/shared.js.map +1 -0
  92. package/lib/renderers/stl/index.d.ts +2 -0
  93. package/lib/renderers/stl/index.d.ts.map +1 -0
  94. package/lib/renderers/stl/index.js +18 -0
  95. package/lib/renderers/stl/index.js.map +1 -0
  96. package/lib/renderers/stl/stl-encoding.d.ts +4 -0
  97. package/lib/renderers/stl/stl-encoding.d.ts.map +1 -0
  98. package/lib/renderers/stl/stl-encoding.js +26 -0
  99. package/lib/renderers/stl/stl-encoding.js.map +1 -0
  100. package/lib/renderers/stl/stl-geometries/stl-box.d.ts +3 -0
  101. package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -0
  102. package/lib/renderers/stl/stl-geometries/stl-box.js +57 -0
  103. package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -0
  104. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +3 -0
  105. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -0
  106. package/lib/renderers/stl/stl-geometries/stl-cone.js +54 -0
  107. package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -0
  108. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +3 -0
  109. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -0
  110. package/lib/renderers/stl/stl-geometries/stl-cylinder.js +62 -0
  111. package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -0
  112. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +3 -0
  113. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -0
  114. package/lib/renderers/stl/stl-geometries/stl-plane.js +44 -0
  115. package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -0
  116. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +3 -0
  117. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -0
  118. package/lib/renderers/stl/stl-geometries/stl-polygon.js +59 -0
  119. package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -0
  120. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +3 -0
  121. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -0
  122. package/lib/renderers/stl/stl-geometries/stl-shape.js +59 -0
  123. package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -0
  124. package/lib/renderers/stl/stl.d.ts +3 -0
  125. package/lib/renderers/stl/stl.d.ts.map +1 -0
  126. package/lib/renderers/stl/stl.js +57 -0
  127. package/lib/renderers/stl/stl.js.map +1 -0
  128. package/lib/renderers/svg/index.d.ts +3 -0
  129. package/lib/renderers/svg/index.d.ts.map +1 -0
  130. package/lib/renderers/svg/index.js +18 -0
  131. package/lib/renderers/svg/index.js.map +1 -0
  132. package/lib/renderers/svg/svg-encoding.d.ts +14 -0
  133. package/lib/renderers/svg/svg-encoding.d.ts.map +1 -0
  134. package/lib/renderers/svg/svg-encoding.js +27 -0
  135. package/lib/renderers/svg/svg-encoding.js.map +1 -0
  136. package/lib/renderers/svg/svg-geometries/shared.d.ts +12 -0
  137. package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -0
  138. package/lib/renderers/svg/svg-geometries/shared.js +12 -0
  139. package/lib/renderers/svg/svg-geometries/shared.js.map +1 -0
  140. package/lib/renderers/svg/svg-geometries/svg-box.d.ts +4 -0
  141. package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -0
  142. package/lib/renderers/svg/svg-geometries/svg-box.js +70 -0
  143. package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -0
  144. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +4 -0
  145. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -0
  146. package/lib/renderers/svg/svg-geometries/svg-cone.js +64 -0
  147. package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -0
  148. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +4 -0
  149. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -0
  150. package/lib/renderers/svg/svg-geometries/svg-cylinder.js +69 -0
  151. package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -0
  152. package/lib/renderers/svg/svg-geometries/svg-line.d.ts +4 -0
  153. package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -0
  154. package/lib/renderers/svg/svg-geometries/svg-line.js +39 -0
  155. package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -0
  156. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +5 -0
  157. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -0
  158. package/lib/renderers/svg/svg-geometries/svg-plane.js +57 -0
  159. package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -0
  160. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +4 -0
  161. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -0
  162. package/lib/renderers/svg/svg-geometries/svg-polygon.js +20 -0
  163. package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -0
  164. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +4 -0
  165. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -0
  166. package/lib/renderers/svg/svg-geometries/svg-shape.js +20 -0
  167. package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -0
  168. package/lib/renderers/svg/svg-geometries/svg-text.d.ts +4 -0
  169. package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -0
  170. package/lib/renderers/svg/svg-geometries/svg-text.js +46 -0
  171. package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -0
  172. package/lib/renderers/svg/svg.d.ts +10 -0
  173. package/lib/renderers/svg/svg.d.ts.map +1 -0
  174. package/lib/renderers/svg/svg.js +98 -0
  175. package/lib/renderers/svg/svg.js.map +1 -0
  176. package/package.json +31 -0
  177. package/src/abstract-3d.ts +578 -0
  178. package/src/index.ts +2 -0
  179. package/src/renderers/dxf/dxf-encoding.ts +348 -0
  180. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +27 -0
  181. package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +31 -0
  182. package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +45 -0
  183. package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +16 -0
  184. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +36 -0
  185. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +36 -0
  186. package/src/renderers/dxf/dxf.ts +38 -0
  187. package/src/renderers/dxf/index.ts +1 -0
  188. package/src/renderers/index.ts +4 -0
  189. package/src/renderers/react/index.ts +5 -0
  190. package/src/renderers/react/react-camera.tsx +208 -0
  191. package/src/renderers/react/react-dimension.tsx +76 -0
  192. package/src/renderers/react/react-group.tsx +133 -0
  193. package/src/renderers/react/react-hotspot.tsx +116 -0
  194. package/src/renderers/react/react-material.tsx +159 -0
  195. package/src/renderers/react/react-mesh.tsx +380 -0
  196. package/src/renderers/react/react-scene.tsx +137 -0
  197. package/src/renderers/react/react.tsx +118 -0
  198. package/src/renderers/shared.ts +111 -0
  199. package/src/renderers/stl/index.ts +1 -0
  200. package/src/renderers/stl/stl-encoding.ts +22 -0
  201. package/src/renderers/stl/stl-geometries/stl-box.ts +33 -0
  202. package/src/renderers/stl/stl-geometries/stl-cone.ts +37 -0
  203. package/src/renderers/stl/stl-geometries/stl-cylinder.ts +45 -0
  204. package/src/renderers/stl/stl-geometries/stl-plane.ts +16 -0
  205. package/src/renderers/stl/stl-geometries/stl-polygon.ts +35 -0
  206. package/src/renderers/stl/stl-geometries/stl-shape.ts +35 -0
  207. package/src/renderers/stl/stl.ts +33 -0
  208. package/src/renderers/svg/index.ts +2 -0
  209. package/src/renderers/svg/svg-encoding.ts +46 -0
  210. package/src/renderers/svg/svg-geometries/shared.ts +10 -0
  211. package/src/renderers/svg/svg-geometries/svg-box.ts +61 -0
  212. package/src/renderers/svg/svg-geometries/svg-cone.ts +52 -0
  213. package/src/renderers/svg/svg-geometries/svg-cylinder.ts +58 -0
  214. package/src/renderers/svg/svg-geometries/svg-line.ts +20 -0
  215. package/src/renderers/svg/svg-geometries/svg-plane.ts +44 -0
  216. package/src/renderers/svg/svg-geometries/svg-polygon.ts +25 -0
  217. package/src/renderers/svg/svg-geometries/svg-shape.ts +25 -0
  218. package/src/renderers/svg/svg-geometries/svg-text.ts +28 -0
  219. package/src/renderers/svg/svg.ts +201 -0
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.bounds3Overlap = exports.bounds3ToSize = exports.bounds3Zero = exports.bounds2Zero = exports.boundsZero = exports.bounds3 = exports.bounds2 = exports.bounds = exports.less = exports.leq = exports.greater = exports.geq = exports.isZero = exports.equals = exports.vec3Greater = exports.vec3ZMean = exports.vec3YMean = exports.vec3XMean = exports.vec3Equals = exports.vec2Equals = exports.vec3Dupl = exports.vec2Dupl = exports.vec3Mult = exports.vec2Mult = exports.vec2Greater = exports.vec3Normalize = exports.vec2Normalize = exports.vec3Length = exports.vec2Length = exports.vec3Dot = exports.vec2Dot = exports.vec3Sub = exports.vec2Sub = exports.vec3Add = exports.vec2Add = exports.vec3Scale = exports.vec2Scale = exports.vec3Flip = exports.vec2Flip = exports.vec2Zero = exports.vec3NegZ = exports.vec3PosZ = exports.vec3NegY = exports.vec3PosY = exports.vec3NegX = exports.vec3PosX = exports.vec3Zero = exports.vec2 = exports.vec3 = exports.views = void 0;
27
+ exports.splineCurve = exports.circleCurve = exports.tube = exports.text = exports.line = exports.lineGeo = exports.lineMesh = exports.polygon = exports.shape = exports.sphere = exports.cylinder = exports.cone = exports.plane = exports.squareHole = exports.roundHole = exports.box = exports.boxGeometry = exports.boxMesh = exports.group = exports.polygonRotTrans = exports.polygonTrans = exports.polygonRot = exports.lineRotTrans = exports.lineTrans = exports.lineRot = exports.sphereRotTrans = exports.geoTransRot = exports.geoTrans = exports.geoRot = exports.vec3TransRot = exports.vec3Rot = exports.vec3RotCombine = exports.bounds3FromVec3Array = exports.bounds3Merge = exports.bounds2Merge = exports.bounds3FromPosAndSize = exports.bounds2FromPosAndSize = exports.bounds3Center = exports.boundsXOverlapX = exports.bounds2OverlapY = exports.boundsOverlap = void 0;
28
+ const THREE = __importStar(require("three"));
29
+ exports.views = ["front", "back", "top", "bottom", "left", "right"];
30
+ const vec3 = (x, y, z) => ({ x, y, z });
31
+ exports.vec3 = vec3;
32
+ const vec2 = (x, y) => ({ x, y });
33
+ exports.vec2 = vec2;
34
+ exports.vec3Zero = (0, exports.vec3)(0, 0, 0);
35
+ exports.vec3PosX = (0, exports.vec3)(1, 0, 0);
36
+ exports.vec3NegX = (0, exports.vec3)(-1, 0, 0);
37
+ exports.vec3PosY = (0, exports.vec3)(0, 1, 0);
38
+ exports.vec3NegY = (0, exports.vec3)(0, -1, 0);
39
+ exports.vec3PosZ = (0, exports.vec3)(0, 1, 0);
40
+ exports.vec3NegZ = (0, exports.vec3)(0, -1, 0);
41
+ exports.vec2Zero = (0, exports.vec2)(0, 0);
42
+ const vec2Flip = (v) => (0, exports.vec2)(-v.x, -v.y);
43
+ exports.vec2Flip = vec2Flip;
44
+ const vec3Flip = (v) => (0, exports.vec3)(-v.x, -v.y, -v.z);
45
+ exports.vec3Flip = vec3Flip;
46
+ const vec2Scale = (v, s) => (0, exports.vec2)(v.x * s, v.y * s);
47
+ exports.vec2Scale = vec2Scale;
48
+ const vec3Scale = (v, s) => (0, exports.vec3)(v.x * s, v.y * s, v.z * s);
49
+ exports.vec3Scale = vec3Scale;
50
+ const vec2Add = (a, b) => (0, exports.vec2)(a.x + b.x, a.y + b.y);
51
+ exports.vec2Add = vec2Add;
52
+ const vec3Add = (a, b) => (0, exports.vec3)(a.x + b.x, a.y + b.y, a.z + b.z);
53
+ exports.vec3Add = vec3Add;
54
+ const vec2Sub = (a, b) => (0, exports.vec2)(a.x - b.x, a.y - b.y);
55
+ exports.vec2Sub = vec2Sub;
56
+ const vec3Sub = (a, b) => (0, exports.vec3)(a.x - b.x, a.y - b.y, a.z - b.z);
57
+ exports.vec3Sub = vec3Sub;
58
+ const vec2Dot = (a, b) => a.x * b.x + a.y * b.y;
59
+ exports.vec2Dot = vec2Dot;
60
+ const vec3Dot = (a, b) => a.x * b.x + a.y * b.y + a.z * b.z;
61
+ exports.vec3Dot = vec3Dot;
62
+ const vec2Length = (v) => Math.sqrt(v.x * v.x + v.y * v.y);
63
+ exports.vec2Length = vec2Length;
64
+ const vec3Length = (v) => Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
65
+ exports.vec3Length = vec3Length;
66
+ const vec2Normalize = (v) => (0, exports.vec2Scale)(v, 1 / (0, exports.vec2Length)(v));
67
+ exports.vec2Normalize = vec2Normalize;
68
+ const vec3Normalize = (v) => (0, exports.vec3Scale)(v, 1 / (0, exports.vec3Length)(v));
69
+ exports.vec3Normalize = vec3Normalize;
70
+ const vec2Greater = (a, b) => (0, exports.vec2)(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y);
71
+ exports.vec2Greater = vec2Greater;
72
+ const vec2Mult = (a, b) => (0, exports.vec2)(a.x * b.x, a.y * b.y);
73
+ exports.vec2Mult = vec2Mult;
74
+ const vec3Mult = (a, b) => (0, exports.vec3)(a.x * b.x, a.y * b.y, a.z * b.z);
75
+ exports.vec3Mult = vec3Mult;
76
+ const vec2Dupl = (num) => (0, exports.vec2)(num, num);
77
+ exports.vec2Dupl = vec2Dupl;
78
+ const vec3Dupl = (num) => (0, exports.vec3)(num, num, num);
79
+ exports.vec3Dupl = vec3Dupl;
80
+ const vec2Equals = (a, b) => (0, exports.equals)(a.x, b.x) && (0, exports.equals)(a.y, b.y);
81
+ exports.vec2Equals = vec2Equals;
82
+ const vec3Equals = (a, b) => (0, exports.equals)(a.x, b.x) && (0, exports.equals)(a.y, b.y) && (0, exports.equals)(a.z, b.z);
83
+ exports.vec3Equals = vec3Equals;
84
+ const vec3XMean = (...v) => v.reduce((a, c) => a + c.x, 0) / v.length;
85
+ exports.vec3XMean = vec3XMean;
86
+ const vec3YMean = (...v) => v.reduce((a, c) => a + c.y, 0) / v.length;
87
+ exports.vec3YMean = vec3YMean;
88
+ const vec3ZMean = (...v) => v.reduce((a, c) => a + c.z, 0) / v.length;
89
+ exports.vec3ZMean = vec3ZMean;
90
+ const vec3Greater = (a, b) => (0, exports.vec3)(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y, a.z > b.z ? a.z : b.z);
91
+ exports.vec3Greater = vec3Greater;
92
+ const equals = (num1, num2, equailty = Number.EPSILON) => Math.abs(num1 - num2) < equailty;
93
+ exports.equals = equals;
94
+ const isZero = (num, equailty = Number.EPSILON) => Math.abs(num) <= equailty;
95
+ exports.isZero = isZero;
96
+ const geq = (num1, num2, equailty = Number.EPSILON) => num1 >= num2 - equailty;
97
+ exports.geq = geq;
98
+ const greater = (num1, num2, equailty = Number.EPSILON) => num1 > num2 + equailty;
99
+ exports.greater = greater;
100
+ const leq = (num1, num2, equailty = Number.EPSILON) => num1 <= num2 + equailty;
101
+ exports.leq = leq;
102
+ const less = (num1, num2, equailty = Number.EPSILON) => num1 < num2 - equailty;
103
+ exports.less = less;
104
+ // -- Bounds
105
+ const bounds = (min, max) => ({ min, max });
106
+ exports.bounds = bounds;
107
+ const bounds2 = (min, max) => ({ min, max });
108
+ exports.bounds2 = bounds2;
109
+ const bounds3 = (min, max) => ({ min, max });
110
+ exports.bounds3 = bounds3;
111
+ exports.boundsZero = (0, exports.bounds)(0, 0);
112
+ exports.bounds2Zero = (0, exports.bounds2)(exports.vec2Zero, exports.vec2Zero);
113
+ exports.bounds3Zero = (0, exports.bounds3)(exports.vec3Zero, exports.vec3Zero);
114
+ const bounds3ToSize = (bounds) => (0, exports.vec3)(bounds.max.x - bounds.min.x, bounds.max.y - bounds.min.y, bounds.max.z - bounds.min.z);
115
+ exports.bounds3ToSize = bounds3ToSize;
116
+ const bounds3Overlap = (a, b, equailty = Number.EPSILON) => !(0, exports.leq)(a.max.x, b.min.x, equailty) &&
117
+ !(0, exports.geq)(a.min.x, b.max.x, equailty) &&
118
+ !(0, exports.leq)(a.max.y, b.min.y, equailty) &&
119
+ !(0, exports.geq)(a.min.y, b.max.y, equailty) &&
120
+ !(0, exports.leq)(a.max.z, b.min.z, equailty) &&
121
+ !(0, exports.geq)(a.min.z, b.max.z, equailty);
122
+ exports.bounds3Overlap = bounds3Overlap;
123
+ const boundsOverlap = (a, b) => ((0, exports.greater)(a.max, b.min) && (0, exports.less)(a.min, b.max)) || ((0, exports.greater)(b.max, a.min) && (0, exports.less)(b.min, a.max));
124
+ exports.boundsOverlap = boundsOverlap;
125
+ const bounds2OverlapY = (a, b) => ((0, exports.greater)(a.max.y, b.min.y) && (0, exports.less)(a.min.y, b.max.y)) || ((0, exports.greater)(b.max.y, a.min.y) && (0, exports.less)(b.min.y, a.max.y));
126
+ exports.bounds2OverlapY = bounds2OverlapY;
127
+ const boundsXOverlapX = (a, b) => ((0, exports.greater)(a.max.x, b.min.x) && (0, exports.less)(a.min.x, b.max.x)) || ((0, exports.greater)(b.max.x, a.min.x) && (0, exports.less)(b.min.x, a.max.x));
128
+ exports.boundsXOverlapX = boundsXOverlapX;
129
+ const bounds3Center = (bounds) => (0, exports.vec3)((bounds.min.x + bounds.max.x) / 2, (bounds.min.y + bounds.max.y) / 2, (bounds.min.z + bounds.max.z) / 2);
130
+ exports.bounds3Center = bounds3Center;
131
+ function bounds2FromPosAndSize(pos, size) {
132
+ const halfX = size.x * 0.5;
133
+ const halfY = size.y * 0.5;
134
+ return (0, exports.bounds2)((0, exports.vec2)(pos.x - halfX, pos.y - halfY), (0, exports.vec2)(pos.x + halfX, pos.y + halfY));
135
+ }
136
+ exports.bounds2FromPosAndSize = bounds2FromPosAndSize;
137
+ function bounds3FromPosAndSize(pos, size) {
138
+ const halfX = size.x * 0.5;
139
+ const halfY = size.y * 0.5;
140
+ const halfZ = size.z * 0.5;
141
+ return (0, exports.bounds3)((0, exports.vec3)(pos.x - halfX, pos.y - halfY, pos.z - halfZ), (0, exports.vec3)(pos.x + halfX, pos.y + halfY, pos.z + halfZ));
142
+ }
143
+ exports.bounds3FromPosAndSize = bounds3FromPosAndSize;
144
+ const bounds2Merge = (a, b) => {
145
+ return (0, exports.bounds2)((0, exports.vec2)(Math.min(a.min.x, b.min.x), Math.min(a.min.y, b.min.y)), (0, exports.vec2)(Math.max(a.max.x, b.max.x), Math.max(a.max.y, b.max.y)));
146
+ };
147
+ exports.bounds2Merge = bounds2Merge;
148
+ const bounds3Merge = (...bounds) => {
149
+ if (bounds.length === 0) {
150
+ return exports.bounds3Zero;
151
+ }
152
+ const min = (0, exports.vec3Dupl)(Number.MAX_VALUE);
153
+ const max = (0, exports.vec3Dupl)(-Number.MAX_VALUE);
154
+ bounds.forEach((b) => {
155
+ if (b.min.x < min.x) {
156
+ min.x = b.min.x;
157
+ }
158
+ if (b.min.y < min.y) {
159
+ min.y = b.min.y;
160
+ }
161
+ if (b.min.z < min.z) {
162
+ min.z = b.min.z;
163
+ }
164
+ if (b.max.x > max.x) {
165
+ max.x = b.max.x;
166
+ }
167
+ if (b.max.y > max.y) {
168
+ max.y = b.max.y;
169
+ }
170
+ if (b.max.z > max.z) {
171
+ max.z = b.max.z;
172
+ }
173
+ });
174
+ return (0, exports.bounds3)(min, max);
175
+ };
176
+ exports.bounds3Merge = bounds3Merge;
177
+ function bounds3FromVec3Array(vec3Array) {
178
+ const min = (0, exports.vec3Dupl)(Number.MAX_VALUE);
179
+ const max = (0, exports.vec3Dupl)(-Number.MAX_VALUE);
180
+ vec3Array.forEach((v) => {
181
+ if (v.x < min.x) {
182
+ min.x = v.x;
183
+ }
184
+ if (v.y < min.y) {
185
+ min.y = v.y;
186
+ }
187
+ if (v.z < min.z) {
188
+ min.z = v.z;
189
+ }
190
+ if (v.x > max.x) {
191
+ max.x = v.x;
192
+ }
193
+ if (v.y > max.y) {
194
+ max.y = v.y;
195
+ }
196
+ if (v.z > max.z) {
197
+ max.z = v.z;
198
+ }
199
+ });
200
+ return (0, exports.bounds3)(min, max);
201
+ }
202
+ exports.bounds3FromVec3Array = bounds3FromVec3Array;
203
+ // -- Transformations
204
+ const quaternion1 = new THREE.Quaternion();
205
+ const quaternion2 = new THREE.Quaternion();
206
+ const euler1 = new THREE.Euler();
207
+ const euler2 = new THREE.Euler();
208
+ const vector = new THREE.Vector3();
209
+ function vec3RotCombine(outer, inner) {
210
+ euler1.set(outer.x, outer.y, outer.z);
211
+ quaternion1.setFromEuler(euler1);
212
+ euler2.set(inner.x, inner.y, inner.z);
213
+ quaternion2.setFromEuler(euler2);
214
+ quaternion1.multiply(quaternion2);
215
+ euler1.setFromQuaternion(quaternion1);
216
+ return (0, exports.vec3)(euler1.x, euler1.y, euler1.z);
217
+ }
218
+ exports.vec3RotCombine = vec3RotCombine;
219
+ function vec3Rot(point, origin, rotation) {
220
+ euler1.set(rotation.x, rotation.y, rotation.z);
221
+ quaternion1.setFromEuler(euler1);
222
+ vector.set(point.x - origin.x, point.y - origin.y, point.z - origin.z);
223
+ vector.applyQuaternion(quaternion1);
224
+ return (0, exports.vec3)(vector.x + origin.x, vector.y + origin.y, vector.z + origin.z);
225
+ }
226
+ exports.vec3Rot = vec3Rot;
227
+ const vec3TransRot = (p, pos, rot) => vec3Rot((0, exports.vec3Add)(p, pos), pos, rot);
228
+ exports.vec3TransRot = vec3TransRot;
229
+ function geoRot(g, origin, rot) {
230
+ var _a;
231
+ return Object.assign(Object.assign({}, g), { pos: vec3Rot(g.pos, origin, rot), rot: vec3RotCombine(rot, (_a = g.rot) !== null && _a !== void 0 ? _a : exports.vec3Zero) });
232
+ }
233
+ exports.geoRot = geoRot;
234
+ function geoTrans(g, translate) {
235
+ return Object.assign(Object.assign({}, g), { pos: (0, exports.vec3Add)(g.pos, translate) });
236
+ }
237
+ exports.geoTrans = geoTrans;
238
+ function geoTransRot(g, origin, rot) {
239
+ var _a;
240
+ return Object.assign(Object.assign({}, g), { pos: vec3Rot((0, exports.vec3Add)(g.pos, origin), origin, rot), rot: vec3RotCombine(rot, (_a = g.rot) !== null && _a !== void 0 ? _a : exports.vec3Zero) });
241
+ }
242
+ exports.geoTransRot = geoTransRot;
243
+ function sphereRotTrans(s, origin, rot) {
244
+ return Object.assign(Object.assign({}, s), { pos: vec3Rot((0, exports.vec3Add)(s.pos, origin), origin, rot) });
245
+ }
246
+ exports.sphereRotTrans = sphereRotTrans;
247
+ const lineRot = (l, origin, rot) => (Object.assign(Object.assign({}, l), { start: vec3Rot(l.start, origin, rot), end: vec3Rot(l.end, origin, rot) }));
248
+ exports.lineRot = lineRot;
249
+ const lineTrans = (l, translation) => (Object.assign(Object.assign({}, l), { start: (0, exports.vec3Add)(l.start, translation), end: (0, exports.vec3Add)(l.end, translation) }));
250
+ exports.lineTrans = lineTrans;
251
+ const lineRotTrans = (l, origin, rot) => (Object.assign(Object.assign({}, l), { start: (0, exports.vec3TransRot)(l.start, origin, rot), end: vec3Rot(l.end, origin, rot) }));
252
+ exports.lineRotTrans = lineRotTrans;
253
+ const polygonRot = (p, origin, rot) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => vec3Rot(p, origin, rot)) }));
254
+ exports.polygonRot = polygonRot;
255
+ const polygonTrans = (p, translation) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => (0, exports.vec3Add)(p, translation)) }));
256
+ exports.polygonTrans = polygonTrans;
257
+ const polygonRotTrans = (p, origin, rot) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => (0, exports.vec3TransRot)(p, origin, rot)) }));
258
+ exports.polygonRotTrans = polygonRotTrans;
259
+ // -- Constructors
260
+ const group = (meshes, pos = exports.vec3Zero, rot = exports.vec3Zero, groups = Array(), data = {}, animation = undefined) => ({ meshes, pos, rot, data, groups, animation: animation });
261
+ exports.group = group;
262
+ const boxMesh = (box, material) => ({ geometry: box, material });
263
+ exports.boxMesh = boxMesh;
264
+ const boxGeometry = (size, pos = exports.vec3Zero, rot = exports.vec3Zero, holes = []) => ({
265
+ type: "Box",
266
+ pos,
267
+ rot,
268
+ size,
269
+ holes,
270
+ });
271
+ exports.boxGeometry = boxGeometry;
272
+ const box = (size, material, pos = exports.vec3Zero, rot = exports.vec3Zero, holes = []) => ({
273
+ geometry: { type: "Box", pos, rot, size, holes },
274
+ material,
275
+ });
276
+ exports.box = box;
277
+ const roundHole = (pos, radius) => ({ type: "RoundHole", pos, radius });
278
+ exports.roundHole = roundHole;
279
+ const squareHole = (pos, size) => ({ type: "SquareHole", pos, size });
280
+ exports.squareHole = squareHole;
281
+ const plane = (pos, size, material, rot = exports.vec3Zero, holes = []) => ({
282
+ geometry: { type: "Plane", pos, rot, size, holes },
283
+ material,
284
+ });
285
+ exports.plane = plane;
286
+ const cone = (pos, radius, length, material, rot = exports.vec3Zero) => ({
287
+ geometry: { type: "Cone", pos, radius, length, rot },
288
+ material,
289
+ });
290
+ exports.cone = cone;
291
+ const cylinder = (pos, radius, length, material, rot = exports.vec3Zero, holes = []) => ({ geometry: { type: "Cylinder", pos, radius, length, rot, holes }, material });
292
+ exports.cylinder = cylinder;
293
+ const sphere = (radius, material, pos = exports.vec3Zero) => ({
294
+ geometry: { type: "Sphere", pos, radius },
295
+ material,
296
+ });
297
+ exports.sphere = sphere;
298
+ const shape = (points, pos, material, thickness = 0, rot = exports.vec3Zero, holes = []) => ({ geometry: { type: "Shape", points, pos, rot, thickness, holes }, material });
299
+ exports.shape = shape;
300
+ const polygon = (points, material, pos = exports.vec3Zero, rot = exports.vec3Zero) => ({
301
+ geometry: { type: "Polygon", points, pos, rot },
302
+ material,
303
+ });
304
+ exports.polygon = polygon;
305
+ const lineMesh = (line, material) => ({ geometry: line, material });
306
+ exports.lineMesh = lineMesh;
307
+ const lineGeo = (start, end, thickness) => ({ type: "Line", start, end, thickness });
308
+ exports.lineGeo = lineGeo;
309
+ const line = (start, end, thickness, material) => ({
310
+ geometry: { type: "Line", start, end, thickness },
311
+ material,
312
+ });
313
+ exports.line = line;
314
+ const text = (pos, text, fontSize, material, rot = exports.vec3Zero) => ({
315
+ geometry: { type: "Text", pos, text, fontSize, rot },
316
+ material,
317
+ });
318
+ exports.text = text;
319
+ const tube = (curve, radius, material, pos = exports.vec3Zero, rot = exports.vec3Zero) => ({
320
+ geometry: { type: "Tube", curve, radius, pos, rot },
321
+ material,
322
+ });
323
+ exports.tube = tube;
324
+ const circleCurve = (radius, angleStart, angleLength) => ({
325
+ type: "CircleCurve",
326
+ radius,
327
+ angleLength,
328
+ angleStart,
329
+ });
330
+ exports.circleCurve = circleCurve;
331
+ const splineCurve = (points) => ({ type: "SplineCurve", points });
332
+ exports.splineCurve = splineCurve;
333
+ //# sourceMappingURL=abstract-3d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./renderers";
2
+ export * from "./abstract-3d";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./renderers"), exports);
18
+ __exportStar(require("./abstract-3d"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B"}
@@ -0,0 +1,7 @@
1
+ import { Vec3 } from "../../abstract-3d";
2
+ export declare const dxf3DFACE: (vec1: Vec3, vec2: Vec3, vec3: Vec3, vec4: Vec3, color: string | undefined) => string;
3
+ export declare const dxfPOLYLINE: (vertices: ReadonlyArray<Vec3>, color: string) => string;
4
+ export declare const dxfText: (pos: Vec3, fontSize: number, text: string, color: string) => string;
5
+ export declare const dxfHeader: (size: Vec3, center: Vec3) => string;
6
+ export declare const dxfFooter = " 0\nENDBLK\n 0\nENDSEC\n 0\nSECTION\n 2\nENTITIES\n 0\nINSERT\n 8\nA3D\n 6\nCONTINUOUS\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 2\nA3D_Group\n 0\nENDSEC\n 0\nEOF\n";
7
+ //# sourceMappingURL=dxf-encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,eAAO,MAAM,SAAS,SAAU,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,MAAM,GAAG,SAAS,KAAG,MAiCrG,CAAC;AAEF,eAAO,MAAM,WAAW,aAAc,cAAc,IAAI,CAAC,SAAS,MAAM,KAAG,MAwB1E,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,IAAI,YAAY,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAG,MAuBlF,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,IAAI,UAAU,IAAI,KAAG,MAuOpD,CAAC;AAEF,eAAO,MAAM,SAAS,yKA0BrB,CAAC"}