@itwin/core-geometry 3.4.0-dev.8 → 3.4.0

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 (178) hide show
  1. package/CHANGELOG.md +59 -1
  2. package/lib/cjs/clipping/ClipPrimitive.d.ts +3 -3
  3. package/lib/cjs/clipping/ClipPrimitive.js +3 -3
  4. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  5. package/lib/cjs/clipping/ClipUtils.d.ts +1 -1
  6. package/lib/cjs/clipping/ClipUtils.js +1 -1
  7. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  8. package/lib/cjs/clipping/ClipVector.d.ts +1 -1
  9. package/lib/cjs/clipping/ClipVector.js +1 -1
  10. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  11. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +16 -1
  12. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  13. package/lib/cjs/clipping/ConvexClipPlaneSet.js +43 -1
  14. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  15. package/lib/cjs/core-geometry.d.ts +1 -0
  16. package/lib/cjs/core-geometry.d.ts.map +1 -1
  17. package/lib/cjs/core-geometry.js +1 -0
  18. package/lib/cjs/core-geometry.js.map +1 -1
  19. package/lib/cjs/curve/LineString3d.d.ts +3 -0
  20. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  21. package/lib/cjs/curve/LineString3d.js +24 -0
  22. package/lib/cjs/curve/LineString3d.js.map +1 -1
  23. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  24. package/lib/cjs/curve/Query/PlanarSubdivision.js +16 -4
  25. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  26. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +4 -1
  27. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  28. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +26 -1
  29. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  30. package/lib/cjs/geometry3d/AngleSweep.d.ts +1 -1
  31. package/lib/cjs/geometry3d/AngleSweep.js +1 -1
  32. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  33. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +3 -1
  34. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  35. package/lib/cjs/geometry3d/Point3dVector3d.js +3 -1
  36. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  37. package/lib/cjs/geometry3d/PointHelpers.d.ts +8 -1
  38. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  39. package/lib/cjs/geometry3d/PointHelpers.js +37 -3
  40. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  41. package/lib/cjs/geometry3d/PolygonOps.d.ts +11 -3
  42. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  43. package/lib/cjs/geometry3d/PolygonOps.js +44 -6
  44. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  45. package/lib/cjs/geometry3d/PolylineOps.d.ts +5 -0
  46. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  47. package/lib/cjs/geometry3d/PolylineOps.js +20 -0
  48. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  49. package/lib/cjs/numerics/ClusterableArray.d.ts +4 -4
  50. package/lib/cjs/numerics/ClusterableArray.js +5 -5
  51. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  52. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +3 -3
  53. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  54. package/lib/cjs/polyface/PolyfaceBuilder.js +8 -6
  55. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  56. package/lib/cjs/polyface/PolyfaceQuery.d.ts +69 -11
  57. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  58. package/lib/cjs/polyface/PolyfaceQuery.js +163 -15
  59. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  60. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  61. package/lib/cjs/serialization/BGFBWriter.js +1 -0
  62. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  63. package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
  64. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  65. package/lib/cjs/serialization/GeometrySamples.js +51 -0
  66. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  67. package/lib/cjs/serialization/IModelJsonSchema.d.ts +23 -15
  68. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  69. package/lib/cjs/serialization/IModelJsonSchema.js +17 -8
  70. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  71. package/lib/cjs/solid/Box.d.ts +4 -4
  72. package/lib/cjs/solid/Box.d.ts.map +1 -1
  73. package/lib/cjs/solid/Box.js +7 -7
  74. package/lib/cjs/solid/Box.js.map +1 -1
  75. package/lib/cjs/topology/Graph.d.ts +3 -3
  76. package/lib/cjs/topology/Graph.d.ts.map +1 -1
  77. package/lib/cjs/topology/Graph.js +2 -2
  78. package/lib/cjs/topology/Graph.js.map +1 -1
  79. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts +2 -2
  80. package/lib/cjs/topology/HalfEdgeGraphSearch.js +2 -2
  81. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  82. package/lib/cjs/topology/Merging.d.ts +5 -1
  83. package/lib/cjs/topology/Merging.d.ts.map +1 -1
  84. package/lib/cjs/topology/Merging.js +27 -15
  85. package/lib/cjs/topology/Merging.js.map +1 -1
  86. package/lib/cjs/topology/SpaceTriangulation.d.ts +47 -0
  87. package/lib/cjs/topology/SpaceTriangulation.d.ts.map +1 -0
  88. package/lib/cjs/topology/SpaceTriangulation.js +135 -0
  89. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -0
  90. package/lib/esm/clipping/ClipPrimitive.d.ts +3 -3
  91. package/lib/esm/clipping/ClipPrimitive.js +3 -3
  92. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  93. package/lib/esm/clipping/ClipUtils.d.ts +1 -1
  94. package/lib/esm/clipping/ClipUtils.js +1 -1
  95. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  96. package/lib/esm/clipping/ClipVector.d.ts +1 -1
  97. package/lib/esm/clipping/ClipVector.js +1 -1
  98. package/lib/esm/clipping/ClipVector.js.map +1 -1
  99. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +16 -1
  100. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  101. package/lib/esm/clipping/ConvexClipPlaneSet.js +43 -1
  102. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  103. package/lib/esm/core-geometry.d.ts +1 -0
  104. package/lib/esm/core-geometry.d.ts.map +1 -1
  105. package/lib/esm/core-geometry.js +1 -0
  106. package/lib/esm/core-geometry.js.map +1 -1
  107. package/lib/esm/curve/LineString3d.d.ts +3 -0
  108. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  109. package/lib/esm/curve/LineString3d.js +24 -0
  110. package/lib/esm/curve/LineString3d.js.map +1 -1
  111. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  112. package/lib/esm/curve/Query/PlanarSubdivision.js +16 -4
  113. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  114. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +4 -1
  115. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  116. package/lib/esm/curve/internalContexts/MultiChainCollector.js +26 -1
  117. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  118. package/lib/esm/geometry3d/AngleSweep.d.ts +1 -1
  119. package/lib/esm/geometry3d/AngleSweep.js +1 -1
  120. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  121. package/lib/esm/geometry3d/Point3dVector3d.d.ts +3 -1
  122. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  123. package/lib/esm/geometry3d/Point3dVector3d.js +3 -1
  124. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  125. package/lib/esm/geometry3d/PointHelpers.d.ts +8 -1
  126. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  127. package/lib/esm/geometry3d/PointHelpers.js +37 -3
  128. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  129. package/lib/esm/geometry3d/PolygonOps.d.ts +11 -3
  130. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  131. package/lib/esm/geometry3d/PolygonOps.js +44 -6
  132. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  133. package/lib/esm/geometry3d/PolylineOps.d.ts +5 -0
  134. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  135. package/lib/esm/geometry3d/PolylineOps.js +20 -0
  136. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  137. package/lib/esm/numerics/ClusterableArray.d.ts +4 -4
  138. package/lib/esm/numerics/ClusterableArray.js +5 -5
  139. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  140. package/lib/esm/polyface/PolyfaceBuilder.d.ts +3 -3
  141. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  142. package/lib/esm/polyface/PolyfaceBuilder.js +8 -6
  143. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  144. package/lib/esm/polyface/PolyfaceQuery.d.ts +69 -11
  145. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  146. package/lib/esm/polyface/PolyfaceQuery.js +164 -16
  147. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  148. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  149. package/lib/esm/serialization/BGFBWriter.js +1 -0
  150. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  151. package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
  152. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  153. package/lib/esm/serialization/GeometrySamples.js +51 -0
  154. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  155. package/lib/esm/serialization/IModelJsonSchema.d.ts +23 -15
  156. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  157. package/lib/esm/serialization/IModelJsonSchema.js +17 -8
  158. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  159. package/lib/esm/solid/Box.d.ts +4 -4
  160. package/lib/esm/solid/Box.d.ts.map +1 -1
  161. package/lib/esm/solid/Box.js +7 -7
  162. package/lib/esm/solid/Box.js.map +1 -1
  163. package/lib/esm/topology/Graph.d.ts +3 -3
  164. package/lib/esm/topology/Graph.d.ts.map +1 -1
  165. package/lib/esm/topology/Graph.js +2 -2
  166. package/lib/esm/topology/Graph.js.map +1 -1
  167. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +2 -2
  168. package/lib/esm/topology/HalfEdgeGraphSearch.js +2 -2
  169. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  170. package/lib/esm/topology/Merging.d.ts +5 -1
  171. package/lib/esm/topology/Merging.d.ts.map +1 -1
  172. package/lib/esm/topology/Merging.js +27 -15
  173. package/lib/esm/topology/Merging.js.map +1 -1
  174. package/lib/esm/topology/SpaceTriangulation.d.ts +47 -0
  175. package/lib/esm/topology/SpaceTriangulation.d.ts.map +1 -0
  176. package/lib/esm/topology/SpaceTriangulation.js +131 -0
  177. package/lib/esm/topology/SpaceTriangulation.js.map +1 -0
  178. package/package.json +8 -6
@@ -46,7 +46,7 @@ export declare class Box extends SolidPrimitive {
46
46
  cloneTransformed(transform: Transform): Box | undefined;
47
47
  /**
48
48
  * Create a new box from vector and size daa.
49
- * @param baseOrigin Origin of base rectangle
49
+ * @param origin Origin of base rectangle
50
50
  * @param vectorX Direction for base rectangle
51
51
  * @param vectorY Direction for base rectangle
52
52
  * @param topOrigin origin of top rectangle
@@ -56,10 +56,10 @@ export declare class Box extends SolidPrimitive {
56
56
  * @param topY size factor for top rectangle (multiplies vectorY)
57
57
  * @param capped true to define top and bottom closure caps
58
58
  */
59
- static createDgnBox(baseOrigin: Point3d, vectorX: Vector3d, vectorY: Vector3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
59
+ static createDgnBox(origin: Point3d, vectorX: Vector3d, vectorY: Vector3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
60
60
  /**
61
61
  * Create a new box with xy directions taken from columns of the `axes` matrix.
62
- * @param baseOrigin Origin of base rectangle
62
+ * @param origin Origin of base rectangle
63
63
  * @param axes Direction for base rectangle
64
64
  * @param topOrigin origin of top rectangle
65
65
  * @param baseX size factor for base rectangle (multiplies vectorX)
@@ -68,7 +68,7 @@ export declare class Box extends SolidPrimitive {
68
68
  * @param topY size factor for top rectangle (multiplies vectorY)
69
69
  * @param capped true to define top and bottom closure caps
70
70
  */
71
- static createDgnBoxWithAxes(baseOrigin: Point3d, axes: Matrix3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
71
+ static createDgnBoxWithAxes(origin: Point3d, axes: Matrix3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
72
72
  /**
73
73
  * Create an axis-aligned `Box` primitive for a range.
74
74
  * @param range range corners Origin of base rectangle
@@ -1 +1 @@
1
- {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/solid/Box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/solid/Box.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;GASG;AACH,qBAAa,GAAI,SAAQ,cAAc;IACrC,wCAAwC;IACxC,SAAgB,kBAAkB,SAAS;IAE3C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAS;IAEtB,SAAS,aAAa,GAAG,EAAE,SAAS,EAClC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAQ3E,qBAAqB;IACd,KAAK,IAAI,GAAG;IAInB;;;;;OAKG;IACI,oBAAoB,IAAI,SAAS,GAAG,SAAS;IAGpD;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAMzD,uFAAuF;IAChF,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,GAAG,SAAS;IAM9D;;;;;;;;;;;OAWG;WACW,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAC9E,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EACxD,MAAM,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS;IAMnC;;;;;;;;;;OAUG;WACW,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAChE,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EACxD,MAAM,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS;IAKnC;;;;OAIG;WACW,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS;IAe3E,uDAAuD;IAChD,QAAQ,IAAI,MAAM;IACzB,uDAAuD;IAChD,QAAQ,IAAI,MAAM;IACzB,uDAAuD;IAChD,OAAO,IAAI,MAAM;IACxB,uDAAuD;IAChD,OAAO,IAAI,MAAM;IACxB,8EAA8E;IACvE,aAAa,IAAI,OAAO;IAC/B,8EAA8E;IACvE,YAAY,IAAI,OAAO;IAC9B,qEAAqE;IAC9D,UAAU,IAAI,QAAQ;IAC7B,qEAAqE;IAC9D,UAAU,IAAI,QAAQ;IAC7B,qEAAqE;IAC9D,UAAU,IAAI,QAAQ;IAC7B,6CAA6C;IACtC,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAC/C,6BAA6B;IACb,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAW5D,sEAAsE;IAC/D,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;IAG/D,0EAA0E;IACnE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAkB9D;;OAEG;IACI,UAAU,IAAI,OAAO,EAAE;IAkB9B;;;;;OAKG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAI3D,uDAAuD;IAChD,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IA0BvE;;OAEG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;CACF"}
@@ -59,7 +59,7 @@ export class Box extends SolidPrimitive {
59
59
  }
60
60
  /**
61
61
  * Create a new box from vector and size daa.
62
- * @param baseOrigin Origin of base rectangle
62
+ * @param origin Origin of base rectangle
63
63
  * @param vectorX Direction for base rectangle
64
64
  * @param vectorY Direction for base rectangle
65
65
  * @param topOrigin origin of top rectangle
@@ -69,14 +69,14 @@ export class Box extends SolidPrimitive {
69
69
  * @param topY size factor for top rectangle (multiplies vectorY)
70
70
  * @param capped true to define top and bottom closure caps
71
71
  */
72
- static createDgnBox(baseOrigin, vectorX, vectorY, topOrigin, baseX, baseY, topX, topY, capped) {
73
- const vectorZ = baseOrigin.vectorTo(topOrigin);
74
- const localToWorld = Transform.createOriginAndMatrixColumns(baseOrigin, vectorX, vectorY, vectorZ);
72
+ static createDgnBox(origin, vectorX, vectorY, topOrigin, baseX, baseY, topX, topY, capped) {
73
+ const vectorZ = origin.vectorTo(topOrigin);
74
+ const localToWorld = Transform.createOriginAndMatrixColumns(origin, vectorX, vectorY, vectorZ);
75
75
  return new Box(localToWorld, baseX, baseY, topX, topY, capped);
76
76
  }
77
77
  /**
78
78
  * Create a new box with xy directions taken from columns of the `axes` matrix.
79
- * @param baseOrigin Origin of base rectangle
79
+ * @param origin Origin of base rectangle
80
80
  * @param axes Direction for base rectangle
81
81
  * @param topOrigin origin of top rectangle
82
82
  * @param baseX size factor for base rectangle (multiplies vectorX)
@@ -85,8 +85,8 @@ export class Box extends SolidPrimitive {
85
85
  * @param topY size factor for top rectangle (multiplies vectorY)
86
86
  * @param capped true to define top and bottom closure caps
87
87
  */
88
- static createDgnBoxWithAxes(baseOrigin, axes, topOrigin, baseX, baseY, topX, topY, capped) {
89
- return Box.createDgnBox(baseOrigin, axes.columnX(), axes.columnY(), topOrigin, baseX, baseY, topX, topY, capped);
88
+ static createDgnBoxWithAxes(origin, axes, topOrigin, baseX, baseY, topX, topY, capped) {
89
+ return Box.createDgnBox(origin, axes.columnX(), axes.columnY(), topOrigin, baseX, baseY, topX, topY, capped);
90
90
  }
91
91
  /**
92
92
  * Create an axis-aligned `Box` primitive for a range.
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../../src/solid/Box.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Solid\r\n */\r\n\r\nimport { CurveCollection } from \"../curve/CurveCollection\";\r\nimport { GeometryQuery } from \"../curve/GeometryQuery\";\r\nimport { LineString3d } from \"../curve/LineString3d\";\r\nimport { Loop } from \"../curve/Loop\";\r\nimport { Geometry } from \"../Geometry\";\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Matrix3d } from \"../geometry3d/Matrix3d\";\r\nimport { Point3d, Vector3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { SolidPrimitive } from \"./SolidPrimitive\";\r\n\r\n/**\r\n * A box-like solid defined by\r\n * * A local coordinate frame\r\n * * (0,0,0) is left lower rear corner of box (considering \"left\" to reference x, \"lower\" to reference y, \"rear and front\" to reference z=0 and z=1)\r\n * * (0,0,1) is left lower front corner.\r\n * * (baseX,baseY,z) is right upper corner at z\r\n * * note that the frame x and y columns are usually unit vectors in local space, but z is full rear to front vector\r\n * * The separate values for base and top x and y allow the box to be a \"view frustum\" with parallel back and front planes but independent x and y bellows effects.\r\n * @public\r\n */\r\nexport class Box extends SolidPrimitive {\r\n /** String name for schema properties */\r\n public readonly solidPrimitiveType = \"box\";\r\n\r\n private _localToWorld: Transform;\r\n private _baseX: number;\r\n private _baseY: number;\r\n private _topX: number;\r\n private _topY: number;\r\n\r\n protected constructor(map: Transform,\r\n baseX: number, baseY: number, topX: number, topY: number, capped: boolean) {\r\n super(capped);\r\n this._localToWorld = map;\r\n this._baseX = baseX;\r\n this._baseY = baseY;\r\n this._topX = topX;\r\n this._topY = topY;\r\n }\r\n /** Return a clone */\r\n public clone(): Box {\r\n return new Box(this._localToWorld.clone(), this._baseX, this._baseY, this._topX, this._topY, this.capped);\r\n }\r\n\r\n /** Return a coordinate frame (right handed unit vectors)\r\n * * origin lower left of box\r\n * * x direction on base rectangle x edge\r\n * * y direction in base rectangle\r\n * * z direction perpendicular\r\n */\r\n public getConstructiveFrame(): Transform | undefined {\r\n return this._localToWorld.cloneRigid();\r\n }\r\n /** Apply the transform to the box's `localToWorld` frame.\r\n * * Note that this may make the frame nonrigid.\r\n */\r\n public tryTransformInPlace(transform: Transform): boolean {\r\n if (transform.matrix.isSingular())\r\n return false;\r\n transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);\r\n return true;\r\n }\r\n /** Clone the box and immediately apply `transform` to the local frame of the clone. */\r\n public cloneTransformed(transform: Transform): Box | undefined {\r\n const result = this.clone();\r\n transform.multiplyTransformTransform(result._localToWorld, result._localToWorld);\r\n return result;\r\n }\r\n\r\n /**\r\n * Create a new box from vector and size daa.\r\n * @param baseOrigin Origin of base rectangle\r\n * @param vectorX Direction for base rectangle\r\n * @param vectorY Direction for base rectangle\r\n * @param topOrigin origin of top rectangle\r\n * @param baseX size factor for base rectangle (multiplies vectorX)\r\n * @param baseY size factor for base rectangle (multiplies vectorY)\r\n * @param topX size factor for top rectangle (multiplies vectorX)\r\n * @param topY size factor for top rectangle (multiplies vectorY)\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createDgnBox(baseOrigin: Point3d, vectorX: Vector3d, vectorY: Vector3d,\r\n topOrigin: Point3d,\r\n baseX: number, baseY: number, topX: number, topY: number,\r\n capped: boolean): Box | undefined {\r\n const vectorZ = baseOrigin.vectorTo(topOrigin);\r\n const localToWorld = Transform.createOriginAndMatrixColumns(baseOrigin, vectorX, vectorY, vectorZ);\r\n return new Box(localToWorld, baseX, baseY, topX, topY, capped);\r\n }\r\n\r\n /**\r\n * Create a new box with xy directions taken from columns of the `axes` matrix.\r\n * @param baseOrigin Origin of base rectangle\r\n * @param axes Direction for base rectangle\r\n * @param topOrigin origin of top rectangle\r\n * @param baseX size factor for base rectangle (multiplies vectorX)\r\n * @param baseY size factor for base rectangle (multiplies vectorY)\r\n * @param topX size factor for top rectangle (multiplies vectorX)\r\n * @param topY size factor for top rectangle (multiplies vectorY)\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createDgnBoxWithAxes(baseOrigin: Point3d, axes: Matrix3d,\r\n topOrigin: Point3d,\r\n baseX: number, baseY: number, topX: number, topY: number,\r\n capped: boolean): Box | undefined {\r\n return Box.createDgnBox(baseOrigin, axes.columnX(), axes.columnY(), topOrigin,\r\n baseX, baseY, topX, topY, capped);\r\n }\r\n\r\n /**\r\n * Create an axis-aligned `Box` primitive for a range.\r\n * @param range range corners Origin of base rectangle\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createRange(range: Range3d, capped: boolean): Box | undefined {\r\n if (!range.isNull) {\r\n const lowPoint = range.low;\r\n const xSize = range.xLength();\r\n const ySize = range.yLength();\r\n const zPoint = range.low.clone();\r\n zPoint.z = zPoint.z + range.zLength();\r\n return Box.createDgnBox(\r\n lowPoint,\r\n Vector3d.unitX(), Vector3d.unitY(),\r\n zPoint,\r\n xSize, ySize, xSize, ySize, capped);\r\n }\r\n return undefined;\r\n }\r\n /** (property accessor) return the x length at z = 0 */\r\n public getBaseX(): number { return this._baseX; }\r\n /** (property accessor) return the y length at z = 0 */\r\n public getBaseY(): number { return this._baseY; }\r\n /** (property accessor) return the x length at z = 1 */\r\n public getTopX(): number { return this._topX; }\r\n /** (property accessor) return the x length at z = 1 */\r\n public getTopY(): number { return this._topY; }\r\n /** (property accessor) return the local coordinates point (0,0,0) to world */\r\n public getBaseOrigin(): Point3d { return this._localToWorld.multiplyXYZ(0, 0, 0); }\r\n /** (property accessor) return the local coordinates point (0,0,1) to world */\r\n public getTopOrigin(): Point3d { return this._localToWorld.multiplyXYZ(0, 0, 1); }\r\n /** (property accessor) return the local coordinate frame x vector */\r\n public getVectorX(): Vector3d { return this._localToWorld.matrix.columnX(); }\r\n /** (property accessor) return the local coordinate frame y vector */\r\n public getVectorY(): Vector3d { return this._localToWorld.matrix.columnY(); }\r\n /** (property accessor) return the local coordinate frame z vector */\r\n public getVectorZ(): Vector3d { return this._localToWorld.matrix.columnZ(); }\r\n /** Test of `other` is also of class `Box` */\r\n public isSameGeometryClass(other: any): boolean { return other instanceof Box; }\r\n /** test for near equality */\r\n public override isAlmostEqual(other: GeometryQuery): boolean {\r\n if (other instanceof Box) {\r\n if (this.capped !== other.capped) return false;\r\n if (!this._localToWorld.isAlmostEqual(other._localToWorld)) return false;\r\n return Geometry.isSameCoordinate(this._baseX, other._baseX)\r\n && Geometry.isSameCoordinate(this._baseY, other._baseY)\r\n && Geometry.isSameCoordinate(this._topX, other._topX)\r\n && Geometry.isSameCoordinate(this._topY, other._topY);\r\n }\r\n return false;\r\n }\r\n /** Second step of double dispatch: call `handler.handleBox(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handleBox(this);\r\n }\r\n /** Return strokes of the cross-section rectangle at local z coordinate */\r\n public strokeConstantVSection(zFraction: number): LineString3d {\r\n const ax = Geometry.interpolate(this._baseX, zFraction, this._topX);\r\n const ay = Geometry.interpolate(this._baseY, zFraction, this._topY);\r\n const result = LineString3d.create();\r\n const transform = this._localToWorld;\r\n const workPoint = Point3d.create();\r\n transform.multiplyXYZ(0, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(ax, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(ax, ay, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(0, ay, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(0, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n return result;\r\n }\r\n /**\r\n * Returns the 8 corners in x fastest, then y, finally z lexical order.\r\n */\r\n public getCorners(): Point3d[] {\r\n const transform = this._localToWorld;\r\n const ax = this._baseX;\r\n const ay = this._baseY;\r\n const bx = this._topX;\r\n const by = this._topY;\r\n return [\r\n transform.multiplyXYZ(0, 0, 0),\r\n transform.multiplyXYZ(ax, 0, 0),\r\n transform.multiplyXYZ(0, ay, 0),\r\n transform.multiplyXYZ(ax, ay, 0),\r\n transform.multiplyXYZ(0, 0, 1),\r\n transform.multiplyXYZ(bx, 0, 1),\r\n transform.multiplyXYZ(0, by, 1),\r\n transform.multiplyXYZ(bx, by, 1),\r\n ];\r\n }\r\n\r\n /**\r\n * Consider the box sides (not top and bottom) as a (u,v) surface with\r\n * * v = 0 as the z=0 local plane\r\n * * v = 1 as the z=1 local plane\r\n * Return the (rectangular) section at fractional v\r\n */\r\n public constantVSection(zFraction: number): CurveCollection {\r\n const ls = this.strokeConstantVSection(zFraction);\r\n return Loop.create(ls);\r\n }\r\n /** Extend `rangeToExtend` by each of the 8 corners */\r\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void {\r\n const boxTransform = this._localToWorld;\r\n const ax = this._baseX;\r\n const ay = this._baseY;\r\n const bx = this._topX;\r\n const by = this._topY;\r\n if (transform) {\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, 0, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, ax, 0, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, ay, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, ax, ay, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, 0, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, bx, 0, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, by, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, bx, by, 1);\r\n } else {\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, 0, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, ax, 0, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, ay, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, ax, ay, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, 0, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, bx, 0, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, by, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, bx, by, 1);\r\n }\r\n }\r\n /**\r\n * @return true if this is a closed volume.\r\n */\r\n public get isClosedVolume(): boolean {\r\n return this.capped;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../../src/solid/Box.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Solid\r\n */\r\n\r\nimport { CurveCollection } from \"../curve/CurveCollection\";\r\nimport { GeometryQuery } from \"../curve/GeometryQuery\";\r\nimport { LineString3d } from \"../curve/LineString3d\";\r\nimport { Loop } from \"../curve/Loop\";\r\nimport { Geometry } from \"../Geometry\";\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Matrix3d } from \"../geometry3d/Matrix3d\";\r\nimport { Point3d, Vector3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { SolidPrimitive } from \"./SolidPrimitive\";\r\n\r\n/**\r\n * A box-like solid defined by\r\n * * A local coordinate frame\r\n * * (0,0,0) is left lower rear corner of box (considering \"left\" to reference x, \"lower\" to reference y, \"rear and front\" to reference z=0 and z=1)\r\n * * (0,0,1) is left lower front corner.\r\n * * (baseX,baseY,z) is right upper corner at z\r\n * * note that the frame x and y columns are usually unit vectors in local space, but z is full rear to front vector\r\n * * The separate values for base and top x and y allow the box to be a \"view frustum\" with parallel back and front planes but independent x and y bellows effects.\r\n * @public\r\n */\r\nexport class Box extends SolidPrimitive {\r\n /** String name for schema properties */\r\n public readonly solidPrimitiveType = \"box\";\r\n\r\n private _localToWorld: Transform;\r\n private _baseX: number;\r\n private _baseY: number;\r\n private _topX: number;\r\n private _topY: number;\r\n\r\n protected constructor(map: Transform,\r\n baseX: number, baseY: number, topX: number, topY: number, capped: boolean) {\r\n super(capped);\r\n this._localToWorld = map;\r\n this._baseX = baseX;\r\n this._baseY = baseY;\r\n this._topX = topX;\r\n this._topY = topY;\r\n }\r\n /** Return a clone */\r\n public clone(): Box {\r\n return new Box(this._localToWorld.clone(), this._baseX, this._baseY, this._topX, this._topY, this.capped);\r\n }\r\n\r\n /** Return a coordinate frame (right handed unit vectors)\r\n * * origin lower left of box\r\n * * x direction on base rectangle x edge\r\n * * y direction in base rectangle\r\n * * z direction perpendicular\r\n */\r\n public getConstructiveFrame(): Transform | undefined {\r\n return this._localToWorld.cloneRigid();\r\n }\r\n /** Apply the transform to the box's `localToWorld` frame.\r\n * * Note that this may make the frame nonrigid.\r\n */\r\n public tryTransformInPlace(transform: Transform): boolean {\r\n if (transform.matrix.isSingular())\r\n return false;\r\n transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);\r\n return true;\r\n }\r\n /** Clone the box and immediately apply `transform` to the local frame of the clone. */\r\n public cloneTransformed(transform: Transform): Box | undefined {\r\n const result = this.clone();\r\n transform.multiplyTransformTransform(result._localToWorld, result._localToWorld);\r\n return result;\r\n }\r\n\r\n /**\r\n * Create a new box from vector and size daa.\r\n * @param origin Origin of base rectangle\r\n * @param vectorX Direction for base rectangle\r\n * @param vectorY Direction for base rectangle\r\n * @param topOrigin origin of top rectangle\r\n * @param baseX size factor for base rectangle (multiplies vectorX)\r\n * @param baseY size factor for base rectangle (multiplies vectorY)\r\n * @param topX size factor for top rectangle (multiplies vectorX)\r\n * @param topY size factor for top rectangle (multiplies vectorY)\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createDgnBox(origin: Point3d, vectorX: Vector3d, vectorY: Vector3d,\r\n topOrigin: Point3d,\r\n baseX: number, baseY: number, topX: number, topY: number,\r\n capped: boolean): Box | undefined {\r\n const vectorZ = origin.vectorTo(topOrigin);\r\n const localToWorld = Transform.createOriginAndMatrixColumns(origin, vectorX, vectorY, vectorZ);\r\n return new Box(localToWorld, baseX, baseY, topX, topY, capped);\r\n }\r\n\r\n /**\r\n * Create a new box with xy directions taken from columns of the `axes` matrix.\r\n * @param origin Origin of base rectangle\r\n * @param axes Direction for base rectangle\r\n * @param topOrigin origin of top rectangle\r\n * @param baseX size factor for base rectangle (multiplies vectorX)\r\n * @param baseY size factor for base rectangle (multiplies vectorY)\r\n * @param topX size factor for top rectangle (multiplies vectorX)\r\n * @param topY size factor for top rectangle (multiplies vectorY)\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createDgnBoxWithAxes(origin: Point3d, axes: Matrix3d,\r\n topOrigin: Point3d,\r\n baseX: number, baseY: number, topX: number, topY: number,\r\n capped: boolean): Box | undefined {\r\n return Box.createDgnBox(origin, axes.columnX(), axes.columnY(), topOrigin,\r\n baseX, baseY, topX, topY, capped);\r\n }\r\n\r\n /**\r\n * Create an axis-aligned `Box` primitive for a range.\r\n * @param range range corners Origin of base rectangle\r\n * @param capped true to define top and bottom closure caps\r\n */\r\n public static createRange(range: Range3d, capped: boolean): Box | undefined {\r\n if (!range.isNull) {\r\n const lowPoint = range.low;\r\n const xSize = range.xLength();\r\n const ySize = range.yLength();\r\n const zPoint = range.low.clone();\r\n zPoint.z = zPoint.z + range.zLength();\r\n return Box.createDgnBox(\r\n lowPoint,\r\n Vector3d.unitX(), Vector3d.unitY(),\r\n zPoint,\r\n xSize, ySize, xSize, ySize, capped);\r\n }\r\n return undefined;\r\n }\r\n /** (property accessor) return the x length at z = 0 */\r\n public getBaseX(): number { return this._baseX; }\r\n /** (property accessor) return the y length at z = 0 */\r\n public getBaseY(): number { return this._baseY; }\r\n /** (property accessor) return the x length at z = 1 */\r\n public getTopX(): number { return this._topX; }\r\n /** (property accessor) return the x length at z = 1 */\r\n public getTopY(): number { return this._topY; }\r\n /** (property accessor) return the local coordinates point (0,0,0) to world */\r\n public getBaseOrigin(): Point3d { return this._localToWorld.multiplyXYZ(0, 0, 0); }\r\n /** (property accessor) return the local coordinates point (0,0,1) to world */\r\n public getTopOrigin(): Point3d { return this._localToWorld.multiplyXYZ(0, 0, 1); }\r\n /** (property accessor) return the local coordinate frame x vector */\r\n public getVectorX(): Vector3d { return this._localToWorld.matrix.columnX(); }\r\n /** (property accessor) return the local coordinate frame y vector */\r\n public getVectorY(): Vector3d { return this._localToWorld.matrix.columnY(); }\r\n /** (property accessor) return the local coordinate frame z vector */\r\n public getVectorZ(): Vector3d { return this._localToWorld.matrix.columnZ(); }\r\n /** Test of `other` is also of class `Box` */\r\n public isSameGeometryClass(other: any): boolean { return other instanceof Box; }\r\n /** test for near equality */\r\n public override isAlmostEqual(other: GeometryQuery): boolean {\r\n if (other instanceof Box) {\r\n if (this.capped !== other.capped) return false;\r\n if (!this._localToWorld.isAlmostEqual(other._localToWorld)) return false;\r\n return Geometry.isSameCoordinate(this._baseX, other._baseX)\r\n && Geometry.isSameCoordinate(this._baseY, other._baseY)\r\n && Geometry.isSameCoordinate(this._topX, other._topX)\r\n && Geometry.isSameCoordinate(this._topY, other._topY);\r\n }\r\n return false;\r\n }\r\n /** Second step of double dispatch: call `handler.handleBox(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handleBox(this);\r\n }\r\n /** Return strokes of the cross-section rectangle at local z coordinate */\r\n public strokeConstantVSection(zFraction: number): LineString3d {\r\n const ax = Geometry.interpolate(this._baseX, zFraction, this._topX);\r\n const ay = Geometry.interpolate(this._baseY, zFraction, this._topY);\r\n const result = LineString3d.create();\r\n const transform = this._localToWorld;\r\n const workPoint = Point3d.create();\r\n transform.multiplyXYZ(0, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(ax, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(ax, ay, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(0, ay, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n transform.multiplyXYZ(0, 0, zFraction, workPoint);\r\n result.addPoint(workPoint);\r\n return result;\r\n }\r\n /**\r\n * Returns the 8 corners in x fastest, then y, finally z lexical order.\r\n */\r\n public getCorners(): Point3d[] {\r\n const transform = this._localToWorld;\r\n const ax = this._baseX;\r\n const ay = this._baseY;\r\n const bx = this._topX;\r\n const by = this._topY;\r\n return [\r\n transform.multiplyXYZ(0, 0, 0),\r\n transform.multiplyXYZ(ax, 0, 0),\r\n transform.multiplyXYZ(0, ay, 0),\r\n transform.multiplyXYZ(ax, ay, 0),\r\n transform.multiplyXYZ(0, 0, 1),\r\n transform.multiplyXYZ(bx, 0, 1),\r\n transform.multiplyXYZ(0, by, 1),\r\n transform.multiplyXYZ(bx, by, 1),\r\n ];\r\n }\r\n\r\n /**\r\n * Consider the box sides (not top and bottom) as a (u,v) surface with\r\n * * v = 0 as the z=0 local plane\r\n * * v = 1 as the z=1 local plane\r\n * Return the (rectangular) section at fractional v\r\n */\r\n public constantVSection(zFraction: number): CurveCollection {\r\n const ls = this.strokeConstantVSection(zFraction);\r\n return Loop.create(ls);\r\n }\r\n /** Extend `rangeToExtend` by each of the 8 corners */\r\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void {\r\n const boxTransform = this._localToWorld;\r\n const ax = this._baseX;\r\n const ay = this._baseY;\r\n const bx = this._topX;\r\n const by = this._topY;\r\n if (transform) {\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, 0, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, ax, 0, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, ay, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, ax, ay, 0);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, 0, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, bx, 0, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, 0, by, 1);\r\n rangeToExtend.extendTransformTransformedXYZ(transform, boxTransform, bx, by, 1);\r\n } else {\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, 0, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, ax, 0, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, ay, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, ax, ay, 0);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, 0, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, bx, 0, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, 0, by, 1);\r\n rangeToExtend.extendTransformedXYZ(boxTransform, bx, by, 1);\r\n }\r\n }\r\n /**\r\n * @return true if this is a closed volume.\r\n */\r\n public get isClosedVolume(): boolean {\r\n return this.capped;\r\n }\r\n}\r\n"]}
@@ -353,10 +353,10 @@ export declare class HalfEdge {
353
353
  /** Returns Returns true if the face has positive area in xy parts. */
354
354
  static testFacePositiveAreaXY(node: HalfEdge): boolean;
355
355
  /** Return true if x and y coordinates of this and other are exactly equal */
356
- isEqualXY(other: XAndY): boolean;
357
- /** Return true if x and y coordinates of this and other are exactly equal */
356
+ isEqualXY(other: XAndY | HalfEdge): boolean;
357
+ /** Return distance between xy coordinates of this and other node */
358
358
  distanceXY(other: HalfEdge): number;
359
- /** Return true if x and y coordinates of this and other are exactly equal */
359
+ /** Return distance between xyz coordinates of this and other node */
360
360
  distanceXYZ(other: HalfEdge): number;
361
361
  /**
362
362
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/topology/Graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/topology/Graph.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AASvD;;;;;;;;;;GAUG;AACH,oBAAY,YAAY;IACtB;;;;OAIG;IACH,QAAQ,IAAa;IACrB;;;OAGG;IACH,aAAa,IAAa;IAS1B;;OAEG;IACH,YAAY,IAAa;IAEzB,4EAA4E;IAC5E,OAAO,KAAY;IAEnB,uDAAuD;IACvD,iBAAiB,MAAa;IAC9B,2CAA2C;IAC3C,SAAS,MAAa;IAEtB,mBAAmB;IACnB,SAAS,IAAa;IACtB,8CAA8C;IAC9C,mBAAmB,aAAa;IAChC,oBAAoB;IACpB,QAAQ,aAAa;CAMtB;AAED;;GAEG;AACH,oBAAY,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC;AACnD;;GAEG;AACH,oBAAY,oBAAoB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC9D;;GAEG;AACH,oBAAY,yBAAyB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AACpE;;GAEG;AACH,oBAAY,gCAAgC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC;AAC/F;;GAEG;AACH,oBAAY,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAClF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAQ;IACnB,sDAAsD;IAC/C,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IAC7F,QAAQ,EAAE,MAAM,CAAC;IACxB,0BAA0B;IACnB,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IACnB,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IACnB,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACI,OAAO,CAAC,EAAE,GAAG,CAAC;IACrB,OAAO,CAAC,GAAG,CAAM;IACjB,6EAA6E;IAC7E,IAAW,EAAE,QAAuB;IACpC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,SAAS,CAAW;IAC5B;OACG;IACH,IAAW,eAAe,IAAI,QAAQ,CAAkC;IACxE,uCAAuC;IACvC,IAAW,aAAa,IAAI,QAAQ,CAAgC;IACpE;OACG;IACH,IAAW,QAAQ,IAAI,QAAQ,CAA2B;IAC1D;;;OAGG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQzC;;;;;OAKG;WACW,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,QAAQ;IAc3E;;;;;;OAMG;WACW,iCAAiC,CAC7C,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,QAAQ;IAO5C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAK3B;;;;;;;;;OASG;WACW,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,EACjD,EAAE,oBAAY,EAAE,EAAE,oBAAY,EAAE,EAAE,oBAAY,EAAE,EAAE,oBAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,QAAQ;IA2B5G,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0H;IAC3J;;;;;;OAMG;WACW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IASzE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAK;gBACnB,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IAiB7E;;OAEG;IACH,IAAW,eAAe,IAAI,QAAQ,CAA0C;IAChF;;OAEG;IACH,IAAW,iBAAiB,IAAI,QAAQ,CAAwC;IAChF;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY;IACjC;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAC1C;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,YAAY;IACnC;;;OAGG;IACI,mBAAmB,CAAC,IAAI,EAAE,YAAY;IAQ7C;;;OAGG;IACI,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOzD;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY;IAQ3C;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY;IAK3C;;;OAGG;IACI,mBAAmB,CAAC,IAAI,EAAE,YAAY;IAK7C,oDAAoD;IAC7C,oBAAoB,IAAI,MAAM;IAUrC,8DAA8D;IACvD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAUjD,4DAA4D;IACrD,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAU/C;;OAEG;IACI,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO;IAkB7E;;;;;OAKG;IACI,2BAA2B,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAE,OAAe;IAc7F,iDAAiD;IAC1C,sBAAsB,IAAI,MAAM;IAUvC,2FAA2F;IACpF,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,OAAc,GAAG,MAAM;IAiB7E,6FAA6F;IACtF,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,OAAc,GAAG,MAAM;IAiB/E;;OAEG;IACI,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAKjD;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ;IAMhC;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAE7C;;;OAGG;WACW,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO;IAGzE;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO;IAI1E;;;;;;;;OAQG;WACW,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ;IAU1G;;;;;;;OAOG;WACW,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;IAWpD;;;OAGG;IACI,kBAAkB,IAAI,QAAQ,GAAG,SAAS;IAQjD;;OAEG;IACI,YAAY;IAMnB,kGAAkG;WACpF,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG;IAC7C,8DAA8D;WAChD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG;IAC3C,4DAA4D;WAC9C,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG;IAEjD,uEAAuE;WACzD,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,MAAM,EAAE,CAAA;KAAE;IAGlF,uEAAuE;WACzD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKtD;;;OAGG;WACW,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAQtD,4CAA4C;WAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE;IAChD,kEAAkE;IAC3D,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAG3D,wCAAwC;IACjC,qBAAqB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAOzD,uDAAuD;WACzC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,GAAG,OAAO;IAgDvF,8FAA8F;WAChF,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAMnG,kEAAkE;WACpD,6BAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAM3H;OACG;WACW,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM;IAMjG;;OAEG;WACW,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO;IASxF;;OAEG;IAEI,cAAc,IAAI,OAAO;IAIhC;;OAEG;IAEI,YAAY,IAAI,OAAO;IAU9B;;OAEG;IACI,WAAW;IAMlB;;OAEG;IACH,IAAW,cAAc,YAExB;IAED,kFAAkF;IAC3E,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAcxC,6EAA6E;WAC/D,uBAAuB,CAAC,IAAI,EAAE,QAAQ;IAEpD,6EAA6E;WAC/D,oBAAoB,CAAC,IAAI,EAAE,QAAQ;IAEjD,sEAAsE;WACxD,sBAAsB,CAAC,IAAI,EAAE,QAAQ;IAInD,6EAA6E;IACtE,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO;IAIlD,oEAAoE;IAC7D,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAI1C,qEAAqE;IAC9D,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAG3C;;;;;OAKG;IACI,iBAAiB,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG,EAAE;IAUjD;;;;;OAKG;IACI,mBAAmB,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG,EAAE;IAUnD;;;;;OAKG;IACI,aAAa,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM;IAUrD;;;;;OAKG;IACI,eAAe,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM;IASvD,qFAAqF;IAC9E,mBAAmB,CAAC,IAAI,EAAE,YAAY;IAQ7C,uFAAuF;IAChF,qBAAqB,CAAC,IAAI,EAAE,YAAY;IAO/C;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAwB/B;;;;OAIG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAOrE;;;;OAIG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAQrE;;;;;OAKG;IACI,sCAAsC,CAAC,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAU9H;;OAEG;IACI,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAG5C;;OAEG;IACI,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAG5C;;OAEG;IACI,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAKxD;;OAEG;IACI,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAIxD;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5C;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK5C;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;;OAOG;WACW,+BAA+B,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAa1H;;;;;;;OAOG;WACW,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ;IAU/F;;;;;;OAMG;WACW,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAYvF;AACD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,qEAAqE;IAC9D,YAAY,EAAE,QAAQ,EAAE,CAAC;IAChC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAK;;IAK7B;;OAEG;IACI,QAAQ,CAAC,mBAAmB,GAAE,OAAc,GAAG,YAAY;IAOlE;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY;IAClC;;;;;;OAMG;IACI,gBAAgB,CACrB,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,EACd,EAAE,GAAE,MAAU,GAAG,QAAQ;IAI3B;;;OAGG;IACI,qBAAqB,CAC1B,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,EAAE,oBAAY,EACd,IAAI,EAAE,QAAQ,EACd,EAAE,GAAE,MAAU,GAAG,QAAQ;IAM3B;;;OAGG;IACI,0BAA0B,CAC/B,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,GAAG,GAAE,MAAU,GAAG,QAAQ;IAQ5B;;;;;;OAMG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ;IAKvF;;;;;;;OAOG;IACI,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,EACzC,EAAE,GAAE,MAAU,EAAE,EAAE,GAAE,MAAU,EAAE,EAAE,GAAE,MAAU,EAAE,EAAE,GAAE,MAAU,GAAG,QAAQ;IAK3E;;;;;;;OAOG;IACI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAItE;;OAEG;IACI,YAAY;IAKnB;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ;IAQ1E,qDAAqD;IAC9C,SAAS,CAAC,IAAI,EAAE,YAAY;IAInC,mDAAmD;IAC5C,OAAO,CAAC,IAAI,EAAE,YAAY;IAIjC,sDAAsD;IAC/C,WAAW,CAAC,IAAI,EAAE,YAAY;IAKrC;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAO5C;;;;OAIG;IACI,eAAe,IAAI,aAAa,EAAE;IASzC,8DAA8D;IACvD,gBAAgB,IAAI,MAAM;IAOjC,uCAAuC;IAChC,cAAc,IAAI,MAAM;IAM/B;;;OAGG;IACI,4BAA4B,CAAC,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM;IAWzG;OACG;IACI,gBAAgB,IAAI,QAAQ,EAAE;IAOrC;OACG;IACI,kBAAkB,IAAI,QAAQ,EAAE;IAavC;;;;;;OAMG;IACI,iBAAiB,CAAC,YAAY,EAAE,iBAAiB;IAWxD;;;;;;OAMG;IACI,mBAAmB,CAAC,cAAc,EAAE,iBAAiB;IAU5D;;;;;;OAMG;IACI,aAAa,CAAC,YAAY,EAAE,iBAAiB;IAOpD,8CAA8C;IACvC,UAAU,IAAI,MAAM;IAC3B,2DAA2D;IACpD,gBAAgB,CAAC,SAAS,EAAE,SAAS;IAK5C;;;;OAIG;IACI,kBAAkB,CAAC,cAAc,EAAE,YAAY,GAAG,MAAM;IAe/D;;;OAGG;IACI,mBAAmB,IAAI,MAAM;CAcrC"}
@@ -690,11 +690,11 @@ export class HalfEdge {
690
690
  isEqualXY(other) {
691
691
  return this.x === other.x && this.y === other.y;
692
692
  }
693
- /** Return true if x and y coordinates of this and other are exactly equal */
693
+ /** Return distance between xy coordinates of this and other node */
694
694
  distanceXY(other) {
695
695
  return Geometry.distanceXYXY(this.x, this.y, other.x, other.y);
696
696
  }
697
- /** Return true if x and y coordinates of this and other are exactly equal */
697
+ /** Return distance between xyz coordinates of this and other node */
698
698
  distanceXYZ(other) {
699
699
  return Geometry.distanceXYZXYZ(this.x, this.y, this.z, other.x, other.y, other.z);
700
700
  }