@itwin/core-geometry 3.4.0-dev.9 → 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":"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"}
@@ -62,7 +62,7 @@ class Box extends SolidPrimitive_1.SolidPrimitive {
62
62
  }
63
63
  /**
64
64
  * Create a new box from vector and size daa.
65
- * @param baseOrigin Origin of base rectangle
65
+ * @param origin Origin of base rectangle
66
66
  * @param vectorX Direction for base rectangle
67
67
  * @param vectorY Direction for base rectangle
68
68
  * @param topOrigin origin of top rectangle
@@ -72,14 +72,14 @@ class Box extends SolidPrimitive_1.SolidPrimitive {
72
72
  * @param topY size factor for top rectangle (multiplies vectorY)
73
73
  * @param capped true to define top and bottom closure caps
74
74
  */
75
- static createDgnBox(baseOrigin, vectorX, vectorY, topOrigin, baseX, baseY, topX, topY, capped) {
76
- const vectorZ = baseOrigin.vectorTo(topOrigin);
77
- const localToWorld = Transform_1.Transform.createOriginAndMatrixColumns(baseOrigin, vectorX, vectorY, vectorZ);
75
+ static createDgnBox(origin, vectorX, vectorY, topOrigin, baseX, baseY, topX, topY, capped) {
76
+ const vectorZ = origin.vectorTo(topOrigin);
77
+ const localToWorld = Transform_1.Transform.createOriginAndMatrixColumns(origin, vectorX, vectorY, vectorZ);
78
78
  return new Box(localToWorld, baseX, baseY, topX, topY, capped);
79
79
  }
80
80
  /**
81
81
  * Create a new box with xy directions taken from columns of the `axes` matrix.
82
- * @param baseOrigin Origin of base rectangle
82
+ * @param origin Origin of base rectangle
83
83
  * @param axes Direction for base rectangle
84
84
  * @param topOrigin origin of top rectangle
85
85
  * @param baseX size factor for base rectangle (multiplies vectorX)
@@ -88,8 +88,8 @@ class Box extends SolidPrimitive_1.SolidPrimitive {
88
88
  * @param topY size factor for top rectangle (multiplies vectorY)
89
89
  * @param capped true to define top and bottom closure caps
90
90
  */
91
- static createDgnBoxWithAxes(baseOrigin, axes, topOrigin, baseX, baseY, topX, topY, capped) {
92
- return Box.createDgnBox(baseOrigin, axes.columnX(), axes.columnY(), topOrigin, baseX, baseY, topX, topY, capped);
91
+ static createDgnBoxWithAxes(origin, axes, topOrigin, baseX, baseY, topX, topY, capped) {
92
+ return Box.createDgnBox(origin, axes.columnX(), axes.columnY(), topOrigin, baseX, baseY, topX, topY, capped);
93
93
  }
94
94
  /**
95
95
  * 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":"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"}
@@ -693,11 +693,11 @@ class HalfEdge {
693
693
  isEqualXY(other) {
694
694
  return this.x === other.x && this.y === other.y;
695
695
  }
696
- /** Return true if x and y coordinates of this and other are exactly equal */
696
+ /** Return distance between xy coordinates of this and other node */
697
697
  distanceXY(other) {
698
698
  return Geometry_1.Geometry.distanceXYXY(this.x, this.y, other.x, other.y);
699
699
  }
700
- /** Return true if x and y coordinates of this and other are exactly equal */
700
+ /** Return distance between xyz coordinates of this and other node */
701
701
  distanceXYZ(other) {
702
702
  return Geometry_1.Geometry.distanceXYZXYZ(this.x, this.y, this.z, other.x, other.y, other.z);
703
703
  }