@itwin/core-geometry 4.0.0-dev.4 → 4.0.0-dev.40
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/CHANGELOG.md +17 -3
- package/lib/cjs/Geometry.d.ts +56 -16
- package/lib/cjs/Geometry.d.ts.map +1 -1
- package/lib/cjs/Geometry.js +87 -30
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js +4 -5
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js +7 -10
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +2 -2
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js +4 -4
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +20 -13
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +1 -1
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts +11 -8
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +16 -12
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +5 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.js +11 -10
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/Loop.d.ts +2 -2
- package/lib/cjs/curve/Loop.d.ts.map +1 -1
- package/lib/cjs/curve/Loop.js +6 -0
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +10 -10
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +11 -11
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +2 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js +5 -2
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js +1 -2
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +1 -2
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -2
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.d.ts +19 -0
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Angle.js +39 -0
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.d.ts +1 -0
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js +1 -0
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts +195 -8
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js +459 -11
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts +1 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js +3 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js +2 -2
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js +2 -2
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts +22 -7
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js +41 -5
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +58 -4
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js +102 -4
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +479 -265
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +996 -784
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts +1 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js +1 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts +10 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js +14 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js +4 -6
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +0 -6
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js +0 -6
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +57 -57
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +63 -65
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts +14 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +33 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.d.ts +127 -19
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js +420 -22
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.d.ts +1 -1
- package/lib/cjs/geometry3d/Segment1d.js +1 -1
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts +12 -0
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +14 -0
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/polyface/AuxData.js +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/FacetLocationDetail.d.ts +264 -0
- package/lib/cjs/polyface/FacetLocationDetail.d.ts.map +1 -0
- package/lib/cjs/polyface/FacetLocationDetail.js +376 -0
- package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +2 -5
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +5 -2
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts +24 -14
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +74 -23
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js +6 -7
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
- package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts +76 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +123 -3
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.d.ts +202 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +1038 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -0
- package/lib/cjs/serialization/BGFBReader.js +4 -4
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.d.ts +8 -6
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +26 -19
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +1 -2
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/solid/Sphere.d.ts +5 -5
- package/lib/cjs/solid/Sphere.js +5 -5
- package/lib/cjs/solid/Sphere.js.map +1 -1
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
- package/lib/cjs/solid/SweepContour.js +8 -1
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/topology/Graph.d.ts +113 -7
- package/lib/cjs/topology/Graph.d.ts.map +1 -1
- package/lib/cjs/topology/Graph.js +185 -7
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +38 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts.map +1 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js +82 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts +2 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/esm/Geometry.d.ts +56 -16
- package/lib/esm/Geometry.d.ts.map +1 -1
- package/lib/esm/Geometry.js +86 -29
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js +4 -5
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js +7 -10
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +2 -2
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js +4 -4
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +21 -14
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.js +1 -1
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts +11 -8
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js +16 -12
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts +5 -1
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.js +11 -10
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/Loop.d.ts +2 -2
- package/lib/esm/curve/Loop.d.ts.map +1 -1
- package/lib/esm/curve/Loop.js +6 -0
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +10 -10
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +11 -11
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +2 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +5 -2
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.js +1 -2
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js +1 -2
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -2
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/geometry3d/Angle.d.ts +19 -0
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
- package/lib/esm/geometry3d/Angle.js +39 -0
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.d.ts +1 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js +1 -0
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts +195 -8
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js +459 -12
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js +3 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js +2 -2
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js +2 -2
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +22 -7
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js +41 -5
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +58 -4
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js +103 -5
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +479 -265
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +996 -784
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +10 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +14 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js +4 -6
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +0 -6
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +0 -6
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +57 -57
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +63 -65
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts +14 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +33 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.d.ts +127 -19
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js +419 -22
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.d.ts +1 -1
- package/lib/esm/geometry3d/Segment1d.js +1 -1
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts +12 -0
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +14 -0
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/polyface/AuxData.js +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/FacetLocationDetail.d.ts +264 -0
- package/lib/esm/polyface/FacetLocationDetail.d.ts.map +1 -0
- package/lib/esm/polyface/FacetLocationDetail.js +369 -0
- package/lib/esm/polyface/FacetLocationDetail.js.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +2 -5
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js +5 -2
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +24 -14
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +74 -23
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js +6 -7
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
- package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts +76 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +121 -2
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.d.ts +202 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js +1032 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -0
- package/lib/esm/serialization/BGFBReader.js +4 -4
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.d.ts +8 -6
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +26 -19
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +1 -2
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/solid/Sphere.d.ts +5 -5
- package/lib/esm/solid/Sphere.js +5 -5
- package/lib/esm/solid/Sphere.js.map +1 -1
- package/lib/esm/solid/SweepContour.d.ts.map +1 -1
- package/lib/esm/solid/SweepContour.js +8 -1
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/topology/Graph.d.ts +113 -7
- package/lib/esm/topology/Graph.d.ts.map +1 -1
- package/lib/esm/topology/Graph.js +185 -7
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +38 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js +78 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +2 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/Triangulation.js +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/package.json +5 -5
|
@@ -6,7 +6,10 @@ import { AnyCurve, AnyRegion } from "../curve/CurveChain";
|
|
|
6
6
|
import { CurvePrimitive } from "../curve/CurvePrimitive";
|
|
7
7
|
import { GeometryQuery } from "../curve/GeometryQuery";
|
|
8
8
|
import { LineString3d } from "../curve/LineString3d";
|
|
9
|
+
import { Loop } from "../curve/Loop";
|
|
10
|
+
import { ParityRegion } from "../curve/ParityRegion";
|
|
9
11
|
import { StrokeOptions } from "../curve/StrokeOptions";
|
|
12
|
+
import { UnionRegion } from "../curve/UnionRegion";
|
|
10
13
|
import { NullGeometryHandler, UVSurface } from "../geometry3d/GeometryHandler";
|
|
11
14
|
import { GrowableXYArray } from "../geometry3d/GrowableXYArray";
|
|
12
15
|
import { GrowableXYZArray } from "../geometry3d/GrowableXYZArray";
|
|
@@ -16,6 +19,7 @@ import { Point3d, Vector3d } from "../geometry3d/Point3dVector3d";
|
|
|
16
19
|
import { Range3d } from "../geometry3d/Range";
|
|
17
20
|
import { Segment1d } from "../geometry3d/Segment1d";
|
|
18
21
|
import { Transform } from "../geometry3d/Transform";
|
|
22
|
+
import { XAndY } from "../geometry3d/XYZProps";
|
|
19
23
|
import { Box } from "../solid/Box";
|
|
20
24
|
import { Cone } from "../solid/Cone";
|
|
21
25
|
import { LinearSweep } from "../solid/LinearSweep";
|
|
@@ -25,7 +29,6 @@ import { Sphere } from "../solid/Sphere";
|
|
|
25
29
|
import { TorusPipe } from "../solid/TorusPipe";
|
|
26
30
|
import { HalfEdge, HalfEdgeGraph, HalfEdgeToBooleanFunction } from "../topology/Graph";
|
|
27
31
|
import { IndexedPolyface, PolyfaceVisitor } from "./Polyface";
|
|
28
|
-
import { XAndY } from "../geometry3d/XYZProps";
|
|
29
32
|
/**
|
|
30
33
|
*
|
|
31
34
|
* * Simple construction for strongly typed GeometryQuery objects:
|
|
@@ -36,27 +39,27 @@ import { XAndY } from "../geometry3d/XYZProps";
|
|
|
36
39
|
* * `builder.addGeometryQuery(g: GeometryQuery)`
|
|
37
40
|
* * `builder.addCone(cone: Cone)`
|
|
38
41
|
* * `builder.addTorusPipe(surface: TorusPipe)`
|
|
39
|
-
* * `builder.
|
|
42
|
+
* * `builder.addLinearSweepLineStringsXYZOnly(surface: LinearSweep)`
|
|
40
43
|
* * `builder.addRotationalSweep(surface: RotationalSweep)`
|
|
41
44
|
* * `builder.addLinearSweep(surface: LinearSweep)`
|
|
42
45
|
* * `builder.addRuledSweep(surface: RuledSweep)`
|
|
43
46
|
* * `builder.addSphere(sphere: Sphere)`
|
|
44
47
|
* * `builder.addBox(box: Box)`
|
|
45
48
|
* * `builder.addIndexedPolyface(polyface)`
|
|
46
|
-
* * Extract with `builder.claimPolyface
|
|
49
|
+
* * Extract with `builder.claimPolyface(true)`
|
|
47
50
|
*
|
|
48
51
|
* * Simple construction for ephemeral constructive data:
|
|
49
52
|
*
|
|
50
53
|
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
51
54
|
* * Add from fragmentary data:
|
|
52
|
-
* * `builder.
|
|
53
|
-
* * `builder.
|
|
54
|
-
* * `builder.
|
|
55
|
-
* * `builder.
|
|
56
|
-
* * `builder.addPolygon
|
|
57
|
-
* * `builder.addTransformedUnitBox
|
|
58
|
-
* * `builder.addTriangleFan
|
|
59
|
-
* * `builder.
|
|
55
|
+
* * `builder.addBetweenLineStringsWithStoredIndices(linestringA linestringB)`
|
|
56
|
+
* * `builder.addBetweenLineStringsWithRuleEdgeNormals(linestringA, vA, linestringB, vB, addClosure)`
|
|
57
|
+
* * `builder.addBetweenTransformedLineStrings(curves, transformA, transformB, addClosure)`
|
|
58
|
+
* * `builder.addLinearSweepLineStringsXYZOnly(contour, vector)`
|
|
59
|
+
* * `builder.addPolygon(points, numPointsToUse)`
|
|
60
|
+
* * `builder.addTransformedUnitBox(transform)`
|
|
61
|
+
* * `builder.addTriangleFan(conePoint, linestring, toggleOrientation)`
|
|
62
|
+
* * `builder.addTrianglesInUncheckedConvexPolygon(linestring, toggle)`
|
|
60
63
|
* * `builder.addUVGridBody(surface,numU, numV, createFanInCaps)`
|
|
61
64
|
* * `builder.addGraph(Graph, acceptFaceFunction)`
|
|
62
65
|
* * Extract with `builder.claimPolyface(true)`
|
|
@@ -65,10 +68,10 @@ import { XAndY } from "../geometry3d/XYZProps";
|
|
|
65
68
|
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
66
69
|
* * Add GeometryQuery objects
|
|
67
70
|
* * `builder.addPoint(point)`
|
|
68
|
-
* * `builder.findOrAddPointInLineString
|
|
71
|
+
* * `builder.findOrAddPointInLineString(linestring, index)`
|
|
69
72
|
* * `builder.addPointXYZ(x,y,z)`
|
|
70
|
-
* * `builder.addTriangleFacet
|
|
71
|
-
* * `builder.addQuadFacet
|
|
73
|
+
* * `builder.addTriangleFacet(points)`
|
|
74
|
+
* * `builder.addQuadFacet(points)`
|
|
72
75
|
* @public
|
|
73
76
|
*/
|
|
74
77
|
export declare class PolyfaceBuilder extends NullGeometryHandler {
|
|
@@ -226,6 +229,7 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
|
|
|
226
229
|
private addIndexedTriangleColorIndexes;
|
|
227
230
|
/** Find or add xyzIndex and normalIndex for coordinates in the sector. */
|
|
228
231
|
private setSectorIndices;
|
|
232
|
+
private addSectorTriangle;
|
|
229
233
|
private addSectorQuadA01B01;
|
|
230
234
|
/** Add facets between lineStrings with matched point counts.
|
|
231
235
|
* * surface normals are computed from (a) curve tangents in the linestrings and (b)rule line between linestrings.
|
|
@@ -349,6 +353,12 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
|
|
|
349
353
|
handleRotationalSweep(g: RotationalSweep): any;
|
|
350
354
|
/** Double dispatch handler for RuledSweep */
|
|
351
355
|
handleRuledSweep(g: RuledSweep): any;
|
|
356
|
+
/** Double dispatch handler for Loop */
|
|
357
|
+
handleLoop(g: Loop): any;
|
|
358
|
+
/** Double dispatch handler for ParityRegion */
|
|
359
|
+
handleParityRegion(g: ParityRegion): any;
|
|
360
|
+
/** Double dispatch handler for UnionRegion */
|
|
361
|
+
handleUnionRegion(g: UnionRegion): any;
|
|
352
362
|
/** add facets for a GeometryQuery object. This is double dispatch through `dispatchToGeometryHandler(this)` */
|
|
353
363
|
addGeometryQuery(g: GeometryQuery): void;
|
|
354
364
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolyfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/polyface/PolyfaceBuilder.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"PolyfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/polyface/PolyfaceBuilder.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAO,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAW,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMvF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,qEAAqE;IACrE,IAAW,OAAO,IAAI,aAAa,CAA0B;IAE7D,OAAO,CAAC,SAAS,CAAU;IAC3B,2EAA2E;IAC3E,IAAW,YAAY,IAAI,OAAO,CAA2B;IAC7D,4BAA4B;IACrB,aAAa,CAAC,QAAQ,GAAE,OAAc,GAAG,eAAe;IAK/D,sFAAsF;IAC/E,uBAAuB;IAE9B,OAAO;IAOP;;;OAGG;WACW,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe;IAG9D,6CAA6C;IACtC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IAIjD;;MAEE;IACK,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE;IAgB7F;;;OAGG;IACI,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkBlF;;;;;;OAMG;IACI,oCAAoC,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA6CpF;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAGrC;;;OAGG;IACI,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAI3C;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAG/C;;;OAGG;IACI,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAoB;IACvD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAqB;IACxD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoB;IACnD;;;;OAIG;IACI,0BAA0B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUlI;;;;OAIG;IACI,gCAAgC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU7I;;;;OAIG;IACI,iCAAiC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU9I;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS1F;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhG;;;;OAIG;IACI,0BAA0B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK7I;;;;;OAKG;IACI,2BAA2B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAc1J;;OAEG;IACI,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAG3D;;;OAGG;IACI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjE,+GAA+G;IAC/G,OAAO,CAAC,8BAA8B;IAQtC,gDAAgD;IAChD,OAAO,CAAC,2BAA2B;IASnC;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAuGrH;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAgBlC,kFAAkF;IAClF,OAAO,CAAC,0BAA0B;IAclC,oFAAoF;IACpF,OAAO,CAAC,2BAA2B;IAcnC,4EAA4E;IAC5E,OAAO,CAAC,0BAA0B;IAelC;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAgEzH;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IActC,gFAAgF;IAChF,OAAO,CAAC,8BAA8B;IAYtC,gFAAgF;IAChF,OAAO,CAAC,+BAA+B;IAYvC,gFAAgF;IAChF,OAAO,CAAC,8BAA8B;IAYtC,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACI,wCAAwC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe;IA0CzJ;;;;OAIG;IACI,sCAAsC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY;IA8ClG;;;;OAIG;IACI,gCAAgC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAE,OAAe;IA6BnI,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,IAAI;IA6BzB;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAmD1F;;;;;;;OAOG;IACI,gCAAgC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IA0B3E;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,eAAe;IA2BlD;;OAEG;IACI,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAUrD;;;;OAIG;IACI,kCAAkC,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAaxE,OAAO,CAAC,oCAAoC;IAe5C,OAAO,CAAC,yBAAyB;IAyDjC,OAAO,CAAC,2BAA2B;IAqBnC;;;;;OAKG;IACI,cAAc,CAAC,OAAO,EAAE,WAAW;IAmB1C;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO;IAmClD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAuBrD;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,GAAG;IAsCtB;;;;;;OAMG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM;IAqB5D;;;;;;OAMG;IACI,0BAA0B,CAAC,MAAM,EAAE,gBAAgB;IAkC1D;;;;;;OAMG;IACI,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,EAC/F,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE;IAwD5F;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,eAAe;IAInD,2DAA2D;IACpD,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;IAI3F;;;;OAIG;IACI,OAAO,IAAI,OAAO;IAIzB,uCAAuC;IACvB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxC,4CAA4C;IAC5B,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG;IAClD,yCAAyC;IACzB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG;IAC5C,sCAAsC;IACtB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG;IACtC,8CAA8C;IAC9B,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG;IACtD,kDAAkD;IAClC,qBAAqB,CAAC,CAAC,EAAE,eAAe,GAAG,GAAG;IAC9D,6CAA6C;IAC7B,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,GAAG;IACpD,uCAAuC;IACvB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxC,+CAA+C;IAC/B,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG;IACxD,8CAA8C;IAC9B,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG;IACtD,iHAAiH;IAC1G,gBAAgB,CAAC,CAAC,EAAE,aAAa;IAExC;;;;;;;OAOG;IACI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAE,yBAA4D,EACzI,qBAAqB,GAAE,yBAAyB,GAAG,SAAyC;IA4B9F;;;;;;;;OAQG;IACI,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IAY7D;;OAEG;WACW,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,kBAAkB,GAAE,yBAA4D,GAAG,eAAe;IAM/K;;OAEG;WACW,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe;IAO5F;;OAEG;WACW,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS;IAkBrH;;;;;;;;;OASG;IACI,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,GAAE,OAAe;IAclI;;;;;;;;;;OAUG;IACI,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS;IAiHvG;;;OAGG;WACW,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,GAAG,SAAS;IAM1F;;;;;;;;;OASG;IACI,wCAAwC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,GAAG,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,GAAG,oBAAoB;IAUlK,OAAO,CAAC,yBAAyB;IAuBjC;;;;;;;;OAQG;IACI,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,cAAc,GAAE,MAAW;IAgBtJ,sGAAsG;IACtG,OAAO,CAAC,cAAc;IAWtB;;MAEE;IACF,OAAO,CAAC,YAAY;IAyCpB;;;;;;OAMG;IACI,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,GAAE,OAAe,GAAG,OAAO;CA0C3H"}
|
|
@@ -15,7 +15,9 @@ const ParityRegion_1 = require("../curve/ParityRegion");
|
|
|
15
15
|
const CylindricalRange_1 = require("../curve/Query/CylindricalRange");
|
|
16
16
|
const StrokeCountChain_1 = require("../curve/Query/StrokeCountChain");
|
|
17
17
|
const StrokeOptions_1 = require("../curve/StrokeOptions");
|
|
18
|
+
const UnionRegion_1 = require("../curve/UnionRegion");
|
|
18
19
|
const Geometry_1 = require("../Geometry");
|
|
20
|
+
const Angle_1 = require("../geometry3d/Angle");
|
|
19
21
|
const BilinearPatch_1 = require("../geometry3d/BilinearPatch");
|
|
20
22
|
const FrameBuilder_1 = require("../geometry3d/FrameBuilder");
|
|
21
23
|
const GeometryHandler_1 = require("../geometry3d/GeometryHandler");
|
|
@@ -37,11 +39,10 @@ const Graph_1 = require("../topology/Graph");
|
|
|
37
39
|
const Triangulation_1 = require("../topology/Triangulation");
|
|
38
40
|
const BoxTopology_1 = require("./BoxTopology");
|
|
39
41
|
const GreedyTriangulationBetweenLineStrings_1 = require("./GreedyTriangulationBetweenLineStrings");
|
|
42
|
+
const IndexedEdgeMatcher_1 = require("./IndexedEdgeMatcher");
|
|
43
|
+
const IndexedPolyfaceVisitor_1 = require("./IndexedPolyfaceVisitor");
|
|
40
44
|
const Polyface_1 = require("./Polyface");
|
|
41
45
|
const PolyfaceQuery_1 = require("./PolyfaceQuery");
|
|
42
|
-
const Angle_1 = require("../geometry3d/Angle");
|
|
43
|
-
const IndexedPolyfaceVisitor_1 = require("./IndexedPolyfaceVisitor");
|
|
44
|
-
const IndexedEdgeMatcher_1 = require("./IndexedEdgeMatcher");
|
|
45
46
|
/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/prefer-for-of */
|
|
46
47
|
/**
|
|
47
48
|
* A FacetSector
|
|
@@ -139,27 +140,27 @@ FacetSector._edgeVector = Point3dVector3d_1.Vector3d.create();
|
|
|
139
140
|
* * `builder.addGeometryQuery(g: GeometryQuery)`
|
|
140
141
|
* * `builder.addCone(cone: Cone)`
|
|
141
142
|
* * `builder.addTorusPipe(surface: TorusPipe)`
|
|
142
|
-
* * `builder.
|
|
143
|
+
* * `builder.addLinearSweepLineStringsXYZOnly(surface: LinearSweep)`
|
|
143
144
|
* * `builder.addRotationalSweep(surface: RotationalSweep)`
|
|
144
145
|
* * `builder.addLinearSweep(surface: LinearSweep)`
|
|
145
146
|
* * `builder.addRuledSweep(surface: RuledSweep)`
|
|
146
147
|
* * `builder.addSphere(sphere: Sphere)`
|
|
147
148
|
* * `builder.addBox(box: Box)`
|
|
148
149
|
* * `builder.addIndexedPolyface(polyface)`
|
|
149
|
-
* * Extract with `builder.claimPolyface
|
|
150
|
+
* * Extract with `builder.claimPolyface(true)`
|
|
150
151
|
*
|
|
151
152
|
* * Simple construction for ephemeral constructive data:
|
|
152
153
|
*
|
|
153
154
|
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
154
155
|
* * Add from fragmentary data:
|
|
155
|
-
* * `builder.
|
|
156
|
-
* * `builder.
|
|
157
|
-
* * `builder.
|
|
158
|
-
* * `builder.
|
|
159
|
-
* * `builder.addPolygon
|
|
160
|
-
* * `builder.addTransformedUnitBox
|
|
161
|
-
* * `builder.addTriangleFan
|
|
162
|
-
* * `builder.
|
|
156
|
+
* * `builder.addBetweenLineStringsWithStoredIndices(linestringA linestringB)`
|
|
157
|
+
* * `builder.addBetweenLineStringsWithRuleEdgeNormals(linestringA, vA, linestringB, vB, addClosure)`
|
|
158
|
+
* * `builder.addBetweenTransformedLineStrings(curves, transformA, transformB, addClosure)`
|
|
159
|
+
* * `builder.addLinearSweepLineStringsXYZOnly(contour, vector)`
|
|
160
|
+
* * `builder.addPolygon(points, numPointsToUse)`
|
|
161
|
+
* * `builder.addTransformedUnitBox(transform)`
|
|
162
|
+
* * `builder.addTriangleFan(conePoint, linestring, toggleOrientation)`
|
|
163
|
+
* * `builder.addTrianglesInUncheckedConvexPolygon(linestring, toggle)`
|
|
163
164
|
* * `builder.addUVGridBody(surface,numU, numV, createFanInCaps)`
|
|
164
165
|
* * `builder.addGraph(Graph, acceptFaceFunction)`
|
|
165
166
|
* * Extract with `builder.claimPolyface(true)`
|
|
@@ -168,10 +169,10 @@ FacetSector._edgeVector = Point3dVector3d_1.Vector3d.create();
|
|
|
168
169
|
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
169
170
|
* * Add GeometryQuery objects
|
|
170
171
|
* * `builder.addPoint(point)`
|
|
171
|
-
* * `builder.findOrAddPointInLineString
|
|
172
|
+
* * `builder.findOrAddPointInLineString(linestring, index)`
|
|
172
173
|
* * `builder.addPointXYZ(x,y,z)`
|
|
173
|
-
* * `builder.addTriangleFacet
|
|
174
|
-
* * `builder.addQuadFacet
|
|
174
|
+
* * `builder.addTriangleFacet(points)`
|
|
175
|
+
* * `builder.addQuadFacet(points)`
|
|
175
176
|
* @public
|
|
176
177
|
*/
|
|
177
178
|
class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
|
|
@@ -748,10 +749,29 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
|
|
|
748
749
|
if (sector.uv)
|
|
749
750
|
sector.uvIndex = this._polyface.addParam(sector.uv);
|
|
750
751
|
}
|
|
752
|
+
addSectorTriangle(sectorA0, sectorA1, sectorA2) {
|
|
753
|
+
if (sectorA0.xyz.isAlmostEqual(sectorA1.xyz)
|
|
754
|
+
|| sectorA1.xyz.isAlmostEqual(sectorA2.xyz)
|
|
755
|
+
|| sectorA2.xyz.isAlmostEqual(sectorA0.xyz)) {
|
|
756
|
+
// trivially degenerate triangle !!! skip !!!
|
|
757
|
+
}
|
|
758
|
+
else {
|
|
759
|
+
if (this._options.needNormals)
|
|
760
|
+
this.addIndexedTriangleNormalIndexes(sectorA0.normalIndex, sectorA1.normalIndex, sectorA2.normalIndex);
|
|
761
|
+
if (this._options.needParams)
|
|
762
|
+
this.addIndexedTriangleParamIndexes(sectorA0.uvIndex, sectorA1.uvIndex, sectorA2.uvIndex);
|
|
763
|
+
this.addIndexedTrianglePointIndexes(sectorA0.xyzIndex, sectorA1.xyzIndex, sectorA2.xyzIndex);
|
|
764
|
+
this._polyface.terminateFacet();
|
|
765
|
+
}
|
|
766
|
+
}
|
|
751
767
|
addSectorQuadA01B01(sectorA0, sectorA1, sectorB0, sectorB1) {
|
|
752
768
|
if (sectorA0.xyz.isAlmostEqual(sectorA1.xyz) && sectorB0.xyz.isAlmostEqual(sectorB1.xyz)) {
|
|
753
769
|
// ignore null quad !!
|
|
754
770
|
}
|
|
771
|
+
else if (this._options.shouldTriangulate) {
|
|
772
|
+
this.addSectorTriangle(sectorA0, sectorA1, sectorB1);
|
|
773
|
+
this.addSectorTriangle(sectorB1, sectorB0, sectorA0);
|
|
774
|
+
}
|
|
755
775
|
else {
|
|
756
776
|
if (this._options.needNormals)
|
|
757
777
|
this.addIndexedQuadNormalIndexes(sectorA0.normalIndex, sectorA1.normalIndex, sectorB0.normalIndex, sectorB1.normalIndex);
|
|
@@ -828,12 +848,30 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
|
|
|
828
848
|
}
|
|
829
849
|
const numPoints = pointA.length;
|
|
830
850
|
for (let i = 1; i < numPoints; i++) {
|
|
831
|
-
if (
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
851
|
+
if (this.options.shouldTriangulate) {
|
|
852
|
+
if (distinctIndices(pointA.atUncheckedIndex(i - 1), pointA.atUncheckedIndex(i), pointB.atUncheckedIndex(i))) {
|
|
853
|
+
this.addIndexedTrianglePointIndexes(pointA.atUncheckedIndex(i - 1), pointA.atUncheckedIndex(i), pointB.atUncheckedIndex(i));
|
|
854
|
+
if (normalA && normalB)
|
|
855
|
+
this.addIndexedTriangleNormalIndexes(normalA.atUncheckedIndex(i - 1), normalA.atUncheckedIndex(i), normalB.atUncheckedIndex(i - 1));
|
|
856
|
+
if (paramA && paramB)
|
|
857
|
+
this.addIndexedTriangleParamIndexes(paramA.atUncheckedIndex(i - 1), paramA.atUncheckedIndex(i), paramB.atUncheckedIndex(i - 1));
|
|
858
|
+
}
|
|
859
|
+
if (distinctIndices(pointB.atUncheckedIndex(i), pointB.atUncheckedIndex(i - 1), pointA.atUncheckedIndex(i - 1))) {
|
|
860
|
+
this.addIndexedTrianglePointIndexes(pointA.atUncheckedIndex(i - 1), pointB.atUncheckedIndex(i), pointB.atUncheckedIndex(i - 1));
|
|
861
|
+
if (normalA && normalB)
|
|
862
|
+
this.addIndexedTriangleNormalIndexes(normalA.atUncheckedIndex(i - 1), normalB.atUncheckedIndex(i), normalB.atUncheckedIndex(i - 1));
|
|
863
|
+
if (paramA && paramB)
|
|
864
|
+
this.addIndexedTriangleParamIndexes(paramA.atUncheckedIndex(i - 1), paramB.atUncheckedIndex(i), paramB.atUncheckedIndex(i - 1));
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
else {
|
|
868
|
+
if (pointA.atUncheckedIndex(i - 1) !== pointA.atUncheckedIndex(i) || pointB.atUncheckedIndex(i - 1) !== pointB.atUncheckedIndex(i)) {
|
|
869
|
+
this.addIndexedQuadPointIndexes(pointA.atUncheckedIndex(i - 1), pointA.atUncheckedIndex(i), pointB.atUncheckedIndex(i - 1), pointB.atUncheckedIndex(i));
|
|
870
|
+
if (normalA && normalB)
|
|
871
|
+
this.addIndexedQuadNormalIndexes(normalA.atUncheckedIndex(i - 1), normalA.atUncheckedIndex(i), normalB.atUncheckedIndex(i - 1), normalB.atUncheckedIndex(i));
|
|
872
|
+
if (paramA && paramB)
|
|
873
|
+
this.addIndexedQuadParamIndexes(paramA.atUncheckedIndex(i - 1), paramA.atUncheckedIndex(i), paramB.atUncheckedIndex(i - 1), paramB.atUncheckedIndex(i));
|
|
874
|
+
}
|
|
837
875
|
this._polyface.terminateFacet();
|
|
838
876
|
}
|
|
839
877
|
}
|
|
@@ -1034,9 +1072,13 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
|
|
|
1034
1072
|
* Construct facets for any planar region
|
|
1035
1073
|
*/
|
|
1036
1074
|
addTriangulatedRegion(region) {
|
|
1075
|
+
if (region instanceof UnionRegion_1.UnionRegion) {
|
|
1076
|
+
for (const child of region.children)
|
|
1077
|
+
this.addTriangulatedRegion(child);
|
|
1078
|
+
}
|
|
1037
1079
|
const contour = SweepContour_1.SweepContour.createForLinearSweep(region);
|
|
1038
1080
|
if (contour)
|
|
1039
|
-
contour.emitFacets(this,
|
|
1081
|
+
contour.emitFacets(this, this.reversedFlag, undefined);
|
|
1040
1082
|
}
|
|
1041
1083
|
/**
|
|
1042
1084
|
* * Recursively visit all children of data.
|
|
@@ -1426,6 +1468,12 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
|
|
|
1426
1468
|
handleRotationalSweep(g) { return this.addRotationalSweep(g); }
|
|
1427
1469
|
/** Double dispatch handler for RuledSweep */
|
|
1428
1470
|
handleRuledSweep(g) { return this.addRuledSweep(g); }
|
|
1471
|
+
/** Double dispatch handler for Loop */
|
|
1472
|
+
handleLoop(g) { return this.addTriangulatedRegion(g); }
|
|
1473
|
+
/** Double dispatch handler for ParityRegion */
|
|
1474
|
+
handleParityRegion(g) { return this.addTriangulatedRegion(g); }
|
|
1475
|
+
/** Double dispatch handler for UnionRegion */
|
|
1476
|
+
handleUnionRegion(g) { return this.addTriangulatedRegion(g); }
|
|
1429
1477
|
/** add facets for a GeometryQuery object. This is double dispatch through `dispatchToGeometryHandler(this)` */
|
|
1430
1478
|
addGeometryQuery(g) { g.dispatchToGeometryHandler(this); }
|
|
1431
1479
|
/**
|
|
@@ -1831,4 +1879,7 @@ function resolveToIndexedXYZCollectionOrCarrier(points) {
|
|
|
1831
1879
|
return points.packedPoints;
|
|
1832
1880
|
return points;
|
|
1833
1881
|
}
|
|
1882
|
+
function distinctIndices(i0, i1, i2) {
|
|
1883
|
+
return i0 !== i1 && i1 !== i2 && i2 !== i0;
|
|
1884
|
+
}
|
|
1834
1885
|
//# sourceMappingURL=PolyfaceBuilder.js.map
|