@itwin/core-geometry 5.2.0-dev.24 → 5.2.0-dev.26

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 (450) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/Constant.js.map +1 -1
  3. package/lib/cjs/Geometry.js.map +1 -1
  4. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  5. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  10. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  11. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  12. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  13. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  14. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  15. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  16. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  17. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  18. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  19. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  20. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  21. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  22. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  23. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  24. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  25. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  26. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  27. package/lib/cjs/core-geometry.js.map +1 -1
  28. package/lib/cjs/curve/Arc3d.js.map +1 -1
  29. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  30. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  31. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  32. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  33. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  34. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  35. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  36. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  37. package/lib/cjs/curve/CurveOps.js.map +1 -1
  38. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  39. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  40. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  41. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  42. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  43. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  44. package/lib/cjs/curve/LineString3d.js.map +1 -1
  45. package/lib/cjs/curve/Loop.js.map +1 -1
  46. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  47. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  48. package/lib/cjs/curve/Path.js.map +1 -1
  49. package/lib/cjs/curve/PointString3d.js.map +1 -1
  50. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  51. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  52. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  53. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  54. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  55. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  56. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  57. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  58. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  59. package/lib/cjs/curve/RegionOps.js.map +1 -1
  60. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  61. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  62. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  63. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  64. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  65. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  66. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  67. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  68. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  69. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  70. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  71. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  72. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  73. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  74. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  75. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  76. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  77. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  78. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  79. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  80. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  81. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  82. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
  83. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  84. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  85. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  86. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  87. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  88. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  89. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  90. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  91. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  92. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  93. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  94. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  95. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  96. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  97. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  98. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  99. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  100. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  101. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  102. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  103. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  104. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  105. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  106. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  107. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  108. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  109. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  110. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  111. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  112. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  113. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  114. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  115. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  116. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  117. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  118. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  119. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  120. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  121. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  122. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  123. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  124. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  125. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  126. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  127. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  128. package/lib/cjs/geometry3d/Range.js.map +1 -1
  129. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  130. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  131. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  132. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  133. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  134. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  135. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  136. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  137. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  138. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  139. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  140. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  141. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  142. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  143. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  144. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  145. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  146. package/lib/cjs/numerics/Complex.js.map +1 -1
  147. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  148. package/lib/cjs/numerics/Newton.js.map +1 -1
  149. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  150. package/lib/cjs/numerics/PolarData.js.map +1 -1
  151. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  152. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  153. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  154. package/lib/cjs/numerics/SmallSystem.js.map +1 -1
  155. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  156. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  157. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  158. package/lib/cjs/polyface/AuxData.js.map +1 -1
  159. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  160. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  161. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  162. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  163. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  164. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  165. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  166. package/lib/cjs/polyface/IndexedPolyfaceWalker.js.map +1 -1
  167. package/lib/cjs/polyface/Polyface.js.map +1 -1
  168. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  169. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  170. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  171. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  172. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  173. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  174. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  175. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  176. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  177. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  178. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  179. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  180. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  181. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  182. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  183. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  184. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  185. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  186. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  187. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  188. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  189. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  190. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  191. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  192. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  193. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  194. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  195. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  196. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  197. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  198. package/lib/cjs/solid/Box.js.map +1 -1
  199. package/lib/cjs/solid/Cone.js.map +1 -1
  200. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  201. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  202. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  203. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  204. package/lib/cjs/solid/Sphere.js.map +1 -1
  205. package/lib/cjs/solid/SweepContour.js.map +1 -1
  206. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  207. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  208. package/lib/cjs/topology/Graph.js.map +1 -1
  209. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  210. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  211. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  212. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  213. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  214. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  215. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  216. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  217. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  218. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  219. package/lib/cjs/topology/MaskManager.js.map +1 -1
  220. package/lib/cjs/topology/Merging.js.map +1 -1
  221. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  222. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  223. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  224. package/lib/cjs/topology/Triangulation.js.map +1 -1
  225. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  226. package/lib/esm/Constant.js.map +1 -1
  227. package/lib/esm/Geometry.js.map +1 -1
  228. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  229. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  230. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  231. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  232. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  233. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  234. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  235. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  236. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  237. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  238. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  239. package/lib/esm/bspline/KnotVector.js.map +1 -1
  240. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  241. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  242. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  243. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  244. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  245. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  246. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  247. package/lib/esm/clipping/ClipVector.js.map +1 -1
  248. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  249. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  250. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  251. package/lib/esm/core-geometry.js.map +1 -1
  252. package/lib/esm/curve/Arc3d.js.map +1 -1
  253. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  254. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  255. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  256. package/lib/esm/curve/CurveCollection.js.map +1 -1
  257. package/lib/esm/curve/CurveCurve.js.map +1 -1
  258. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  259. package/lib/esm/curve/CurveFactory.js.map +1 -1
  260. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  261. package/lib/esm/curve/CurveOps.js.map +1 -1
  262. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  263. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  264. package/lib/esm/curve/CurveTypes.js.map +1 -1
  265. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  266. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  267. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  268. package/lib/esm/curve/LineString3d.js.map +1 -1
  269. package/lib/esm/curve/Loop.js.map +1 -1
  270. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  271. package/lib/esm/curve/ParityRegion.js.map +1 -1
  272. package/lib/esm/curve/Path.js.map +1 -1
  273. package/lib/esm/curve/PointString3d.js.map +1 -1
  274. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  275. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  276. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  277. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  278. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  279. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  280. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  281. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  282. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  283. package/lib/esm/curve/RegionOps.js.map +1 -1
  284. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  285. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  286. package/lib/esm/curve/UnionRegion.js.map +1 -1
  287. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  288. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  289. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  290. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  291. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  292. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  293. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  294. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  295. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  296. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  297. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  298. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  299. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  300. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  301. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  302. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  303. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  304. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  305. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  306. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
  307. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  308. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  309. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  310. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  311. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  312. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  313. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  314. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  315. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  316. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  317. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  318. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  319. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  320. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  321. package/lib/esm/geometry3d/Angle.js.map +1 -1
  322. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  323. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  324. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  325. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  326. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  327. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  328. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  329. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  330. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  331. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  332. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  333. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  334. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  335. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  336. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  337. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  338. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  339. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  340. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  341. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  342. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  343. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  344. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  345. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  346. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  347. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  348. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  349. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  350. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  351. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  352. package/lib/esm/geometry3d/Range.js.map +1 -1
  353. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  354. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  355. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  356. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  357. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  358. package/lib/esm/geometry3d/Transform.js.map +1 -1
  359. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  360. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  361. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  362. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  363. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  364. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  365. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  366. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  367. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  368. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  369. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  370. package/lib/esm/numerics/Complex.js.map +1 -1
  371. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  372. package/lib/esm/numerics/Newton.js.map +1 -1
  373. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  374. package/lib/esm/numerics/PolarData.js.map +1 -1
  375. package/lib/esm/numerics/Polynomials.js.map +1 -1
  376. package/lib/esm/numerics/Quadrature.js.map +1 -1
  377. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  378. package/lib/esm/numerics/SmallSystem.js.map +1 -1
  379. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  380. package/lib/esm/numerics/UnionFind.js.map +1 -1
  381. package/lib/esm/numerics/UsageSums.js.map +1 -1
  382. package/lib/esm/polyface/AuxData.js.map +1 -1
  383. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  384. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  385. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  386. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  387. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  388. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  389. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  390. package/lib/esm/polyface/IndexedPolyfaceWalker.js.map +1 -1
  391. package/lib/esm/polyface/Polyface.js.map +1 -1
  392. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  393. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  394. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  395. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  396. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  397. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  398. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  399. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  400. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  401. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  402. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  403. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  404. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  405. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  406. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  407. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  408. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  409. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  410. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  411. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  412. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  413. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  414. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  415. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  416. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  417. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  418. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  419. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  420. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  421. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  422. package/lib/esm/solid/Box.js.map +1 -1
  423. package/lib/esm/solid/Cone.js.map +1 -1
  424. package/lib/esm/solid/LinearSweep.js.map +1 -1
  425. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  426. package/lib/esm/solid/RuledSweep.js.map +1 -1
  427. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  428. package/lib/esm/solid/Sphere.js.map +1 -1
  429. package/lib/esm/solid/SweepContour.js.map +1 -1
  430. package/lib/esm/solid/TorusPipe.js.map +1 -1
  431. package/lib/esm/topology/ChainMerge.js.map +1 -1
  432. package/lib/esm/topology/Graph.js.map +1 -1
  433. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  434. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  435. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  436. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  437. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  438. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  439. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  440. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  441. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  442. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  443. package/lib/esm/topology/MaskManager.js.map +1 -1
  444. package/lib/esm/topology/Merging.js.map +1 -1
  445. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  446. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  447. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  448. package/lib/esm/topology/Triangulation.js.map +1 -1
  449. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  450. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"PolarData.js","sourceRoot":"","sources":["../../../src/numerics/PolarData.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Arc3d } from \"../curve/Arc3d\";\nimport { CoordinateXYZ } from \"../curve/CoordinateXYZ\";\nimport { GeometryQuery } from \"../curve/GeometryQuery\";\nimport { LineSegment3d } from \"../curve/LineSegment3d\";\nimport { Geometry } from \"../Geometry\";\nimport { Angle } from \"../geometry3d/Angle\";\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\n\n/** Enumeration of how constraints have been resolved\n * @internal\n */\nexport enum ConstraintState {\n unknown = 0,\n singlePoint = 1,\n impossibleValues = -1,\n onCurve = 2,\n\n}\n\n/**\n * PolarData carries (possibly incomplete) data for converting among polar and cartesian coordinates.\n * @internal\n */\nexport class PolarData {\n private static _defaultRadius = 1.0;\n public static get defaultRadius(): number { return PolarData._defaultRadius; }\n /** x coordinate, possibly unknown */\n public x?: number;\n /** y coordinate, possibly unknown */\n public y?: number;\n /** radius, possibly unknown */\n public r?: number;\n /** angle, possibly unknown */\n public theta?: Angle;\n /** point, line, or arc geometry, as determined by solveFromScalars */\n public geometry?: GeometryQuery;\n /** enumeration of resolved state validity conditions. */\n public state?: ConstraintState;\n /** Count the number of defined values among x,y,r, theta */\n public get numberOfConstrainedScalars(): number {\n let n = 0;\n if (this.x !== undefined) n++;\n if (this.y !== undefined) n++;\n if (this.r !== undefined) n++;\n if (this.theta !== undefined) n++;\n return n;\n }\n /** Create with any combination of known and unknown scalars. */\n public static createMixedScalars(state?: ConstraintState, x?: number, y?: number, r?: number, theta?: Angle): PolarData {\n const result = new PolarData();\n result.x = x;\n result.y = y;\n result.r = r;\n result.theta = theta !== undefined ? theta.clone() : undefined;\n result.state = state;\n return result;\n }\n\n /** Clone the scalar data, replace the state.\n * * Geometry is NOT cloned.\n */\n public cloneScalarsWithState(newState: ConstraintState): PolarData {\n const result = new PolarData();\n result.x = this.x;\n result.y = this.y;\n result.r = this.r;\n result.theta = this.theta !== undefined ? this.theta.clone() : undefined;\n result.state = newState;\n return result;\n }\n\n /** Given a possibly incomplete set of x,y,r,theta, determine the possible completions. */\n public static solveFromScalars(known: PolarData): PolarData[] {\n const result = [];\n // .. fill out known combinations (x,y) (x,r) etc.\n // .. any \"singlePoints\" gets created with no geometry, but geometry fills in at end.\n // .. \"free on curve\" has curve filled in, with finite curve range controlled by PolarData.defaultRadius.\n if (known.x !== undefined) {\n if (known.y !== undefined) {\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, known.y, Geometry.hypotenuseXY(known.x, known.y), Angle.createAtan2(known.y, known.x)));\n } else if (known.r !== undefined) {\n const rr = known.r * known.r;\n const xx = known.x * known.x;\n const yy = rr - xx;\n if (yy < 0.0) {\n result.push(known.cloneScalarsWithState(ConstraintState.impossibleValues));\n } else {\n const y = Math.sqrt(yy);\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, y, known.r, Angle.createAtan2(y, known.x)));\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, -y, known.r, Angle.createAtan2(-y, known.x)));\n }\n } else if (known.theta !== undefined) {\n const r = Geometry.conditionalDivideFraction(known.x, known.theta.cos());\n // test 4*theta to isolate either positive or negative PI/2 case ...\n if (r === undefined) {\n // Anywhere on y axis does has x=0, this angle . . .\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n q.geometry = LineSegment3d.createXYXY(0, PolarData._defaultRadius, 0, PolarData._defaultRadius);\n } else {\n const y = r * known.theta.sin();\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, y, r, known.theta));\n }\n } else { // only x known --- fill out a vertical line\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n q.geometry = LineSegment3d.createXYZXYZ(known.x, PolarData._defaultRadius, 0, known.x, PolarData._defaultRadius, 0);\n }\n } else if (known.y !== undefined) { // and we already know x is undefined .....\n if (known.r !== undefined) {\n const rr = known.r * known.r;\n const yy = known.y * known.y;\n const xx = rr - yy;\n if (xx < 0.0) {\n result.push(known.cloneScalarsWithState(ConstraintState.impossibleValues));\n } else {\n const x = Math.sqrt(xx);\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, x, known.y, known.r, Angle.createAtan2(known.y, x)));\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, -x, known.y, known.r, Angle.createAtan2(known.y, -x)));\n }\n } else if (known.theta !== undefined) {\n const r = Geometry.conditionalDivideFraction(known.y, known.theta.sin());\n // test 4*theta to isolate either positive or negative PI/2 case ...\n if (r === undefined) {\n // Anywhere on y axis does has x=0, this angle . . .\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n q.geometry = LineSegment3d.createXYZXYZ(0, PolarData._defaultRadius, 0, 0, PolarData._defaultRadius, 0);\n } else {\n const x = r * known.theta.cos();\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, x, known.y, r, known.theta));\n }\n } else { // only x known --- fill out a horizontal line\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n q.geometry = LineSegment3d.createXYZXYZ(PolarData._defaultRadius, known.y, 0, PolarData._defaultRadius, known.y, 0);\n }\n } else if (known.r !== undefined) {\n if (known.theta !== undefined) {\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.r * known.theta.cos(), known.r * known.theta.sin(), known.r, known.theta));\n } else {\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n q.geometry = Arc3d.createXY(Point3d.create(0, 0, 0), known.r);\n result.push(q);\n }\n } else if (known.theta !== undefined) {\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\n const x = PolarData._defaultRadius * known.theta.cos();\n const y = PolarData._defaultRadius * known.theta.sin();\n q.geometry = LineSegment3d.createXYXY(-x, -y, x, y);\n result.push(q);\n }\n // ----------------------------------------------------------------------------------------\n // add tangible geometry to single points ...\n for (const r of result) {\n if (r.state === ConstraintState.singlePoint && r.geometry === undefined)\n r.geometry = CoordinateXYZ.createXYZ(r.x, r.y, 0.0);\n }\n return result;\n }\n}\n"]}
1
+ {"version":3,"file":"PolarData.js","sourceRoot":"","sources":["../../../src/numerics/PolarData.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\nimport { Arc3d } from \"../curve/Arc3d\";\r\nimport { CoordinateXYZ } from \"../curve/CoordinateXYZ\";\r\nimport { GeometryQuery } from \"../curve/GeometryQuery\";\r\nimport { LineSegment3d } from \"../curve/LineSegment3d\";\r\nimport { Geometry } from \"../Geometry\";\r\nimport { Angle } from \"../geometry3d/Angle\";\r\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\r\n\r\n/** Enumeration of how constraints have been resolved\r\n * @internal\r\n */\r\nexport enum ConstraintState {\r\n unknown = 0,\r\n singlePoint = 1,\r\n impossibleValues = -1,\r\n onCurve = 2,\r\n\r\n}\r\n\r\n/**\r\n * PolarData carries (possibly incomplete) data for converting among polar and cartesian coordinates.\r\n * @internal\r\n */\r\nexport class PolarData {\r\n private static _defaultRadius = 1.0;\r\n public static get defaultRadius(): number { return PolarData._defaultRadius; }\r\n /** x coordinate, possibly unknown */\r\n public x?: number;\r\n /** y coordinate, possibly unknown */\r\n public y?: number;\r\n /** radius, possibly unknown */\r\n public r?: number;\r\n /** angle, possibly unknown */\r\n public theta?: Angle;\r\n /** point, line, or arc geometry, as determined by solveFromScalars */\r\n public geometry?: GeometryQuery;\r\n /** enumeration of resolved state validity conditions. */\r\n public state?: ConstraintState;\r\n /** Count the number of defined values among x,y,r, theta */\r\n public get numberOfConstrainedScalars(): number {\r\n let n = 0;\r\n if (this.x !== undefined) n++;\r\n if (this.y !== undefined) n++;\r\n if (this.r !== undefined) n++;\r\n if (this.theta !== undefined) n++;\r\n return n;\r\n }\r\n /** Create with any combination of known and unknown scalars. */\r\n public static createMixedScalars(state?: ConstraintState, x?: number, y?: number, r?: number, theta?: Angle): PolarData {\r\n const result = new PolarData();\r\n result.x = x;\r\n result.y = y;\r\n result.r = r;\r\n result.theta = theta !== undefined ? theta.clone() : undefined;\r\n result.state = state;\r\n return result;\r\n }\r\n\r\n /** Clone the scalar data, replace the state.\r\n * * Geometry is NOT cloned.\r\n */\r\n public cloneScalarsWithState(newState: ConstraintState): PolarData {\r\n const result = new PolarData();\r\n result.x = this.x;\r\n result.y = this.y;\r\n result.r = this.r;\r\n result.theta = this.theta !== undefined ? this.theta.clone() : undefined;\r\n result.state = newState;\r\n return result;\r\n }\r\n\r\n /** Given a possibly incomplete set of x,y,r,theta, determine the possible completions. */\r\n public static solveFromScalars(known: PolarData): PolarData[] {\r\n const result = [];\r\n // .. fill out known combinations (x,y) (x,r) etc.\r\n // .. any \"singlePoints\" gets created with no geometry, but geometry fills in at end.\r\n // .. \"free on curve\" has curve filled in, with finite curve range controlled by PolarData.defaultRadius.\r\n if (known.x !== undefined) {\r\n if (known.y !== undefined) {\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, known.y, Geometry.hypotenuseXY(known.x, known.y), Angle.createAtan2(known.y, known.x)));\r\n } else if (known.r !== undefined) {\r\n const rr = known.r * known.r;\r\n const xx = known.x * known.x;\r\n const yy = rr - xx;\r\n if (yy < 0.0) {\r\n result.push(known.cloneScalarsWithState(ConstraintState.impossibleValues));\r\n } else {\r\n const y = Math.sqrt(yy);\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, y, known.r, Angle.createAtan2(y, known.x)));\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, -y, known.r, Angle.createAtan2(-y, known.x)));\r\n }\r\n } else if (known.theta !== undefined) {\r\n const r = Geometry.conditionalDivideFraction(known.x, known.theta.cos());\r\n // test 4*theta to isolate either positive or negative PI/2 case ...\r\n if (r === undefined) {\r\n // Anywhere on y axis does has x=0, this angle . . .\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n q.geometry = LineSegment3d.createXYXY(0, PolarData._defaultRadius, 0, PolarData._defaultRadius);\r\n } else {\r\n const y = r * known.theta.sin();\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.x, y, r, known.theta));\r\n }\r\n } else { // only x known --- fill out a vertical line\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n q.geometry = LineSegment3d.createXYZXYZ(known.x, PolarData._defaultRadius, 0, known.x, PolarData._defaultRadius, 0);\r\n }\r\n } else if (known.y !== undefined) { // and we already know x is undefined .....\r\n if (known.r !== undefined) {\r\n const rr = known.r * known.r;\r\n const yy = known.y * known.y;\r\n const xx = rr - yy;\r\n if (xx < 0.0) {\r\n result.push(known.cloneScalarsWithState(ConstraintState.impossibleValues));\r\n } else {\r\n const x = Math.sqrt(xx);\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, x, known.y, known.r, Angle.createAtan2(known.y, x)));\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, -x, known.y, known.r, Angle.createAtan2(known.y, -x)));\r\n }\r\n } else if (known.theta !== undefined) {\r\n const r = Geometry.conditionalDivideFraction(known.y, known.theta.sin());\r\n // test 4*theta to isolate either positive or negative PI/2 case ...\r\n if (r === undefined) {\r\n // Anywhere on y axis does has x=0, this angle . . .\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n q.geometry = LineSegment3d.createXYZXYZ(0, PolarData._defaultRadius, 0, 0, PolarData._defaultRadius, 0);\r\n } else {\r\n const x = r * known.theta.cos();\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, x, known.y, r, known.theta));\r\n }\r\n } else { // only x known --- fill out a horizontal line\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n q.geometry = LineSegment3d.createXYZXYZ(PolarData._defaultRadius, known.y, 0, PolarData._defaultRadius, known.y, 0);\r\n }\r\n } else if (known.r !== undefined) {\r\n if (known.theta !== undefined) {\r\n result.push(PolarData.createMixedScalars(ConstraintState.singlePoint, known.r * known.theta.cos(), known.r * known.theta.sin(), known.r, known.theta));\r\n } else {\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n q.geometry = Arc3d.createXY(Point3d.create(0, 0, 0), known.r);\r\n result.push(q);\r\n }\r\n } else if (known.theta !== undefined) {\r\n const q = known.cloneScalarsWithState(ConstraintState.onCurve);\r\n const x = PolarData._defaultRadius * known.theta.cos();\r\n const y = PolarData._defaultRadius * known.theta.sin();\r\n q.geometry = LineSegment3d.createXYXY(-x, -y, x, y);\r\n result.push(q);\r\n }\r\n // ----------------------------------------------------------------------------------------\r\n // add tangible geometry to single points ...\r\n for (const r of result) {\r\n if (r.state === ConstraintState.singlePoint && r.geometry === undefined)\r\n r.geometry = CoordinateXYZ.createXYZ(r.x, r.y, 0.0);\r\n }\r\n return result;\r\n }\r\n}\r\n"]}