@itwin/ecschema-rpcinterface-tests 4.1.0-dev.73 → 4.1.0-dev.75
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.
- package/lib/dist/bundled-tests.js +245 -108
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -150698,6 +150698,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
150698
150698
|
|
|
150699
150699
|
|
|
150700
150700
|
|
|
150701
|
+
const loggerCategory = "ImageryMapTileTree";
|
|
150701
150702
|
/** @internal */
|
|
150702
150703
|
class ImageryMapTile extends _internal__WEBPACK_IMPORTED_MODULE_4__.RealityTile {
|
|
150703
150704
|
constructor(params, imageryTree, quadId, rectangle) {
|
|
@@ -150988,9 +150989,17 @@ class ImageryMapLayerTreeSupplier {
|
|
|
150988
150989
|
/** The first time a tree of a particular imagery type is requested, this function creates it. */
|
|
150989
150990
|
async createTileTree(id, iModel) {
|
|
150990
150991
|
const imageryProvider = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.mapLayerFormatRegistry.createImageryProvider(id.settings);
|
|
150991
|
-
if (undefined === imageryProvider)
|
|
150992
|
+
if (undefined === imageryProvider) {
|
|
150993
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, `Failed to create imagery provider for format '${id.settings.formatId}'`);
|
|
150992
150994
|
return undefined;
|
|
150993
|
-
|
|
150995
|
+
}
|
|
150996
|
+
try {
|
|
150997
|
+
await imageryProvider.initialize();
|
|
150998
|
+
}
|
|
150999
|
+
catch (e) {
|
|
151000
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, `Could not initialize imagery provider for map layer '${id.settings.name}' : ${e}`);
|
|
151001
|
+
throw e;
|
|
151002
|
+
}
|
|
150994
151003
|
const modelId = iModel.transientIds.getNext();
|
|
150995
151004
|
const tilingScheme = imageryProvider.tilingScheme;
|
|
150996
151005
|
const rootLevel = (1 === tilingScheme.numberOfLevelZeroTilesX && 1 === tilingScheme.numberOfLevelZeroTilesY) ? 0 : -1;
|
|
@@ -180790,7 +180799,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180790
180799
|
/* harmony export */ BSplineWrapMode: () => (/* reexport safe */ _bspline_KnotVector__WEBPACK_IMPORTED_MODULE_111__.BSplineWrapMode),
|
|
180791
180800
|
/* harmony export */ BagOfCurves: () => (/* reexport safe */ _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_65__.BagOfCurves),
|
|
180792
180801
|
/* harmony export */ BarycentricTriangle: () => (/* reexport safe */ _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_3__.BarycentricTriangle),
|
|
180793
|
-
/* harmony export */ BentleyGeometryFlatBuffer: () => (/* reexport safe */
|
|
180802
|
+
/* harmony export */ BentleyGeometryFlatBuffer: () => (/* reexport safe */ _serialization_BentleyGeometryFlatBuffer__WEBPACK_IMPORTED_MODULE_131__.BentleyGeometryFlatBuffer),
|
|
180794
180803
|
/* harmony export */ Bezier1dNd: () => (/* reexport safe */ _bspline_Bezier1dNd__WEBPACK_IMPORTED_MODULE_101__.Bezier1dNd),
|
|
180795
180804
|
/* harmony export */ BezierBezierIntersectionXYRRToRRD: () => (/* reexport safe */ _curve_CurveCurveIntersectXY__WEBPACK_IMPORTED_MODULE_67__.BezierBezierIntersectionXYRRToRRD),
|
|
180796
180805
|
/* harmony export */ BezierCoffs: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.BezierCoffs),
|
|
@@ -180812,7 +180821,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180812
180821
|
/* harmony export */ ClipStepAction: () => (/* reexport safe */ _clipping_ClipUtils__WEBPACK_IMPORTED_MODULE_44__.ClipStepAction),
|
|
180813
180822
|
/* harmony export */ ClipUtilities: () => (/* reexport safe */ _clipping_ClipUtils__WEBPACK_IMPORTED_MODULE_44__.ClipUtilities),
|
|
180814
180823
|
/* harmony export */ ClipVector: () => (/* reexport safe */ _clipping_ClipVector__WEBPACK_IMPORTED_MODULE_43__.ClipVector),
|
|
180815
|
-
/* harmony export */ ClippedPolyfaceBuilders: () => (/* reexport safe */
|
|
180824
|
+
/* harmony export */ ClippedPolyfaceBuilders: () => (/* reexport safe */ _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_123__.ClippedPolyfaceBuilders),
|
|
180816
180825
|
/* harmony export */ ClusterableArray: () => (/* reexport safe */ _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_52__.ClusterableArray),
|
|
180817
180826
|
/* harmony export */ Complex: () => (/* reexport safe */ _numerics_Complex__WEBPACK_IMPORTED_MODULE_54__.Complex),
|
|
180818
180827
|
/* harmony export */ Cone: () => (/* reexport safe */ _solid_Cone__WEBPACK_IMPORTED_MODULE_92__.Cone),
|
|
@@ -180842,12 +180851,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180842
180851
|
/* harmony export */ CurveSearchStatus: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_69__.CurveSearchStatus),
|
|
180843
180852
|
/* harmony export */ CutLoop: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.CutLoop),
|
|
180844
180853
|
/* harmony export */ CutLoopMergeContext: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.CutLoopMergeContext),
|
|
180845
|
-
/* harmony export */ DeepCompare: () => (/* reexport safe */
|
|
180854
|
+
/* harmony export */ DeepCompare: () => (/* reexport safe */ _serialization_DeepCompare__WEBPACK_IMPORTED_MODULE_129__.DeepCompare),
|
|
180846
180855
|
/* harmony export */ Degree2PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.Degree2PowerPolynomial),
|
|
180847
180856
|
/* harmony export */ Degree3PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.Degree3PowerPolynomial),
|
|
180848
180857
|
/* harmony export */ Degree4PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.Degree4PowerPolynomial),
|
|
180849
180858
|
/* harmony export */ DirectSpiral3d: () => (/* reexport safe */ _curve_spiral_DirectSpiral3d__WEBPACK_IMPORTED_MODULE_88__.DirectSpiral3d),
|
|
180850
|
-
/* harmony export */ DuplicateFacetClusterSelector: () => (/* reexport safe */
|
|
180859
|
+
/* harmony export */ DuplicateFacetClusterSelector: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_122__.DuplicateFacetClusterSelector),
|
|
180851
180860
|
/* harmony export */ Ellipsoid: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.Ellipsoid),
|
|
180852
180861
|
/* harmony export */ EllipsoidPatch: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.EllipsoidPatch),
|
|
180853
180862
|
/* harmony export */ FacetFaceData: () => (/* reexport safe */ _polyface_FacetFaceData__WEBPACK_IMPORTED_MODULE_114__.FacetFaceData),
|
|
@@ -180859,14 +180868,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180859
180868
|
/* harmony export */ Geometry: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.Geometry),
|
|
180860
180869
|
/* harmony export */ GeometryHandler: () => (/* reexport safe */ _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_8__.GeometryHandler),
|
|
180861
180870
|
/* harmony export */ GeometryQuery: () => (/* reexport safe */ _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_74__.GeometryQuery),
|
|
180871
|
+
/* harmony export */ GriddedRaggedRange2dSet: () => (/* reexport safe */ _polyface_multiclip_GriddedRaggedRange2dSet__WEBPACK_IMPORTED_MODULE_118__.GriddedRaggedRange2dSet),
|
|
180872
|
+
/* harmony export */ GriddedRaggedRange2dSetWithOverflow: () => (/* reexport safe */ _polyface_multiclip_GriddedRaggedRange2dSetWithOverflow__WEBPACK_IMPORTED_MODULE_119__.GriddedRaggedRange2dSetWithOverflow),
|
|
180862
180873
|
/* harmony export */ GrowableBlockedArray: () => (/* reexport safe */ _geometry3d_GrowableBlockedArray__WEBPACK_IMPORTED_MODULE_9__.GrowableBlockedArray),
|
|
180863
180874
|
/* harmony export */ GrowableFloat64Array: () => (/* reexport safe */ _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_10__.GrowableFloat64Array),
|
|
180864
180875
|
/* harmony export */ GrowableXYArray: () => (/* reexport safe */ _geometry3d_GrowableXYArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYArray),
|
|
180865
180876
|
/* harmony export */ GrowableXYZArray: () => (/* reexport safe */ _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_12__.GrowableXYZArray),
|
|
180866
|
-
/* harmony export */ HalfEdge: () => (/* reexport safe */
|
|
180867
|
-
/* harmony export */ HalfEdgeGraph: () => (/* reexport safe */
|
|
180868
|
-
/* harmony export */ HalfEdgeMask: () => (/* reexport safe */
|
|
180869
|
-
/* harmony export */ IModelJson: () => (/* reexport safe */
|
|
180877
|
+
/* harmony export */ HalfEdge: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_125__.HalfEdge),
|
|
180878
|
+
/* harmony export */ HalfEdgeGraph: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_125__.HalfEdgeGraph),
|
|
180879
|
+
/* harmony export */ HalfEdgeMask: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_125__.HalfEdgeMask),
|
|
180880
|
+
/* harmony export */ IModelJson: () => (/* reexport safe */ _serialization_IModelJsonSchema__WEBPACK_IMPORTED_MODULE_128__.IModelJson),
|
|
180870
180881
|
/* harmony export */ ImplicitLineXY: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.ImplicitLineXY),
|
|
180871
180882
|
/* harmony export */ IndexedCollectionInterval: () => (/* reexport safe */ _geometry3d_IndexedCollectionInterval__WEBPACK_IMPORTED_MODULE_13__.IndexedCollectionInterval),
|
|
180872
180883
|
/* harmony export */ IndexedPolyface: () => (/* reexport safe */ _polyface_Polyface__WEBPACK_IMPORTED_MODULE_115__.IndexedPolyface),
|
|
@@ -180903,7 +180914,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180903
180914
|
/* harmony export */ NonConvexFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_116__.NonConvexFacetLocationDetail),
|
|
180904
180915
|
/* harmony export */ NullGeometryHandler: () => (/* reexport safe */ _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_8__.NullGeometryHandler),
|
|
180905
180916
|
/* harmony export */ NumberArray: () => (/* reexport safe */ _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_24__.NumberArray),
|
|
180906
|
-
/* harmony export */ OffsetMeshOptions: () => (/* reexport safe */
|
|
180917
|
+
/* harmony export */ OffsetMeshOptions: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_122__.OffsetMeshOptions),
|
|
180907
180918
|
/* harmony export */ OffsetOptions: () => (/* reexport safe */ _curve_OffsetOptions__WEBPACK_IMPORTED_MODULE_78__.OffsetOptions),
|
|
180908
180919
|
/* harmony export */ Order2Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order2Bezier),
|
|
180909
180920
|
/* harmony export */ Order3Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order3Bezier),
|
|
@@ -180931,10 +180942,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180931
180942
|
/* harmony export */ PointString3d: () => (/* reexport safe */ _curve_PointString3d__WEBPACK_IMPORTED_MODULE_83__.PointString3d),
|
|
180932
180943
|
/* harmony export */ Polyface: () => (/* reexport safe */ _polyface_Polyface__WEBPACK_IMPORTED_MODULE_115__.Polyface),
|
|
180933
180944
|
/* harmony export */ PolyfaceAuxData: () => (/* reexport safe */ _polyface_AuxData__WEBPACK_IMPORTED_MODULE_112__.PolyfaceAuxData),
|
|
180934
|
-
/* harmony export */ PolyfaceBuilder: () => (/* reexport safe */
|
|
180935
|
-
/* harmony export */ PolyfaceClip: () => (/* reexport safe */
|
|
180936
|
-
/* harmony export */ PolyfaceData: () => (/* reexport safe */
|
|
180937
|
-
/* harmony export */ PolyfaceQuery: () => (/* reexport safe */
|
|
180945
|
+
/* harmony export */ PolyfaceBuilder: () => (/* reexport safe */ _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_120__.PolyfaceBuilder),
|
|
180946
|
+
/* harmony export */ PolyfaceClip: () => (/* reexport safe */ _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_123__.PolyfaceClip),
|
|
180947
|
+
/* harmony export */ PolyfaceData: () => (/* reexport safe */ _polyface_PolyfaceData__WEBPACK_IMPORTED_MODULE_121__.PolyfaceData),
|
|
180948
|
+
/* harmony export */ PolyfaceQuery: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_122__.PolyfaceQuery),
|
|
180938
180949
|
/* harmony export */ PolygonLocation: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.PolygonLocation),
|
|
180939
180950
|
/* harmony export */ PolygonLocationDetail: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.PolygonLocationDetail),
|
|
180940
180951
|
/* harmony export */ PolygonOps: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.PolygonOps),
|
|
@@ -180957,25 +180968,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180957
180968
|
/* harmony export */ RegionOps: () => (/* reexport safe */ _curve_RegionOps__WEBPACK_IMPORTED_MODULE_82__.RegionOps),
|
|
180958
180969
|
/* harmony export */ RotationalSweep: () => (/* reexport safe */ _solid_RotationalSweep__WEBPACK_IMPORTED_MODULE_94__.RotationalSweep),
|
|
180959
180970
|
/* harmony export */ RuledSweep: () => (/* reexport safe */ _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_95__.RuledSweep),
|
|
180960
|
-
/* harmony export */ Sample: () => (/* reexport safe */
|
|
180971
|
+
/* harmony export */ Sample: () => (/* reexport safe */ _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_130__.Sample),
|
|
180961
180972
|
/* harmony export */ Segment1d: () => (/* reexport safe */ _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_31__.Segment1d),
|
|
180962
180973
|
/* harmony export */ SimpleNewton: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.SimpleNewton),
|
|
180963
180974
|
/* harmony export */ SineCosinePolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.SineCosinePolynomial),
|
|
180964
180975
|
/* harmony export */ SmallSystem: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.SmallSystem),
|
|
180965
180976
|
/* harmony export */ SmoothTransformBetweenFrusta: () => (/* reexport safe */ _geometry3d_FrustumAnimation__WEBPACK_IMPORTED_MODULE_7__.SmoothTransformBetweenFrusta),
|
|
180966
180977
|
/* harmony export */ SolidPrimitive: () => (/* reexport safe */ _solid_SolidPrimitive__WEBPACK_IMPORTED_MODULE_96__.SolidPrimitive),
|
|
180967
|
-
/* harmony export */ SpacePolygonTriangulation: () => (/* reexport safe */
|
|
180978
|
+
/* harmony export */ SpacePolygonTriangulation: () => (/* reexport safe */ _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_127__.SpacePolygonTriangulation),
|
|
180968
180979
|
/* harmony export */ Sphere: () => (/* reexport safe */ _solid_Sphere__WEBPACK_IMPORTED_MODULE_97__.Sphere),
|
|
180969
180980
|
/* harmony export */ SphereImplicit: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.SphereImplicit),
|
|
180970
180981
|
/* harmony export */ StandardViewIndex: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.StandardViewIndex),
|
|
180971
|
-
/* harmony export */ SteppedIndexFunctionFactory: () => (/* reexport safe */
|
|
180982
|
+
/* harmony export */ SteppedIndexFunctionFactory: () => (/* reexport safe */ _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_130__.SteppedIndexFunctionFactory),
|
|
180972
180983
|
/* harmony export */ StringifiedClipVector: () => (/* reexport safe */ _clipping_ClipVector__WEBPACK_IMPORTED_MODULE_43__.StringifiedClipVector),
|
|
180973
180984
|
/* harmony export */ StrokeCountMap: () => (/* reexport safe */ _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_90__.StrokeCountMap),
|
|
180974
180985
|
/* harmony export */ StrokeOptions: () => (/* reexport safe */ _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_85__.StrokeOptions),
|
|
180975
180986
|
/* harmony export */ SweepContour: () => (/* reexport safe */ _solid_SweepContour__WEBPACK_IMPORTED_MODULE_98__.SweepContour),
|
|
180976
|
-
/* harmony export */ SweepLineStringToFacetsOptions: () => (/* reexport safe */
|
|
180977
|
-
/* harmony export */ TaggedNumericConstants: () => (/* reexport safe */
|
|
180978
|
-
/* harmony export */ TaggedNumericData: () => (/* reexport safe */
|
|
180987
|
+
/* harmony export */ SweepLineStringToFacetsOptions: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_122__.SweepLineStringToFacetsOptions),
|
|
180988
|
+
/* harmony export */ TaggedNumericConstants: () => (/* reexport safe */ _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_124__.TaggedNumericConstants),
|
|
180989
|
+
/* harmony export */ TaggedNumericData: () => (/* reexport safe */ _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_124__.TaggedNumericData),
|
|
180979
180990
|
/* harmony export */ TorusImplicit: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.TorusImplicit),
|
|
180980
180991
|
/* harmony export */ TorusPipe: () => (/* reexport safe */ _solid_TorusPipe__WEBPACK_IMPORTED_MODULE_99__.TorusPipe),
|
|
180981
180992
|
/* harmony export */ Transform: () => (/* reexport safe */ _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_32__.Transform),
|
|
@@ -180983,7 +180994,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180983
180994
|
/* harmony export */ TriDiagonalSystem: () => (/* reexport safe */ _numerics_TriDiagonalSystem__WEBPACK_IMPORTED_MODULE_59__.TriDiagonalSystem),
|
|
180984
180995
|
/* harmony export */ TriangleLocationDetail: () => (/* reexport safe */ _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_3__.TriangleLocationDetail),
|
|
180985
180996
|
/* harmony export */ TriangularFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_116__.TriangularFacetLocationDetail),
|
|
180986
|
-
/* harmony export */ Triangulator: () => (/* reexport safe */
|
|
180997
|
+
/* harmony export */ Triangulator: () => (/* reexport safe */ _topology_Triangulation__WEBPACK_IMPORTED_MODULE_126__.Triangulator),
|
|
180987
180998
|
/* harmony export */ TrigPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.TrigPolynomial),
|
|
180988
180999
|
/* harmony export */ UVSelect: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_109__.UVSelect),
|
|
180989
181000
|
/* harmony export */ UVSurfaceOps: () => (/* reexport safe */ _geometry3d_UVSurfaceOps__WEBPACK_IMPORTED_MODULE_33__.UVSurfaceOps),
|
|
@@ -181119,18 +181130,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181119
181130
|
/* harmony import */ var _polyface_Polyface__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./polyface/Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
|
|
181120
181131
|
/* harmony import */ var _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./polyface/FacetLocationDetail */ "../../core/geometry/lib/esm/polyface/FacetLocationDetail.js");
|
|
181121
181132
|
/* harmony import */ var _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./polyface/IndexedPolyfaceVisitor */ "../../core/geometry/lib/esm/polyface/IndexedPolyfaceVisitor.js");
|
|
181122
|
-
/* harmony import */ var
|
|
181123
|
-
/* harmony import */ var
|
|
181124
|
-
/* harmony import */ var
|
|
181125
|
-
/* harmony import */ var
|
|
181126
|
-
/* harmony import */ var
|
|
181127
|
-
/* harmony import */ var
|
|
181128
|
-
/* harmony import */ var
|
|
181129
|
-
/* harmony import */ var
|
|
181130
|
-
/* harmony import */ var
|
|
181131
|
-
/* harmony import */ var
|
|
181132
|
-
/* harmony import */ var
|
|
181133
|
-
/* harmony import */ var
|
|
181133
|
+
/* harmony import */ var _polyface_multiclip_GriddedRaggedRange2dSet__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./polyface/multiclip/GriddedRaggedRange2dSet */ "../../core/geometry/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js");
|
|
181134
|
+
/* harmony import */ var _polyface_multiclip_GriddedRaggedRange2dSetWithOverflow__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./polyface/multiclip/GriddedRaggedRange2dSetWithOverflow */ "../../core/geometry/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js");
|
|
181135
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
181136
|
+
/* harmony import */ var _polyface_PolyfaceData__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./polyface/PolyfaceData */ "../../core/geometry/lib/esm/polyface/PolyfaceData.js");
|
|
181137
|
+
/* harmony import */ var _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./polyface/PolyfaceQuery */ "../../core/geometry/lib/esm/polyface/PolyfaceQuery.js");
|
|
181138
|
+
/* harmony import */ var _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./polyface/PolyfaceClip */ "../../core/geometry/lib/esm/polyface/PolyfaceClip.js");
|
|
181139
|
+
/* harmony import */ var _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./polyface/TaggedNumericData */ "../../core/geometry/lib/esm/polyface/TaggedNumericData.js");
|
|
181140
|
+
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
181141
|
+
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
181142
|
+
/* harmony import */ var _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./topology/SpaceTriangulation */ "../../core/geometry/lib/esm/topology/SpaceTriangulation.js");
|
|
181143
|
+
/* harmony import */ var _serialization_IModelJsonSchema__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./serialization/IModelJsonSchema */ "../../core/geometry/lib/esm/serialization/IModelJsonSchema.js");
|
|
181144
|
+
/* harmony import */ var _serialization_DeepCompare__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./serialization/DeepCompare */ "../../core/geometry/lib/esm/serialization/DeepCompare.js");
|
|
181145
|
+
/* harmony import */ var _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./serialization/GeometrySamples */ "../../core/geometry/lib/esm/serialization/GeometrySamples.js");
|
|
181146
|
+
/* harmony import */ var _serialization_BentleyGeometryFlatBuffer__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./serialization/BentleyGeometryFlatBuffer */ "../../core/geometry/lib/esm/serialization/BentleyGeometryFlatBuffer.js");
|
|
181134
181147
|
/*---------------------------------------------------------------------------------------------
|
|
181135
181148
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
181136
181149
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -181382,6 +181395,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181382
181395
|
|
|
181383
181396
|
|
|
181384
181397
|
|
|
181398
|
+
|
|
181399
|
+
|
|
181385
181400
|
|
|
181386
181401
|
|
|
181387
181402
|
|
|
@@ -214922,6 +214937,33 @@ class IndexedXYZCollectionPolygonOps {
|
|
|
214922
214937
|
work.clear();
|
|
214923
214938
|
return numCrossings;
|
|
214924
214939
|
}
|
|
214940
|
+
/** Return an array containing
|
|
214941
|
+
* * All points that are exactly on the plane.
|
|
214942
|
+
* * Crossing points between adjacent points that are (strictly) on opposite sides.
|
|
214943
|
+
*/
|
|
214944
|
+
static polygonPlaneCrossings(plane, xyz, crossings) {
|
|
214945
|
+
crossings.length = 0;
|
|
214946
|
+
if (xyz.length >= 2) {
|
|
214947
|
+
const xyz0 = this._xyz0Work;
|
|
214948
|
+
xyz.getPoint3dAtUncheckedPointIndex(xyz.length - 1, xyz0);
|
|
214949
|
+
let a0 = plane.altitude(xyz0);
|
|
214950
|
+
const xyz1 = this._xyz1Work;
|
|
214951
|
+
for (let i = 0; i < xyz.length; i++) {
|
|
214952
|
+
xyz.getPoint3dAtUncheckedPointIndex(i, xyz1);
|
|
214953
|
+
const a1 = plane.altitude(xyz1);
|
|
214954
|
+
if (a0 * a1 < 0.0) {
|
|
214955
|
+
// simple crossing. . .
|
|
214956
|
+
const f = -a0 / (a1 - a0);
|
|
214957
|
+
crossings.push(xyz0.interpolate(f, xyz1));
|
|
214958
|
+
}
|
|
214959
|
+
if (a1 === 0.0) { // IMPORTANT -- every point is directly tested here
|
|
214960
|
+
crossings.push(xyz1.clone());
|
|
214961
|
+
}
|
|
214962
|
+
xyz0.setFromPoint3d(xyz1);
|
|
214963
|
+
a0 = a1;
|
|
214964
|
+
}
|
|
214965
|
+
}
|
|
214966
|
+
}
|
|
214925
214967
|
/**
|
|
214926
214968
|
* * Input a "clipped" polygon (from clipConvexPolygonInPlace) with more than 2 crossings, i.e. is from a non-convex polygon with configurations like:
|
|
214927
214969
|
* * multiple distinct polygons
|
|
@@ -215061,25 +215103,8 @@ class Point3dArrayPolygonOps {
|
|
|
215061
215103
|
* * Crossing points between adjacent points that are (strictly) on opposite sides.
|
|
215062
215104
|
*/
|
|
215063
215105
|
static polygonPlaneCrossings(plane, xyz, crossings) {
|
|
215064
|
-
|
|
215065
|
-
|
|
215066
|
-
const xyz0 = this._xyz0Work;
|
|
215067
|
-
xyz0.setFromPoint3d(xyz[xyz.length - 1]);
|
|
215068
|
-
let a0 = plane.altitude(xyz0);
|
|
215069
|
-
for (const xyz1 of xyz) {
|
|
215070
|
-
const a1 = plane.altitude(xyz1);
|
|
215071
|
-
if (a0 * a1 < 0.0) {
|
|
215072
|
-
// simple crossing. . .
|
|
215073
|
-
const f = -a0 / (a1 - a0);
|
|
215074
|
-
crossings.push(xyz0.interpolate(f, xyz1));
|
|
215075
|
-
}
|
|
215076
|
-
if (a1 === 0.0) { // IMPORTANT -- every point is directly tested here
|
|
215077
|
-
crossings.push(xyz1.clone());
|
|
215078
|
-
}
|
|
215079
|
-
xyz0.setFromPoint3d(xyz1);
|
|
215080
|
-
a0 = a1;
|
|
215081
|
-
}
|
|
215082
|
-
}
|
|
215106
|
+
const xyzSource = new _Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_4__.Point3dArrayCarrier(xyz);
|
|
215107
|
+
return IndexedXYZCollectionPolygonOps.polygonPlaneCrossings(plane, xyzSource, crossings);
|
|
215083
215108
|
}
|
|
215084
215109
|
/**
|
|
215085
215110
|
* Clip a polygon, returning the clip result in the same object.
|
|
@@ -232986,32 +233011,33 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
232986
233011
|
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
232987
233012
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
232988
233013
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
232989
|
-
/* harmony import */ var
|
|
233014
|
+
/* harmony import */ var _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../geometry3d/BarycentricTriangle */ "../../core/geometry/lib/esm/geometry3d/BarycentricTriangle.js");
|
|
232990
233015
|
/* harmony import */ var _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../geometry3d/FrameBuilder */ "../../core/geometry/lib/esm/geometry3d/FrameBuilder.js");
|
|
233016
|
+
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
232991
233017
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
232992
233018
|
/* harmony import */ var _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../geometry3d/PointHelpers */ "../../core/geometry/lib/esm/geometry3d/PointHelpers.js");
|
|
232993
233019
|
/* harmony import */ var _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/PolygonOps */ "../../core/geometry/lib/esm/geometry3d/PolygonOps.js");
|
|
232994
|
-
/* harmony import */ var
|
|
233020
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
232995
233021
|
/* harmony import */ var _geometry4d_Matrix4d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../geometry4d/Matrix4d */ "../../core/geometry/lib/esm/geometry4d/Matrix4d.js");
|
|
232996
233022
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
232997
233023
|
/* harmony import */ var _numerics_UnionFind__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../numerics/UnionFind */ "../../core/geometry/lib/esm/numerics/UnionFind.js");
|
|
232998
233024
|
/* harmony import */ var _topology_ChainMerge__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../topology/ChainMerge */ "../../core/geometry/lib/esm/topology/ChainMerge.js");
|
|
232999
233025
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
233000
|
-
/* harmony import */ var
|
|
233026
|
+
/* harmony import */ var _topology_HalfEdgeGraphFromIndexedLoopsContext__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../topology/HalfEdgeGraphFromIndexedLoopsContext */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js");
|
|
233001
233027
|
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
233002
233028
|
/* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
|
|
233003
233029
|
/* harmony import */ var _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../topology/SpaceTriangulation */ "../../core/geometry/lib/esm/topology/SpaceTriangulation.js");
|
|
233004
|
-
/* harmony import */ var
|
|
233005
|
-
/* harmony import */ var
|
|
233030
|
+
/* harmony import */ var _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./FacetLocationDetail */ "../../core/geometry/lib/esm/polyface/FacetLocationDetail.js");
|
|
233031
|
+
/* harmony import */ var _FacetOrientation__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./FacetOrientation */ "../../core/geometry/lib/esm/polyface/FacetOrientation.js");
|
|
233006
233032
|
/* harmony import */ var _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./IndexedEdgeMatcher */ "../../core/geometry/lib/esm/polyface/IndexedEdgeMatcher.js");
|
|
233007
233033
|
/* harmony import */ var _IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./IndexedPolyfaceVisitor */ "../../core/geometry/lib/esm/polyface/IndexedPolyfaceVisitor.js");
|
|
233008
|
-
/* harmony import */ var
|
|
233009
|
-
/* harmony import */ var
|
|
233034
|
+
/* harmony import */ var _multiclip_BuildAverageNormalsContext__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./multiclip/BuildAverageNormalsContext */ "../../core/geometry/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js");
|
|
233035
|
+
/* harmony import */ var _multiclip_OffsetMeshContext__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./multiclip/OffsetMeshContext */ "../../core/geometry/lib/esm/polyface/multiclip/OffsetMeshContext.js");
|
|
233010
233036
|
/* harmony import */ var _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./multiclip/SweepLineStringToFacetContext */ "../../core/geometry/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js");
|
|
233011
|
-
/* harmony import */ var
|
|
233037
|
+
/* harmony import */ var _multiclip_XYPointBuckets__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./multiclip/XYPointBuckets */ "../../core/geometry/lib/esm/polyface/multiclip/XYPointBuckets.js");
|
|
233012
233038
|
/* harmony import */ var _Polyface__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
|
|
233013
233039
|
/* harmony import */ var _PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
233014
|
-
/* harmony import */ var
|
|
233040
|
+
/* harmony import */ var _RangeLengthData__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./RangeLengthData */ "../../core/geometry/lib/esm/polyface/RangeLengthData.js");
|
|
233015
233041
|
/*---------------------------------------------------------------------------------------------
|
|
233016
233042
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
233017
233043
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -233053,6 +233079,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
233053
233079
|
|
|
233054
233080
|
|
|
233055
233081
|
|
|
233082
|
+
|
|
233056
233083
|
|
|
233057
233084
|
|
|
233058
233085
|
/**
|
|
@@ -233893,13 +233920,13 @@ class PolyfaceQuery {
|
|
|
233893
233920
|
matcher.sortAndCollectClusters(allEdges, allEdges, allEdges, allEdges);
|
|
233894
233921
|
return this.partitionFacetIndicesBySortableEdgeClusters(allEdges, numFacets);
|
|
233895
233922
|
}
|
|
233896
|
-
/** Find segments (within the
|
|
233897
|
-
* * Assemble each segment
|
|
233898
|
-
* *
|
|
233923
|
+
/** Find segments (within the line string) which project to facets.
|
|
233924
|
+
* * Assemble each input segment paired with its projected segment/point as a quad/triangle facet in a new polyface.
|
|
233925
|
+
* * Input facets are ASSUMED to be convex and planar, and not overlap in the z direction.
|
|
233899
233926
|
*/
|
|
233900
|
-
static sweepLineStringToFacetsXYReturnSweptFacets(
|
|
233927
|
+
static sweepLineStringToFacetsXYReturnSweptFacets(lineStringPoints, polyface) {
|
|
233901
233928
|
const builder = _PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_16__.PolyfaceBuilder.create();
|
|
233902
|
-
this.announceSweepLinestringToConvexPolyfaceXY(
|
|
233929
|
+
this.announceSweepLinestringToConvexPolyfaceXY(lineStringPoints, polyface, (_linestring, _segmentIndex, _polyface, _facetIndex, points) => {
|
|
233903
233930
|
if (points.length === 4)
|
|
233904
233931
|
builder.addQuadFacet(points);
|
|
233905
233932
|
else if (points.length === 3)
|
|
@@ -233912,13 +233939,13 @@ class PolyfaceQuery {
|
|
|
233912
233939
|
return this.sweepLineStringToFacetsXYReturnSweptFacets(linestringPoints, polyface);
|
|
233913
233940
|
}
|
|
233914
233941
|
/**
|
|
233915
|
-
*
|
|
233942
|
+
* Sweep the line string to intersections with a mesh.
|
|
233916
233943
|
* * Return collected line segments.
|
|
233917
233944
|
* * If no options are given, the default sweep direction is the z-axis, and chains are assembled and returned.
|
|
233918
233945
|
* * See [[SweepLineStringToFacetsOptions]] for input and output options, including filtering by forward/side/rear facets.
|
|
233919
233946
|
* * Facets are ASSUMED to be convex and planar, and not overlap in the sweep direction.
|
|
233920
233947
|
*/
|
|
233921
|
-
static sweepLineStringToFacets(linestringPoints,
|
|
233948
|
+
static sweepLineStringToFacets(linestringPoints, polyfaceOrVisitor, options) {
|
|
233922
233949
|
let result = [];
|
|
233923
233950
|
// setup default options:
|
|
233924
233951
|
if (options === undefined)
|
|
@@ -233930,7 +233957,11 @@ class PolyfaceQuery {
|
|
|
233930
233957
|
chainContext = _topology_ChainMerge__WEBPACK_IMPORTED_MODULE_25__.ChainMergeContext.create();
|
|
233931
233958
|
const context = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_12__.ClipSweptLineStringContext.create(linestringPoints, options.vectorToEye);
|
|
233932
233959
|
if (context) {
|
|
233933
|
-
|
|
233960
|
+
let visitor;
|
|
233961
|
+
if (polyfaceOrVisitor instanceof _Polyface__WEBPACK_IMPORTED_MODULE_6__.Polyface)
|
|
233962
|
+
visitor = polyfaceOrVisitor.createVisitor(0);
|
|
233963
|
+
else
|
|
233964
|
+
visitor = polyfaceOrVisitor;
|
|
233934
233965
|
const workNormal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Vector3d.createZero();
|
|
233935
233966
|
for (visitor.reset(); visitor.moveToNextFacet();) {
|
|
233936
233967
|
if (options.collectFromThisFacetNormal(_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.PolygonOps.areaNormalGo(visitor.point, workNormal))) {
|
|
@@ -233949,6 +233980,54 @@ class PolyfaceQuery {
|
|
|
233949
233980
|
}
|
|
233950
233981
|
return result;
|
|
233951
233982
|
}
|
|
233983
|
+
/**
|
|
233984
|
+
* Sweep the line string in the z-direction to intersections with a mesh, using a search object for speedup.
|
|
233985
|
+
* @param lineStringPoints input line string to drape on the mesh
|
|
233986
|
+
* @param polyfaceOrVisitor mesh, or mesh visitor to traverse only part of a mesh
|
|
233987
|
+
* @param searchByReadIndex object for searching facet 2D ranges tagged by mesh read index
|
|
233988
|
+
* @example Using a 5x5 indexed search grid:
|
|
233989
|
+
* ```
|
|
233990
|
+
* const xyRange = Range2d.createFrom(myPolyface.range());
|
|
233991
|
+
* const searcher = GriddedRaggedRange2dSetWithOverflow.create<number>(xyRange, 5, 5)!;
|
|
233992
|
+
* for (const visitor = myPolyface.createVisitor(0); visitor.moveToNextFacet();) {
|
|
233993
|
+
* searcher.addRange(visitor.point.getRange(), visitor.currentReadIndex());
|
|
233994
|
+
* }
|
|
233995
|
+
* const drapedLineStrings = PolyfaceQuery.sweepLineStringToFacetsXY(lineString, myPolyface, searcher);
|
|
233996
|
+
* ```
|
|
233997
|
+
* @returns collected line strings
|
|
233998
|
+
*/
|
|
233999
|
+
static sweepLineStringToFacetsXY(lineStringPoints, polyfaceOrVisitor, searchByReadIndex) {
|
|
234000
|
+
const chainContext = _topology_ChainMerge__WEBPACK_IMPORTED_MODULE_25__.ChainMergeContext.create();
|
|
234001
|
+
const sweepVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(0, 0, 1);
|
|
234002
|
+
const searchRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__.Range3d.create();
|
|
234003
|
+
let visitor;
|
|
234004
|
+
if (polyfaceOrVisitor instanceof _Polyface__WEBPACK_IMPORTED_MODULE_6__.Polyface)
|
|
234005
|
+
visitor = polyfaceOrVisitor.createVisitor(0);
|
|
234006
|
+
else
|
|
234007
|
+
visitor = polyfaceOrVisitor;
|
|
234008
|
+
let lineStringSource;
|
|
234009
|
+
if (Array.isArray(lineStringPoints))
|
|
234010
|
+
lineStringSource = new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__.Point3dArrayCarrier(lineStringPoints);
|
|
234011
|
+
else
|
|
234012
|
+
lineStringSource = lineStringPoints;
|
|
234013
|
+
for (let i = 1; i < lineStringSource.length; i++) {
|
|
234014
|
+
const point0 = lineStringSource.getPoint3dAtUncheckedPointIndex(i - 1);
|
|
234015
|
+
const point1 = lineStringSource.getPoint3dAtUncheckedPointIndex(i);
|
|
234016
|
+
const edgeClipper = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_12__.EdgeClipData.createPointPointSweep(point0, point1, sweepVector);
|
|
234017
|
+
if (edgeClipper !== undefined) {
|
|
234018
|
+
_geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__.Range3d.createNull(searchRange);
|
|
234019
|
+
searchRange.extendPoint(point0);
|
|
234020
|
+
searchRange.extendPoint(point1);
|
|
234021
|
+
searchByReadIndex.searchRange2d(searchRange, (_facetRange, readIndex) => {
|
|
234022
|
+
if (visitor.moveToReadIndex(readIndex))
|
|
234023
|
+
edgeClipper.processPolygon(visitor.point, (pointA, pointB) => chainContext.addSegment(pointA, pointB));
|
|
234024
|
+
return true;
|
|
234025
|
+
});
|
|
234026
|
+
}
|
|
234027
|
+
}
|
|
234028
|
+
chainContext.clusterAndMergeVerticesXYZ();
|
|
234029
|
+
return chainContext.collectMaximalChains();
|
|
234030
|
+
}
|
|
233952
234031
|
/** Find segments (within the linestring) which project to facets.
|
|
233953
234032
|
* * Return collected line segments.
|
|
233954
234033
|
* * This calls [[sweepLineStringToFacets]] with options created by
|
|
@@ -233995,7 +234074,7 @@ class PolyfaceQuery {
|
|
|
233995
234074
|
if (polyface instanceof _Polyface__WEBPACK_IMPORTED_MODULE_6__.Polyface) {
|
|
233996
234075
|
return this.collectRangeLengthData(polyface.createVisitor(0));
|
|
233997
234076
|
}
|
|
233998
|
-
const rangeData = new
|
|
234077
|
+
const rangeData = new _RangeLengthData__WEBPACK_IMPORTED_MODULE_28__.RangeLengthData();
|
|
233999
234078
|
// polyface is a visitor ...
|
|
234000
234079
|
for (polyface.reset(); polyface.moveToNextFacet();)
|
|
234001
234080
|
rangeData.accumulateGrowableXYZArrayRange(polyface.point);
|
|
@@ -234007,9 +234086,9 @@ class PolyfaceQuery {
|
|
|
234007
234086
|
static cloneWithTVertexFixup(polyface) {
|
|
234008
234087
|
const oldFacetVisitor = polyface.createVisitor(1); // This is to visit the existing facets.
|
|
234009
234088
|
const newFacetVisitor = polyface.createVisitor(0); // This is to build the new facets.
|
|
234010
|
-
const rangeSearcher =
|
|
234089
|
+
const rangeSearcher = _multiclip_XYPointBuckets__WEBPACK_IMPORTED_MODULE_29__.XYPointBuckets.create(polyface.data.point, 30);
|
|
234011
234090
|
const builder = _PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_16__.PolyfaceBuilder.create();
|
|
234012
|
-
const edgeRange =
|
|
234091
|
+
const edgeRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__.Range3d.createNull();
|
|
234013
234092
|
const point0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
234014
234093
|
const point1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
234015
234094
|
const spacePoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
@@ -234374,7 +234453,7 @@ class PolyfaceQuery {
|
|
|
234374
234453
|
* @internal
|
|
234375
234454
|
*/
|
|
234376
234455
|
static convertToHalfEdgeGraph(mesh) {
|
|
234377
|
-
const builder = new
|
|
234456
|
+
const builder = new _topology_HalfEdgeGraphFromIndexedLoopsContext__WEBPACK_IMPORTED_MODULE_30__.HalfEdgeGraphFromIndexedLoopsContext();
|
|
234378
234457
|
const visitor = mesh.createVisitor(0);
|
|
234379
234458
|
for (visitor.reset(); visitor.moveToNextFacet();) {
|
|
234380
234459
|
builder.insertLoop(visitor.pointIndex);
|
|
@@ -234395,14 +234474,14 @@ class PolyfaceQuery {
|
|
|
234395
234474
|
* @param mesh
|
|
234396
234475
|
*/
|
|
234397
234476
|
static reorientVertexOrderAroundFacetsForConsistentOrientation(mesh) {
|
|
234398
|
-
return
|
|
234477
|
+
return _FacetOrientation__WEBPACK_IMPORTED_MODULE_31__.FacetOrientationFixup.doFixup(mesh);
|
|
234399
234478
|
}
|
|
234400
234479
|
/**
|
|
234401
234480
|
* Set up indexed normals with one normal in the plane of each facet of the mesh.
|
|
234402
234481
|
* @param polyface
|
|
234403
234482
|
*/
|
|
234404
234483
|
static buildPerFaceNormals(polyface) {
|
|
234405
|
-
|
|
234484
|
+
_multiclip_BuildAverageNormalsContext__WEBPACK_IMPORTED_MODULE_32__.BuildAverageNormalsContext.buildPerFaceNormals(polyface);
|
|
234406
234485
|
}
|
|
234407
234486
|
/**
|
|
234408
234487
|
* * At each vertex of the mesh
|
|
@@ -234415,7 +234494,7 @@ class PolyfaceQuery {
|
|
|
234415
234494
|
* @param toleranceAngle averaging is done between normals up to this angle.
|
|
234416
234495
|
*/
|
|
234417
234496
|
static buildAverageNormals(polyface, toleranceAngle = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_1__.Angle.createDegrees(31.0)) {
|
|
234418
|
-
|
|
234497
|
+
_multiclip_BuildAverageNormalsContext__WEBPACK_IMPORTED_MODULE_32__.BuildAverageNormalsContext.buildFastAverageNormals(polyface, toleranceAngle);
|
|
234419
234498
|
}
|
|
234420
234499
|
/**
|
|
234421
234500
|
* Offset the faces of the mesh.
|
|
@@ -234427,7 +234506,7 @@ class PolyfaceQuery {
|
|
|
234427
234506
|
static cloneOffset(source, signedOffsetDistance, offsetOptions = OffsetMeshOptions.create()) {
|
|
234428
234507
|
const strokeOptions = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_24__.StrokeOptions.createForFacets();
|
|
234429
234508
|
const offsetBuilder = _PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_16__.PolyfaceBuilder.create(strokeOptions);
|
|
234430
|
-
|
|
234509
|
+
_multiclip_OffsetMeshContext__WEBPACK_IMPORTED_MODULE_33__.OffsetMeshContext.buildOffsetMeshWithEdgeChamfers(source, offsetBuilder, signedOffsetDistance, offsetOptions);
|
|
234431
234510
|
return offsetBuilder.claimPolyface();
|
|
234432
234511
|
}
|
|
234433
234512
|
/** Search facets for the first one that intersects the infinite line.
|
|
@@ -234451,17 +234530,17 @@ class PolyfaceQuery {
|
|
|
234451
234530
|
const numEdges = visitor.pointCount; // #vertices = #edges since numWrap is zero
|
|
234452
234531
|
const vertices = visitor.point;
|
|
234453
234532
|
if (3 === numEdges) {
|
|
234454
|
-
const tri = this._workTriangle =
|
|
234533
|
+
const tri = this._workTriangle = _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_34__.BarycentricTriangle.create(vertices.getPoint3dAtUncheckedPointIndex(0), vertices.getPoint3dAtUncheckedPointIndex(1), vertices.getPoint3dAtUncheckedPointIndex(2), this._workTriangle);
|
|
234455
234534
|
const detail3 = this._workTriDetail = tri.intersectRay3d(ray, this._workTriDetail);
|
|
234456
234535
|
tri.snapLocationToEdge(detail3, options?.distanceTolerance, options?.parameterTolerance);
|
|
234457
|
-
detail = this._workFacetDetail3 =
|
|
234536
|
+
detail = this._workFacetDetail3 = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_35__.TriangularFacetLocationDetail.create(visitor.currentReadIndex(), detail3, this._workFacetDetail3);
|
|
234458
234537
|
}
|
|
234459
234538
|
else {
|
|
234460
234539
|
const detailN = this._workPolyDetail = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.PolygonOps.intersectRay3d(vertices, ray, options?.distanceTolerance, this._workPolyDetail);
|
|
234461
234540
|
if (_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.PolygonOps.isConvex(vertices))
|
|
234462
|
-
detail = this._workFacetDetailC =
|
|
234541
|
+
detail = this._workFacetDetailC = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_35__.ConvexFacetLocationDetail.create(visitor.currentReadIndex(), numEdges, detailN, this._workFacetDetailC);
|
|
234463
234542
|
else
|
|
234464
|
-
detail = this._workFacetDetailNC =
|
|
234543
|
+
detail = this._workFacetDetailNC = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_35__.NonConvexFacetLocationDetail.create(visitor.currentReadIndex(), numEdges, detailN, this._workFacetDetailNC);
|
|
234465
234544
|
}
|
|
234466
234545
|
if (detail.isInsideOrOn) { // set optional caches, process the intersection
|
|
234467
234546
|
if (options?.needNormal && visitor.normal)
|
|
@@ -235044,6 +235123,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
235044
235123
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
235045
235124
|
/* harmony export */ GriddedRaggedRange2dSet: () => (/* binding */ GriddedRaggedRange2dSet)
|
|
235046
235125
|
/* harmony export */ });
|
|
235126
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
235047
235127
|
/* harmony import */ var _LinearSearchRange2dArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LinearSearchRange2dArray */ "../../core/geometry/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js");
|
|
235048
235128
|
/*---------------------------------------------------------------------------------------------
|
|
235049
235129
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -235053,14 +235133,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
235053
235133
|
* @module RangeSearch
|
|
235054
235134
|
*/
|
|
235055
235135
|
|
|
235136
|
+
|
|
235056
235137
|
/**
|
|
235057
|
-
* A GriddedRaggedRange2dSet is
|
|
235058
|
-
* * A doubly dimensioned array of
|
|
235059
|
-
* * Each entry represents a block in a uniform grid within the master range
|
|
235138
|
+
* A GriddedRaggedRange2dSet is:
|
|
235139
|
+
* * A doubly dimensioned array of Range2dSearchInterface.
|
|
235140
|
+
* * Each entry represents a block in a uniform grid within the master range.
|
|
235060
235141
|
* * Member ranges are noted in the grid block containing the range's lower left corner.
|
|
235061
235142
|
* * Member ranges larger than twice the grid size are rejected by the insert method.
|
|
235062
235143
|
* * Hence a search involving a point in grid block (i,j) must examine ranges in grid blocks left and below, i.e. (i-1,j-1), (i-1,j), (i,j-1)
|
|
235063
|
-
* @
|
|
235144
|
+
* @public
|
|
235064
235145
|
*/
|
|
235065
235146
|
class GriddedRaggedRange2dSet {
|
|
235066
235147
|
constructor(range, numXEdge, numYEdge) {
|
|
@@ -235078,9 +235159,9 @@ class GriddedRaggedRange2dSet {
|
|
|
235078
235159
|
}
|
|
235079
235160
|
/**
|
|
235080
235161
|
* Create an (empty) set of ranges.
|
|
235081
|
-
* @param range
|
|
235082
|
-
* @param numXEdge
|
|
235083
|
-
* @param numYEdge
|
|
235162
|
+
* @param range master range
|
|
235163
|
+
* @param numXEdge size of grid in x direction
|
|
235164
|
+
* @param numYEdge size of grid in y direction
|
|
235084
235165
|
*/
|
|
235085
235166
|
static create(range, numXEdge, numYEdge) {
|
|
235086
235167
|
if (numXEdge < 1 || numYEdge < 1 || range.isNull || range.isSinglePoint)
|
|
@@ -235104,13 +235185,13 @@ class GriddedRaggedRange2dSet {
|
|
|
235104
235185
|
return undefined;
|
|
235105
235186
|
}
|
|
235106
235187
|
/** If possible, insert a range into the set.
|
|
235107
|
-
* * Decline to insert (and return false) if
|
|
235108
|
-
*
|
|
235109
|
-
*
|
|
235110
|
-
*
|
|
235188
|
+
* * Decline to insert (and return false) if:
|
|
235189
|
+
* * range is null
|
|
235190
|
+
* * range is not completely contained in the overall range of this set
|
|
235191
|
+
* * range x or y extent is larger than 2 grid blocks
|
|
235111
235192
|
*/
|
|
235112
235193
|
conditionalInsert(range, tag) {
|
|
235113
|
-
if (
|
|
235194
|
+
if (_geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range2d.isNull(range))
|
|
235114
235195
|
return false;
|
|
235115
235196
|
if (!this._range.containsRange(range))
|
|
235116
235197
|
return false;
|
|
@@ -235129,6 +235210,10 @@ class GriddedRaggedRange2dSet {
|
|
|
235129
235210
|
}
|
|
235130
235211
|
return false;
|
|
235131
235212
|
}
|
|
235213
|
+
/** Add a range to the search set. */
|
|
235214
|
+
addRange(range, tag) {
|
|
235215
|
+
this.conditionalInsert(range, tag);
|
|
235216
|
+
}
|
|
235132
235217
|
/**
|
|
235133
235218
|
* * Search a single block
|
|
235134
235219
|
* * Pass each range and tag to handler
|
|
@@ -235194,6 +235279,19 @@ class GriddedRaggedRange2dSet {
|
|
|
235194
235279
|
}
|
|
235195
235280
|
return true;
|
|
235196
235281
|
}
|
|
235282
|
+
/** Return the overall range of all members. */
|
|
235283
|
+
totalRange(result) {
|
|
235284
|
+
if (result)
|
|
235285
|
+
result.setNull();
|
|
235286
|
+
else
|
|
235287
|
+
result = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range2d.createNull();
|
|
235288
|
+
this.visitChildren(0, (_depth, child) => {
|
|
235289
|
+
const childRange = GriddedRaggedRange2dSet._workRange = child.totalRange(GriddedRaggedRange2dSet._workRange);
|
|
235290
|
+
result.extendRange(childRange);
|
|
235291
|
+
});
|
|
235292
|
+
return result;
|
|
235293
|
+
}
|
|
235294
|
+
/** Call the handler on each defined block in the grid. */
|
|
235197
235295
|
visitChildren(initialDepth, handler) {
|
|
235198
235296
|
for (const row of this._rangesInBlock) {
|
|
235199
235297
|
for (const block of row) {
|
|
@@ -235218,6 +235316,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
235218
235316
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
235219
235317
|
/* harmony export */ GriddedRaggedRange2dSetWithOverflow: () => (/* binding */ GriddedRaggedRange2dSetWithOverflow)
|
|
235220
235318
|
/* harmony export */ });
|
|
235319
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
235221
235320
|
/* harmony import */ var _GriddedRaggedRange2dSet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GriddedRaggedRange2dSet */ "../../core/geometry/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js");
|
|
235222
235321
|
/* harmony import */ var _LinearSearchRange2dArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LinearSearchRange2dArray */ "../../core/geometry/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js");
|
|
235223
235322
|
/*---------------------------------------------------------------------------------------------
|
|
@@ -235229,13 +235328,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
235229
235328
|
*/
|
|
235230
235329
|
|
|
235231
235330
|
|
|
235331
|
+
|
|
235232
235332
|
/**
|
|
235233
|
-
* Use GriddedRaggedRange2dSetWithOverflow for searching among many ranges for which
|
|
235333
|
+
* Use GriddedRaggedRange2dSetWithOverflow for searching among many ranges for which:
|
|
235234
235334
|
* * Most ranges are of somewhat consistent size.
|
|
235235
235335
|
* * A modest number of oversizes.
|
|
235236
235336
|
* * Maintain the smallish ones in a GriddedRaggedRange2dSet.
|
|
235237
|
-
* * Maintain the overflows in a
|
|
235238
|
-
* @
|
|
235337
|
+
* * Maintain the overflows in a Range2dSearchInterface.
|
|
235338
|
+
* @public
|
|
235239
235339
|
*/
|
|
235240
235340
|
class GriddedRaggedRange2dSetWithOverflow {
|
|
235241
235341
|
constructor(gridSet, overflowSet) {
|
|
@@ -235283,11 +235383,24 @@ class GriddedRaggedRange2dSetWithOverflow {
|
|
|
235283
235383
|
* * range x or y extent is larger than 2 grid blocks.
|
|
235284
235384
|
*/
|
|
235285
235385
|
addRange(range, tag) {
|
|
235286
|
-
if (!
|
|
235386
|
+
if (!_geometry3d_Range__WEBPACK_IMPORTED_MODULE_2__.Range2d.isNull(range)) {
|
|
235287
235387
|
if (!this._gridSet.conditionalInsert(range, tag))
|
|
235288
235388
|
this._overflowSet.addRange(range, tag);
|
|
235289
235389
|
}
|
|
235290
235390
|
}
|
|
235391
|
+
/** Return the overall range of all members. */
|
|
235392
|
+
totalRange(result) {
|
|
235393
|
+
if (result)
|
|
235394
|
+
result.setNull();
|
|
235395
|
+
else
|
|
235396
|
+
result = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_2__.Range2d.createNull();
|
|
235397
|
+
this.visitChildren(0, (_depth, child) => {
|
|
235398
|
+
const childRange = GriddedRaggedRange2dSetWithOverflow._workRange = child.totalRange(GriddedRaggedRange2dSetWithOverflow._workRange);
|
|
235399
|
+
result.extendRange(childRange);
|
|
235400
|
+
});
|
|
235401
|
+
return result;
|
|
235402
|
+
}
|
|
235403
|
+
/** Call the handler on the overflow set, and on each defined block in the grid. */
|
|
235291
235404
|
visitChildren(initialDepth, handler) {
|
|
235292
235405
|
handler(initialDepth, this._overflowSet);
|
|
235293
235406
|
this._gridSet.visitChildren(initialDepth + 1, handler);
|
|
@@ -235318,11 +235431,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
235318
235431
|
*/
|
|
235319
235432
|
|
|
235320
235433
|
/**
|
|
235321
|
-
*
|
|
235322
|
-
* *
|
|
235434
|
+
* An array of decorated Range2d.
|
|
235435
|
+
* * User data is attached to each range via `(myRange as any).tag = myTag`.
|
|
235323
235436
|
* * Search operations are simple linear.
|
|
235324
235437
|
* * This class can be used directly for "smallish" range sets, or as the leaf level of hierarchical structures for larger range sets.
|
|
235325
|
-
* *
|
|
235326
235438
|
* @internal
|
|
235327
235439
|
*/
|
|
235328
235440
|
class LinearSearchRange2dArray {
|
|
@@ -235335,9 +235447,8 @@ class LinearSearchRange2dArray {
|
|
|
235335
235447
|
updateForSearch() {
|
|
235336
235448
|
this._isDirty = false;
|
|
235337
235449
|
}
|
|
235338
|
-
/** Return the overall range of all
|
|
235450
|
+
/** Return the overall range of all members. */
|
|
235339
235451
|
totalRange(result) {
|
|
235340
|
-
result = result ? result : _geometry3d_Range__WEBPACK_IMPORTED_MODULE_0__.Range2d.createNull();
|
|
235341
235452
|
return this._compositeRange.clone(result);
|
|
235342
235453
|
}
|
|
235343
235454
|
/** Add a range to the search set. */
|
|
@@ -236528,6 +236639,7 @@ RangeSearch.defaultStandardDeviationAdjustment = 1.0;
|
|
|
236528
236639
|
__webpack_require__.r(__webpack_exports__);
|
|
236529
236640
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
236530
236641
|
/* harmony export */ ClipSweptLineStringContext: () => (/* binding */ ClipSweptLineStringContext),
|
|
236642
|
+
/* harmony export */ EdgeClipData: () => (/* binding */ EdgeClipData),
|
|
236531
236643
|
/* harmony export */ SweepLineStringToFacetContext: () => (/* binding */ SweepLineStringToFacetContext)
|
|
236532
236644
|
/* harmony export */ });
|
|
236533
236645
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
@@ -236538,6 +236650,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
236538
236650
|
/* harmony import */ var _clipping_ClipPlane__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../clipping/ClipPlane */ "../../core/geometry/lib/esm/clipping/ClipPlane.js");
|
|
236539
236651
|
/* harmony import */ var _clipping_ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../clipping/ConvexClipPlaneSet */ "../../core/geometry/lib/esm/clipping/ConvexClipPlaneSet.js");
|
|
236540
236652
|
/* harmony import */ var _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/PolygonOps */ "../../core/geometry/lib/esm/geometry3d/PolygonOps.js");
|
|
236653
|
+
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
236541
236654
|
/*---------------------------------------------------------------------------------------------
|
|
236542
236655
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
236543
236656
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -236553,6 +236666,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
236553
236666
|
|
|
236554
236667
|
|
|
236555
236668
|
|
|
236669
|
+
|
|
236556
236670
|
class SweepLineStringToFacetContext {
|
|
236557
236671
|
constructor(spacePoints) {
|
|
236558
236672
|
// temporaries reused over multiple calls to process a single facet . ..
|
|
@@ -236658,10 +236772,13 @@ class EdgeClipData {
|
|
|
236658
236772
|
}
|
|
236659
236773
|
return undefined;
|
|
236660
236774
|
}
|
|
236775
|
+
/** Intersect this edge plane with the given convex polygon and announce the intersection segment to the callback. */
|
|
236661
236776
|
processPolygon(polygon, announceEdge) {
|
|
236662
236777
|
this._crossingPoints.length = 0;
|
|
236663
|
-
|
|
236664
|
-
|
|
236778
|
+
if (Array.isArray(polygon))
|
|
236779
|
+
_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.Point3dArrayPolygonOps.polygonPlaneCrossings(this.edgePlane, polygon, this._crossingPoints);
|
|
236780
|
+
else
|
|
236781
|
+
_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.IndexedXYZCollectionPolygonOps.polygonPlaneCrossings(this.edgePlane, polygon, this._crossingPoints);
|
|
236665
236782
|
if (this._crossingPoints.length === 2) {
|
|
236666
236783
|
// use the end planes to clip the [0,1] swept edge to [f0,f1]
|
|
236667
236784
|
this.clip.announceClippedSegmentIntervals(0, 1, this._crossingPoints[0], this._crossingPoints[1], (f0, f1) => {
|
|
@@ -236675,8 +236792,13 @@ class EdgeClipData {
|
|
|
236675
236792
|
* @internal
|
|
236676
236793
|
*/
|
|
236677
236794
|
class ClipSweptLineStringContext {
|
|
236678
|
-
constructor(edgeData) {
|
|
236795
|
+
constructor(edgeData, localData) {
|
|
236679
236796
|
this._edgeClippers = edgeData;
|
|
236797
|
+
if (localData !== undefined) {
|
|
236798
|
+
this._localToWorld = localData.localToWorld;
|
|
236799
|
+
this._worldToLocal = localData.worldToLocal;
|
|
236800
|
+
this._localRange = localData.localRange;
|
|
236801
|
+
}
|
|
236680
236802
|
}
|
|
236681
236803
|
static create(xyz, sweepVector) {
|
|
236682
236804
|
if (sweepVector === undefined)
|
|
@@ -236686,6 +236808,12 @@ class ClipSweptLineStringContext {
|
|
|
236686
236808
|
const newPoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.createZero();
|
|
236687
236809
|
const edgeData = [];
|
|
236688
236810
|
xyz.getPoint3dAtUncheckedPointIndex(0, point);
|
|
236811
|
+
let localToWorldMatrix = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__.Matrix3d.createRigidHeadsUp(sweepVector);
|
|
236812
|
+
if (localToWorldMatrix === undefined)
|
|
236813
|
+
localToWorldMatrix = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__.Matrix3d.createIdentity();
|
|
236814
|
+
const localToWorld = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_2__.Transform.createOriginAndMatrix(point, localToWorldMatrix);
|
|
236815
|
+
const worldToLocal = localToWorld.inverse();
|
|
236816
|
+
const localRange = xyz.getRange(worldToLocal);
|
|
236689
236817
|
for (let i = 1; i < xyz.length; i++) {
|
|
236690
236818
|
xyz.getPoint3dAtUncheckedPointIndex(i, newPoint);
|
|
236691
236819
|
const clipper = EdgeClipData.createPointPointSweep(point, newPoint, sweepVector);
|
|
@@ -236694,11 +236822,20 @@ class ClipSweptLineStringContext {
|
|
|
236694
236822
|
edgeData.push(clipper);
|
|
236695
236823
|
}
|
|
236696
236824
|
}
|
|
236697
|
-
return new ClipSweptLineStringContext(edgeData);
|
|
236825
|
+
return new ClipSweptLineStringContext(edgeData, { localToWorld, worldToLocal, localRange });
|
|
236698
236826
|
}
|
|
236699
236827
|
return undefined;
|
|
236700
236828
|
}
|
|
236829
|
+
/**
|
|
236830
|
+
* Intersect a polygon with each of the edgeClippers.
|
|
236831
|
+
* * If transforms and local range are defined, test the polygon's local range to see if it offers a quick exit.
|
|
236832
|
+
*/
|
|
236701
236833
|
processPolygon(polygon, announceEdge) {
|
|
236834
|
+
if (this._worldToLocal !== undefined && this._localRange !== undefined) {
|
|
236835
|
+
const polygonRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_3__.Range3d.createTransformedArray(this._worldToLocal, polygon);
|
|
236836
|
+
if (!polygonRange.intersectsRangeXY(this._localRange))
|
|
236837
|
+
return;
|
|
236838
|
+
}
|
|
236702
236839
|
for (const clipper of this._edgeClippers) {
|
|
236703
236840
|
clipper.processPolygon(polygon, announceEdge);
|
|
236704
236841
|
}
|
|
@@ -286861,7 +286998,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
286861
286998
|
/***/ ((module) => {
|
|
286862
286999
|
|
|
286863
287000
|
"use strict";
|
|
286864
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.
|
|
287001
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.75","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.1.0-dev.75","@itwin/core-bentley":"workspace:^4.1.0-dev.75","@itwin/core-common":"workspace:^4.1.0-dev.75","@itwin/core-geometry":"workspace:^4.1.0-dev.75","@itwin/core-orbitgt":"workspace:^4.1.0-dev.75","@itwin/core-quantity":"workspace:^4.1.0-dev.75"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
286865
287002
|
|
|
286866
287003
|
/***/ })
|
|
286867
287004
|
|