@threekit-tools/treble 0.0.92 → 0.0.93
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/dist/Treble/Treble.d.ts +1 -1
- package/dist/Treble/Treble.js +4 -3
- package/dist/Treble/snapshots.d.ts +2 -2
- package/dist/Treble/snapshots.js +1 -1
- package/dist/Treble/wishlist.d.ts +1 -1
- package/dist/Treble/wishlist.js +1 -1
- package/dist/api/assets.d.ts +1 -0
- package/dist/api/{products.js → assets.js} +12 -33
- package/dist/api/catalog.js +1 -1
- package/dist/api/configurations.d.ts +1 -0
- package/dist/api/configurations.js +10 -3
- package/dist/api/datatables.js +1 -1
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.js +2 -2
- package/dist/api/orders.js +1 -1
- package/dist/api/price.js +1 -1
- package/dist/components/AttributeTitle/index.d.ts +2 -2
- package/dist/components/AttributeValue/index.d.ts +2 -2
- package/dist/components/BreatheAnimation/index.js +1 -1
- package/dist/components/Button/index.d.ts +3 -3
- package/dist/components/Cards/index.d.ts +3 -3
- package/dist/components/DevTools/index.d.ts +2 -2
- package/dist/components/DraggableHint/draggableIndicator.styles.d.ts +1 -1
- package/dist/components/DraggableHint/index.d.ts +2 -2
- package/dist/components/Dropdown/index.d.ts +3 -3
- package/dist/components/FlatForm/index.d.ts +2 -2
- package/dist/components/FormComponentDescription/index.d.ts +1 -1
- package/dist/components/FormComponentTitle/index.d.ts +1 -1
- package/dist/components/Player/index.d.ts +9 -9
- package/dist/components/PlayerLoadingCircular/index.d.ts +2 -2
- package/dist/components/PlayerLoadingSpinner/index.d.ts +2 -2
- package/dist/components/PlayerLoadingSpinner/playerLoadingSpinner.styles.d.ts +1 -1
- package/dist/components/ProductDescription/index.d.ts +3 -3
- package/dist/components/ProductName/index.d.ts +3 -3
- package/dist/components/Share/index.d.ts +2 -2
- package/dist/components/Share/index.js +1 -1
- package/dist/components/Share/share.styles.d.ts +1 -1
- package/dist/components/Snapshots/index.d.ts +2 -2
- package/dist/components/Strips/index.d.ts +3 -3
- package/dist/components/Swatch/index.d.ts +3 -3
- package/dist/components/Switch/index.d.ts +3 -3
- package/dist/components/TextInput/index.d.ts +3 -3
- package/dist/components/ThreekitProvider/index.d.ts +6 -3
- package/dist/components/ThreekitProvider/index.js +27 -2
- package/dist/components/Tiles/index.d.ts +3 -3
- package/dist/components/TilesGroup/index.d.ts +3 -3
- package/dist/components/TotalPrice/index.d.ts +3 -3
- package/dist/components/TrebleApp/index.d.ts +3 -3
- package/dist/components/TurntableAnimation/index.js +1 -1
- package/dist/components/Upload/index.d.ts +3 -3
- package/dist/components/Upload/index.js +1 -1
- package/dist/components/UploadArea/index.d.ts +3 -3
- package/dist/components/UploadArea/index.js +1 -1
- package/dist/components/Wishlist/WishlistItem.d.ts +2 -2
- package/dist/components/Wishlist/index.d.ts +4 -4
- package/dist/components/Wishlist/index.js +1 -1
- package/dist/components/Zoom/index.d.ts +6 -6
- package/dist/components/containers/formInputContainer.d.ts +2 -2
- package/dist/components/formComponents.d.ts +6 -6
- package/dist/components/message/index.d.ts +1 -1
- package/dist/constants.d.ts +6 -6
- package/dist/hooks/useAttribute/index.d.ts +4 -4
- package/dist/hooks/useAttribute/index.js +3 -3
- package/dist/hooks/useConfigurationLoader/index.js +1 -1
- package/dist/hooks/useConfigurator/index.d.ts +3 -3
- package/dist/hooks/useConfigurator/index.js +3 -5
- package/dist/hooks/useDevTools/index.d.ts +1 -1
- package/dist/hooks/useNestedConfigurator/index.d.ts +2 -2
- package/dist/hooks/useNestedConfigurator/index.js +3 -3
- package/dist/hooks/usePlayer/index.d.ts +1 -1
- package/dist/hooks/usePlayerPortal/index.d.ts +1 -1
- package/dist/hooks/useProductCache/index.js +1 -1
- package/dist/hooks/useResetProduct/index.d.ts +1 -1
- package/dist/hooks/useResetProduct/index.js +1 -1
- package/dist/hooks/useRoomBuilder/RoomBuilderState.js +1 -1
- package/dist/hooks/useRoomBuilder/constants.js +2 -2
- package/dist/hooks/useRoomBuilder/themes.js +1 -1
- package/dist/hooks/useRoomBuilder/types.d.ts +7 -7
- package/dist/hooks/useRoomBuilder/types.js +5 -5
- package/dist/hooks/useRoomBuilder/validators.d.ts +1 -1
- package/dist/hooks/useShare/index.d.ts +1 -1
- package/dist/hooks/useShare/index.js +4 -2
- package/dist/hooks/useSingleAnimation/index.js +1 -1
- package/dist/hooks/useSnapshot/index.d.ts +1 -1
- package/dist/hooks/useWishlist/index.d.ts +1 -1
- package/dist/hooks/useZoom/index.d.ts +1 -1
- package/dist/http/assets.d.ts +2 -0
- package/dist/http/assets.js +16 -0
- package/dist/http/index.d.ts +2 -2
- package/dist/http/index.js +2 -2
- package/dist/http/orders.d.ts +1 -1
- package/dist/icons/Spinner.d.ts +2 -2
- package/dist/icons/types.d.ts +1 -1
- package/dist/store/attributes.d.ts +4 -4
- package/dist/store/attributes.js +2 -4
- package/dist/store/index.d.ts +6 -6
- package/dist/store/price.d.ts +1 -1
- package/dist/store/price.js +1 -1
- package/dist/store/product.d.ts +2 -2
- package/dist/store/product.js +1 -1
- package/dist/store/translations.d.ts +10 -8
- package/dist/store/translations.js +39 -19
- package/dist/store/treble.d.ts +1 -1
- package/dist/store/treble.js +1 -1
- package/dist/store/wishlist.d.ts +2 -2
- package/dist/store/wishlist.js +1 -1
- package/dist/types.d.ts +18 -17
- package/dist/types.js +9 -9
- package/dist/utils.d.ts +2 -6
- package/dist/utils.js +5 -12
- package/package.json +1 -2
- package/dist/Treble/snapshot.d.ts +0 -22
- package/dist/Treble/snapshot.js +0 -247
- package/dist/api/products.d.ts +0 -4
- package/dist/hooks/useSpaces/SpacesLayout.d.ts +0 -11
- package/dist/hooks/useSpaces/SpacesLayout.js +0 -74
- package/dist/hooks/useSpaces/SpacesState.d.ts +0 -164
- package/dist/hooks/useSpaces/SpacesState.js +0 -1751
- package/dist/hooks/useSpaces/constants.d.ts +0 -64
- package/dist/hooks/useSpaces/constants.js +0 -109
- package/dist/hooks/useSpaces/dataHandlers.d.ts +0 -20
- package/dist/hooks/useSpaces/dataHandlers.js +0 -254
- package/dist/hooks/useSpaces/draw/clearCanvas.d.ts +0 -2
- package/dist/hooks/useSpaces/draw/clearCanvas.js +0 -9
- package/dist/hooks/useSpaces/draw/drawBackground.d.ts +0 -2
- package/dist/hooks/useSpaces/draw/drawBackground.js +0 -12
- package/dist/hooks/useSpaces/draw/drawDimensions.d.ts +0 -3
- package/dist/hooks/useSpaces/draw/drawDimensions.js +0 -53
- package/dist/hooks/useSpaces/draw/drawDoors.d.ts +0 -9
- package/dist/hooks/useSpaces/draw/drawDoors.js +0 -99
- package/dist/hooks/useSpaces/draw/drawFloor.d.ts +0 -3
- package/dist/hooks/useSpaces/draw/drawFloor.js +0 -36
- package/dist/hooks/useSpaces/draw/drawGrid.d.ts +0 -3
- package/dist/hooks/useSpaces/draw/drawGrid.js +0 -33
- package/dist/hooks/useSpaces/draw/drawGuides.d.ts +0 -3
- package/dist/hooks/useSpaces/draw/drawGuides.js +0 -23
- package/dist/hooks/useSpaces/draw/drawOpenings.d.ts +0 -9
- package/dist/hooks/useSpaces/draw/drawOpenings.js +0 -72
- package/dist/hooks/useSpaces/draw/drawVertices.d.ts +0 -8
- package/dist/hooks/useSpaces/draw/drawVertices.js +0 -61
- package/dist/hooks/useSpaces/draw/drawWalls.d.ts +0 -10
- package/dist/hooks/useSpaces/draw/drawWalls.js +0 -88
- package/dist/hooks/useSpaces/draw/drawWindows.d.ts +0 -9
- package/dist/hooks/useSpaces/draw/drawWindows.js +0 -82
- package/dist/hooks/useSpaces/draw/index.d.ts +0 -11
- package/dist/hooks/useSpaces/draw/index.js +0 -129
- package/dist/hooks/useSpaces/geometry/addThicknessToLine.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/addThicknessToLine.js +0 -13
- package/dist/hooks/useSpaces/geometry/areLinesEqual.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/areLinesEqual.js +0 -17
- package/dist/hooks/useSpaces/geometry/arePointsEqual.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/arePointsEqual.js +0 -8
- package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/arePointsWithinProximity.js +0 -11
- package/dist/hooks/useSpaces/geometry/closestPointOnLine.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/closestPointOnLine.js +0 -13
- package/dist/hooks/useSpaces/geometry/doLinesOverlap.d.ts +0 -2
- package/dist/hooks/useSpaces/geometry/doLinesOverlap.js +0 -16
- package/dist/hooks/useSpaces/geometry/euclideanMod.d.ts +0 -2
- package/dist/hooks/useSpaces/geometry/euclideanMod.js +0 -6
- package/dist/hooks/useSpaces/geometry/findLoops.d.ts +0 -6
- package/dist/hooks/useSpaces/geometry/findLoops.js +0 -117
- package/dist/hooks/useSpaces/geometry/getAllLineIntersections.d.ts +0 -6
- package/dist/hooks/useSpaces/geometry/getAllLineIntersections.js +0 -23
- package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getAngleOfLineSegment.js +0 -7
- package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getClosestPointOnLineSegment.js +0 -17
- package/dist/hooks/useSpaces/geometry/getDistanceToLine.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getDistanceToLine.js +0 -10
- package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getLengthOfLineSegment.js +0 -7
- package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getLineAtOffsetOnLineSegment.js +0 -17
- package/dist/hooks/useSpaces/geometry/getLineOtherPoint.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getLineOtherPoint.js +0 -11
- package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getLineSegmentsIntersection.js +0 -43
- package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getMidpointOfLineSegment.js +0 -9
- package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getParallelLineSegmentAtDistance.js +0 -20
- package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getPointAtOffsetOnLineSegment.js +0 -11
- package/dist/hooks/useSpaces/geometry/getPolygonArea.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getPolygonArea.js +0 -15
- package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getQuadrilateralArea.js +0 -16
- package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.d.ts +0 -6
- package/dist/hooks/useSpaces/geometry/getTangetIntersectionAndOffset.js +0 -17
- package/dist/hooks/useSpaces/geometry/getTriangleArea.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getTriangleArea.js +0 -9
- package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/getUnitVectorOfLineSegment.js +0 -12
- package/dist/hooks/useSpaces/geometry/index.d.ts +0 -30
- package/dist/hooks/useSpaces/geometry/index.js +0 -64
- package/dist/hooks/useSpaces/geometry/isPointInPolygon.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/isPointInPolygon.js +0 -21
- package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/isPointInQuadrilateral.js +0 -25
- package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/orderCoordinatesOnLineSegment.js +0 -11
- package/dist/hooks/useSpaces/geometry/splitLineAtOffset.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/splitLineAtOffset.js +0 -12
- package/dist/hooks/useSpaces/geometry/splitLineAtPoint.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/splitLineAtPoint.js +0 -9
- package/dist/hooks/useSpaces/geometry/splitLineAtPoints.d.ts +0 -3
- package/dist/hooks/useSpaces/geometry/splitLineAtPoints.js +0 -28
- package/dist/hooks/useSpaces/index.d.ts +0 -82
- package/dist/hooks/useSpaces/index.js +0 -482
- package/dist/hooks/useSpaces/themes/blueprint.d.ts +0 -3
- package/dist/hooks/useSpaces/themes/blueprint.js +0 -96
- package/dist/hooks/useSpaces/themes/default.d.ts +0 -3
- package/dist/hooks/useSpaces/themes/default.js +0 -96
- package/dist/hooks/useSpaces/themes/index.d.ts +0 -11
- package/dist/hooks/useSpaces/themes/index.js +0 -21
- package/dist/hooks/useSpaces/themes/light.d.ts +0 -3
- package/dist/hooks/useSpaces/themes/light.js +0 -96
- package/dist/hooks/useSpaces/types.d.ts +0 -339
- package/dist/hooks/useSpaces/types.js +0 -54
- package/dist/hooks/useSpaces/validators/areWallsDuplicated.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/areWallsDuplicated.js +0 -61
- package/dist/hooks/useSpaces/validators/areWallsIntersecting.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/areWallsIntersecting.js +0 -42
- package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/areWallsOrphaningFeatures.js +0 -52
- package/dist/hooks/useSpaces/validators/areWallsTooShort.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/areWallsTooShort.js +0 -37
- package/dist/hooks/useSpaces/validators/index.d.ts +0 -15
- package/dist/hooks/useSpaces/validators/index.js +0 -40
- package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isFeatureCollidingWithExistingFeature.js +0 -31
- package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isFeatureOutsideWallBounds.js +0 -19
- package/dist/hooks/useSpaces/validators/isLineTooShort.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isLineTooShort.js +0 -26
- package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.d.ts +0 -4
- package/dist/hooks/useSpaces/validators/isVertexLandingOnFeature.js +0 -19
- package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isWallEndingOnFeature.js +0 -19
- package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isWallIntersectingFeature.js +0 -41
- package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isWallOverlappingExisitingWalls.js +0 -54
- package/dist/hooks/useSpaces/validators/isWallTooShort.d.ts +0 -3
- package/dist/hooks/useSpaces/validators/isWallTooShort.js +0 -10
- package/dist/hooks/useSpaces/validators/messaging.d.ts +0 -8
- package/dist/hooks/useSpaces/validators/messaging.js +0 -18
- package/dist/http/products.d.ts +0 -1
- package/dist/http/products.js +0 -12
- package/dist/icons/AngleSnapping.d.ts +0 -3
- package/dist/icons/AngleSnapping.js +0 -28
- package/dist/icons/Center.d.ts +0 -3
- package/dist/icons/Center.js +0 -24
- package/dist/icons/GridSnapping.d.ts +0 -3
- package/dist/icons/GridSnapping.js +0 -28
- package/dist/icons/LayoutAlt.d.ts +0 -3
- package/dist/icons/LayoutAlt.js +0 -21
- package/dist/icons/Magnet.d.ts +0 -3
- package/dist/icons/Magnet.js +0 -27
- package/dist/icons/Player3D.d.ts +0 -3
- package/dist/icons/Player3D.js +0 -21
- package/dist/icons/Ruler copy.d.ts +0 -3
- package/dist/icons/Ruler copy.js +0 -22
- package/dist/icons/RulerBlank.d.ts +0 -3
- package/dist/icons/RulerBlank.js +0 -25
- package/dist/icons/RulerDetailed copy.d.ts +0 -3
- package/dist/icons/RulerDetailed copy.js +0 -27
- package/dist/icons/RulerDetailed.d.ts +0 -3
- package/dist/icons/RulerDetailed.js +0 -27
- package/dist/icons/Save.d.ts +0 -3
- package/dist/icons/Save.js +0 -21
- package/dist/icons/UnitCm.d.ts +0 -3
- package/dist/icons/UnitCm.js +0 -22
- package/dist/icons/UnitFeet.d.ts +0 -3
- package/dist/icons/UnitFeet.js +0 -22
- package/dist/icons/UnitInch.d.ts +0 -3
- package/dist/icons/UnitInch.js +0 -22
- package/dist/icons/UnitMeter.d.ts +0 -3
- package/dist/icons/UnitMeter.js +0 -21
- package/dist/store/spaces.d.ts +0 -47
- package/dist/store/spaces.js +0 -197
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getLengthOfLineSegment_1 = __importDefault(require("./getLengthOfLineSegment"));
|
|
7
|
-
function arePointsWithinProximity(point1, point2, proximity) {
|
|
8
|
-
var length = (0, getLengthOfLineSegment_1.default)([point1, point2]);
|
|
9
|
-
return length <= proximity;
|
|
10
|
-
}
|
|
11
|
-
exports.default = arePointsWithinProximity;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function closestPointOnLine(pointOnLine, angle, point) {
|
|
4
|
-
var x1 = point[0], y1 = point[1];
|
|
5
|
-
var x2 = pointOnLine[0], y2 = pointOnLine[1];
|
|
6
|
-
var dx = Math.cos(angle);
|
|
7
|
-
var dy = Math.sin(angle);
|
|
8
|
-
var t = ((x1 - x2) * dx + (y1 - y2) * dy) / (dx * dx + dy * dy);
|
|
9
|
-
var x = x2 + t * dx;
|
|
10
|
-
var y = y2 + t * dy;
|
|
11
|
-
return [x, y];
|
|
12
|
-
}
|
|
13
|
-
exports.default = closestPointOnLine;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function doLinesOverlap(line1, line2) {
|
|
4
|
-
var start1 = line1[0];
|
|
5
|
-
var end1 = line1[0] + line1[1];
|
|
6
|
-
var start2 = line2[0];
|
|
7
|
-
var end2 = line2[0] + line2[1];
|
|
8
|
-
if (start2 < start1 && start1 < end2)
|
|
9
|
-
return true;
|
|
10
|
-
if (start2 < end1 && end1 < end2)
|
|
11
|
-
return true;
|
|
12
|
-
if (start1 < start2 && start2 < end1 && start1 < end2 && end2 < end1)
|
|
13
|
-
return true;
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
exports.default = doLinesOverlap;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
var arePointsEqual_1 = __importDefault(require("./arePointsEqual"));
|
|
16
|
-
var euclideanMod_1 = __importDefault(require("./euclideanMod"));
|
|
17
|
-
var getAngleOfLineSegment_1 = __importDefault(require("./getAngleOfLineSegment"));
|
|
18
|
-
var getLineOtherPoint_1 = __importDefault(require("./getLineOtherPoint"));
|
|
19
|
-
var areSidesEqual = function (_a, _b) {
|
|
20
|
-
var lineIndex0 = _a[0], fromPoint0 = _a[1];
|
|
21
|
-
var lineIndex1 = _b[0], fromPoint1 = _b[1];
|
|
22
|
-
return lineIndex0 === lineIndex1 && (0, arePointsEqual_1.default)(fromPoint0, fromPoint1);
|
|
23
|
-
};
|
|
24
|
-
var composeSideKey = function (_a) {
|
|
25
|
-
var lineIndex = _a[0], point = _a[1];
|
|
26
|
-
return "".concat(lineIndex, ":").concat(JSON.stringify(point));
|
|
27
|
-
};
|
|
28
|
-
var decomposeSideKey = function (key) {
|
|
29
|
-
var _a = key.split(':'), lineIndexStr = _a[0], fromVertStr = _a[1];
|
|
30
|
-
return [Number(lineIndexStr), JSON.parse(fromVertStr)];
|
|
31
|
-
};
|
|
32
|
-
function calcPointToLineAdjacency(lines) {
|
|
33
|
-
return lines.reduce(function (output, line, lineIndex) {
|
|
34
|
-
line.forEach(function (point) {
|
|
35
|
-
var pointStr = JSON.stringify(point);
|
|
36
|
-
if (output[pointStr])
|
|
37
|
-
output[pointStr].push(lineIndex);
|
|
38
|
-
else
|
|
39
|
-
output[pointStr] = [lineIndex];
|
|
40
|
-
});
|
|
41
|
-
return output;
|
|
42
|
-
}, {});
|
|
43
|
-
}
|
|
44
|
-
function findLoops(lines) {
|
|
45
|
-
var pointToLinesIndices = calcPointToLineAdjacency(lines);
|
|
46
|
-
var unvisitedSides = new Set(__spreadArray(__spreadArray([], lines.map(function (line, i) { return composeSideKey([i, line[0]]); }), true), lines.map(function (line, i) { return composeSideKey([i, line[1]]); }), true));
|
|
47
|
-
var sumCurvature = 0;
|
|
48
|
-
function nextAdjacentWallSide(side) {
|
|
49
|
-
var lineIndex = side[0], fromPoint = side[1];
|
|
50
|
-
var line = lines[lineIndex];
|
|
51
|
-
var toPoint = (0, getLineOtherPoint_1.default)(line, fromPoint);
|
|
52
|
-
var lineAng = (0, getAngleOfLineSegment_1.default)([fromPoint, toPoint]);
|
|
53
|
-
var adjacentLineIndices = pointToLinesIndices[JSON.stringify(toPoint)];
|
|
54
|
-
var nextLineIndex;
|
|
55
|
-
if (adjacentLineIndices.length === 0)
|
|
56
|
-
throw new Error();
|
|
57
|
-
if (adjacentLineIndices.length === 1) {
|
|
58
|
-
nextLineIndex = adjacentLineIndices[0];
|
|
59
|
-
sumCurvature += Math.PI;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
var smallestAngDiff = Infinity;
|
|
63
|
-
for (var _i = 0, adjacentLineIndices_1 = adjacentLineIndices; _i < adjacentLineIndices_1.length; _i++) {
|
|
64
|
-
var adjacentLineIndex = adjacentLineIndices_1[_i];
|
|
65
|
-
if (adjacentLineIndex === lineIndex)
|
|
66
|
-
continue;
|
|
67
|
-
var adjacentLine = lines[adjacentLineIndex];
|
|
68
|
-
var adjacentPoint = (0, getLineOtherPoint_1.default)(adjacentLine, toPoint);
|
|
69
|
-
var adjacentLineAng = (0, getAngleOfLineSegment_1.default)([toPoint, adjacentPoint]);
|
|
70
|
-
var angDiff = (0, euclideanMod_1.default)(lineAng - adjacentLineAng + Math.PI, Math.PI * 2);
|
|
71
|
-
if (angDiff < smallestAngDiff) {
|
|
72
|
-
smallestAngDiff = angDiff;
|
|
73
|
-
nextLineIndex = adjacentLineIndex;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
sumCurvature += smallestAngDiff - Math.PI;
|
|
77
|
-
}
|
|
78
|
-
return [nextLineIndex, toPoint];
|
|
79
|
-
}
|
|
80
|
-
function traverseLoop(start) {
|
|
81
|
-
var path = new Array();
|
|
82
|
-
var curr = start;
|
|
83
|
-
do {
|
|
84
|
-
path.push(curr[1]);
|
|
85
|
-
var currSideKey = composeSideKey(curr);
|
|
86
|
-
if (!unvisitedSides.has(currSideKey)) {
|
|
87
|
-
throw new Error('Unexpected case when computing floor area (are there parallel overlapping walls?)');
|
|
88
|
-
}
|
|
89
|
-
unvisitedSides.delete(currSideKey);
|
|
90
|
-
curr = nextAdjacentWallSide(curr);
|
|
91
|
-
} while (!areSidesEqual(start, curr));
|
|
92
|
-
return path;
|
|
93
|
-
}
|
|
94
|
-
var innerLoops = new Array();
|
|
95
|
-
var outerLoops = new Array();
|
|
96
|
-
while (unvisitedSides.size > 0) {
|
|
97
|
-
sumCurvature = 0;
|
|
98
|
-
var start = decomposeSideKey(unvisitedSides.values().next().value);
|
|
99
|
-
try {
|
|
100
|
-
var path = traverseLoop(start);
|
|
101
|
-
var isClockwise = sumCurvature < 0;
|
|
102
|
-
(isClockwise ? innerLoops : outerLoops).push(path);
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
console.log(e);
|
|
106
|
-
return {
|
|
107
|
-
inner: innerLoops,
|
|
108
|
-
outer: outerLoops,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return {
|
|
113
|
-
inner: innerLoops,
|
|
114
|
-
outer: outerLoops,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
exports.default = findLoops;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getLineSegmentsIntersection_1 = __importDefault(require("./getLineSegmentsIntersection"));
|
|
7
|
-
function getAllLineIntersections(line, lines) {
|
|
8
|
-
var lineStr = [JSON.stringify(line[0]), JSON.stringify(line[1])];
|
|
9
|
-
return lines.reduce(function (output, existingLine, i) {
|
|
10
|
-
if (existingLine === null)
|
|
11
|
-
return output;
|
|
12
|
-
var startStr = JSON.stringify(existingLine[0]);
|
|
13
|
-
var endStr = JSON.stringify(existingLine[1]);
|
|
14
|
-
if (lineStr.includes(startStr) || lineStr.includes(endStr))
|
|
15
|
-
return output;
|
|
16
|
-
var intersectionPoint = (0, getLineSegmentsIntersection_1.default)(line, existingLine);
|
|
17
|
-
if (!intersectionPoint)
|
|
18
|
-
return output;
|
|
19
|
-
output.push({ index: i, point: intersectionPoint });
|
|
20
|
-
return output;
|
|
21
|
-
}, []);
|
|
22
|
-
}
|
|
23
|
-
exports.default = getAllLineIntersections;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getAngleOfLineSegment(line) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
return Math.atan2(y2 - y1, x2 - x1);
|
|
6
|
-
}
|
|
7
|
-
exports.default = getAngleOfLineSegment;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getClosestPointOnLineSegment(line, point) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
var lineVector = [x2 - x1, y2 - y1];
|
|
6
|
-
var pointVector = [point[0] - x1, point[1] - y1];
|
|
7
|
-
var lineLength = Math.pow(lineVector[0], 2) + Math.pow(lineVector[1], 2);
|
|
8
|
-
var dotProduct = (pointVector[0] * lineVector[0] + pointVector[1] * lineVector[1]) /
|
|
9
|
-
lineLength;
|
|
10
|
-
if (dotProduct < 0)
|
|
11
|
-
return [x1, y1];
|
|
12
|
-
if (dotProduct > 1)
|
|
13
|
-
return [x2, y2];
|
|
14
|
-
else
|
|
15
|
-
return [x1 + dotProduct * lineVector[0], y1 + dotProduct * lineVector[1]];
|
|
16
|
-
}
|
|
17
|
-
exports.default = getClosestPointOnLineSegment;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getDistanceToLine(pointOnLine, angle, point) {
|
|
4
|
-
var x1 = point[0], y1 = point[1];
|
|
5
|
-
var x2 = pointOnLine[0], y2 = pointOnLine[1];
|
|
6
|
-
var dx = Math.cos(angle);
|
|
7
|
-
var dy = Math.sin(angle);
|
|
8
|
-
return (Math.abs((y1 - y2) * dx - (x1 - x2) * dy) / Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)));
|
|
9
|
-
}
|
|
10
|
-
exports.default = getDistanceToLine;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getLengthOfLineSegment(line) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
|
|
6
|
-
}
|
|
7
|
-
exports.default = getLengthOfLineSegment;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getLineAtOffsetOnLineSegment(line, offset, length) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
var d = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
|
|
6
|
-
var startRatio = offset / d;
|
|
7
|
-
var endRatio = (offset + length) / d;
|
|
8
|
-
var startX = x1 + startRatio * (x2 - x1);
|
|
9
|
-
var startY = y1 + startRatio * (y2 - y1);
|
|
10
|
-
var endX = x1 + endRatio * (x2 - x1);
|
|
11
|
-
var endY = y1 + endRatio * (y2 - y1);
|
|
12
|
-
return [
|
|
13
|
-
[startX, startY],
|
|
14
|
-
[endX, endY],
|
|
15
|
-
];
|
|
16
|
-
}
|
|
17
|
-
exports.default = getLineAtOffsetOnLineSegment;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var geometry_1 = require("../geometry");
|
|
4
|
-
function getLineOtherPoint(line, point) {
|
|
5
|
-
var eq0 = (0, geometry_1.arePointsEqual)(line[0], point);
|
|
6
|
-
var eq1 = (0, geometry_1.arePointsEqual)(line[1], point);
|
|
7
|
-
if (eq0 === eq1)
|
|
8
|
-
console.warn('Unexpected. Is your wall of 0 length?', JSON.parse(JSON.stringify({ line: line, point: point })));
|
|
9
|
-
return eq0 ? line[1] : line[0];
|
|
10
|
-
}
|
|
11
|
-
exports.default = getLineOtherPoint;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var arePointsEqual_1 = __importDefault(require("./arePointsEqual"));
|
|
7
|
-
function getLineSegmentsIntersection(line1, line2) {
|
|
8
|
-
if (arePointsEqual_1.default.apply(void 0, line1) || arePointsEqual_1.default.apply(void 0, line2))
|
|
9
|
-
return null;
|
|
10
|
-
if ((0, arePointsEqual_1.default)(line1[0], line2[0]))
|
|
11
|
-
return null;
|
|
12
|
-
if ((0, arePointsEqual_1.default)(line1[0], line2[1]))
|
|
13
|
-
return null;
|
|
14
|
-
if ((0, arePointsEqual_1.default)(line1[1], line2[0]))
|
|
15
|
-
return null;
|
|
16
|
-
if ((0, arePointsEqual_1.default)(line1[1], line2[1]))
|
|
17
|
-
return null;
|
|
18
|
-
var _a = line1.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
19
|
-
var _b = line2.flat(), x3 = _b[0], y3 = _b[1], x4 = _b[2], y4 = _b[3];
|
|
20
|
-
var a1 = y2 - y1;
|
|
21
|
-
var b1 = x1 - x2;
|
|
22
|
-
var c1 = a1 * x1 + b1 * y1;
|
|
23
|
-
var a2 = y4 - y3;
|
|
24
|
-
var b2 = x3 - x4;
|
|
25
|
-
var c2 = a2 * x3 + b2 * y3;
|
|
26
|
-
var determinant = a1 * b2 - a2 * b1;
|
|
27
|
-
if (determinant === 0)
|
|
28
|
-
return null;
|
|
29
|
-
var x = (b2 * c1 - b1 * c2) / determinant;
|
|
30
|
-
var y = (a1 * c2 - a2 * c1) / determinant;
|
|
31
|
-
if (x < Math.min(x1, x2) ||
|
|
32
|
-
x > Math.max(x1, x2) ||
|
|
33
|
-
x < Math.min(x3, x4) ||
|
|
34
|
-
x > Math.max(x3, x4))
|
|
35
|
-
return null;
|
|
36
|
-
if (y < Math.min(y1, y2) ||
|
|
37
|
-
y > Math.max(y1, y2) ||
|
|
38
|
-
y < Math.min(y3, y4) ||
|
|
39
|
-
y > Math.max(y3, y4))
|
|
40
|
-
return null;
|
|
41
|
-
return [x, y];
|
|
42
|
-
}
|
|
43
|
-
exports.default = getLineSegmentsIntersection;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getMidpointOfLineSegment(line) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
var xMidpoint = (x1 + x2) / 2;
|
|
6
|
-
var yMidpoint = (y1 + y2) / 2;
|
|
7
|
-
return [xMidpoint, yMidpoint];
|
|
8
|
-
}
|
|
9
|
-
exports.default = getMidpointOfLineSegment;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getUnitVectorOfLineSegment_1 = __importDefault(require("./getUnitVectorOfLineSegment"));
|
|
7
|
-
function getParallelLineSegmentAtDistance(line, distance) {
|
|
8
|
-
if (!distance)
|
|
9
|
-
return line;
|
|
10
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
11
|
-
var unitVector = (0, getUnitVectorOfLineSegment_1.default)(line);
|
|
12
|
-
var _b = distance > 0
|
|
13
|
-
? [unitVector[1], -unitVector[0]]
|
|
14
|
-
: [-unitVector[1], unitVector[0]], xNormal = _b[0], yNormal = _b[1];
|
|
15
|
-
var length = Math.abs(distance);
|
|
16
|
-
var point1 = [x1 + xNormal * length, y1 + yNormal * length];
|
|
17
|
-
var point2 = [x2 + xNormal * length, y2 + yNormal * length];
|
|
18
|
-
return [point1, point2];
|
|
19
|
-
}
|
|
20
|
-
exports.default = getParallelLineSegmentAtDistance;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getPointAtOffsetOnLineSegment(line, offset) {
|
|
4
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
5
|
-
var d = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
|
|
6
|
-
var r = offset / d;
|
|
7
|
-
var x = x1 + r * (x2 - x1);
|
|
8
|
-
var y = y1 + r * (y2 - y1);
|
|
9
|
-
return [x, y];
|
|
10
|
-
}
|
|
11
|
-
exports.default = getPointAtOffsetOnLineSegment;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getTriangleArea_1 = __importDefault(require("./getTriangleArea"));
|
|
7
|
-
function getPolygonArea(polygon) {
|
|
8
|
-
var origin = [0, 0];
|
|
9
|
-
return polygon.reduce(function (sum, point1, i) {
|
|
10
|
-
var point2 = polygon[(i + 1) % polygon.length];
|
|
11
|
-
sum += (0, getTriangleArea_1.default)(origin, point1, point2);
|
|
12
|
-
return sum;
|
|
13
|
-
}, 0);
|
|
14
|
-
}
|
|
15
|
-
exports.default = getPolygonArea;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getQuadrilateralArea(quadrilateral) {
|
|
4
|
-
var _a = quadrilateral.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3], x3 = _a[4], y3 = _a[5], x4 = _a[6], y4 = _a[7];
|
|
5
|
-
var area = Math.abs((x1 * y2 +
|
|
6
|
-
x2 * y3 +
|
|
7
|
-
x3 * y4 +
|
|
8
|
-
x4 * y1 -
|
|
9
|
-
x2 * y1 -
|
|
10
|
-
x3 * y2 -
|
|
11
|
-
x4 * y3 -
|
|
12
|
-
x1 * y4) /
|
|
13
|
-
2);
|
|
14
|
-
return area;
|
|
15
|
-
}
|
|
16
|
-
exports.default = getQuadrilateralArea;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getClosestPointOnLineSegment_1 = __importDefault(require("./getClosestPointOnLineSegment"));
|
|
7
|
-
var getLengthOfLineSegment_1 = __importDefault(require("./getLengthOfLineSegment"));
|
|
8
|
-
function getTangetIntersectionAndOffset(line, point) {
|
|
9
|
-
var interceptPoint = (0, getClosestPointOnLineSegment_1.default)(line, point);
|
|
10
|
-
if (!interceptPoint)
|
|
11
|
-
return undefined;
|
|
12
|
-
return {
|
|
13
|
-
point: interceptPoint,
|
|
14
|
-
offset: (0, getLengthOfLineSegment_1.default)([line[0], interceptPoint]),
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
exports.default = getTangetIntersectionAndOffset;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getTriangleArea(point1, point2, point3) {
|
|
4
|
-
return ((point1[0] * (point2[1] - point3[1]) +
|
|
5
|
-
point2[0] * (point3[1] - point1[1]) +
|
|
6
|
-
point3[0] * (point1[1] - point2[1])) /
|
|
7
|
-
2);
|
|
8
|
-
}
|
|
9
|
-
exports.default = getTriangleArea;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var getLengthOfLineSegment_1 = __importDefault(require("./getLengthOfLineSegment"));
|
|
7
|
-
function getUnitVectorOfLineSegment(line) {
|
|
8
|
-
var _a = line.flat(), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];
|
|
9
|
-
var magnitude = (0, getLengthOfLineSegment_1.default)(line);
|
|
10
|
-
return [(x2 - x1) / magnitude, (y2 - y1) / magnitude];
|
|
11
|
-
}
|
|
12
|
-
exports.default = getUnitVectorOfLineSegment;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import euclideanMod from './euclideanMod';
|
|
2
|
-
import arePointsEqual from './arePointsEqual';
|
|
3
|
-
import areLinesEqual from './areLinesEqual';
|
|
4
|
-
import getLineOtherPoint from './getLineOtherPoint';
|
|
5
|
-
import getLengthOfLineSegment from './getLengthOfLineSegment';
|
|
6
|
-
import getUnitVectorOfLineSegment from './getUnitVectorOfLineSegment';
|
|
7
|
-
import getMidpointOfLineSegment from './getMidpointOfLineSegment';
|
|
8
|
-
import getAngleOfLineSegment from './getAngleOfLineSegment';
|
|
9
|
-
import getPointAtOffsetOnLineSegment from './getPointAtOffsetOnLineSegment';
|
|
10
|
-
import getLineAtOffsetOnLineSegment from './getLineAtOffsetOnLineSegment';
|
|
11
|
-
import getDistanceToLine from './getDistanceToLine';
|
|
12
|
-
import closestPointOnLine from './closestPointOnLine';
|
|
13
|
-
import getQuadrilateralArea from './getQuadrilateralArea';
|
|
14
|
-
import getTriangleArea from './getTriangleArea';
|
|
15
|
-
import getPolygonArea from './getPolygonArea';
|
|
16
|
-
import getParallelLineSegmentAtDistance from './getParallelLineSegmentAtDistance';
|
|
17
|
-
import addThicknessToLine from './addThicknessToLine';
|
|
18
|
-
import arePointsWithinProximity from './arePointsWithinProximity';
|
|
19
|
-
import isPointInQuadrilateral from './isPointInQuadrilateral';
|
|
20
|
-
import isPointInPolygon from './isPointInPolygon';
|
|
21
|
-
import getLineSegmentsIntersection from './getLineSegmentsIntersection';
|
|
22
|
-
import splitLineAtPoint from './splitLineAtPoint';
|
|
23
|
-
import splitLineAtPoints from './splitLineAtPoints';
|
|
24
|
-
import splitLineAtOffset from './splitLineAtOffset';
|
|
25
|
-
import orderCoordinatesOnLineSegment from './orderCoordinatesOnLineSegment';
|
|
26
|
-
import getTangetIntersectionAndOffset from './getTangetIntersectionAndOffset';
|
|
27
|
-
import getAllLineIntersections from './getAllLineIntersections';
|
|
28
|
-
import doLinesOverlap from './doLinesOverlap';
|
|
29
|
-
import findLoops from './findLoops';
|
|
30
|
-
export { euclideanMod, arePointsEqual, areLinesEqual, getLineOtherPoint, getLengthOfLineSegment, getUnitVectorOfLineSegment, getMidpointOfLineSegment, getAngleOfLineSegment, getPointAtOffsetOnLineSegment, getLineAtOffsetOnLineSegment, getDistanceToLine, closestPointOnLine, getQuadrilateralArea, getTriangleArea, getPolygonArea, getParallelLineSegmentAtDistance, addThicknessToLine, arePointsWithinProximity, isPointInQuadrilateral, isPointInPolygon, getLineSegmentsIntersection, splitLineAtPoint, splitLineAtPoints, splitLineAtOffset, orderCoordinatesOnLineSegment, getTangetIntersectionAndOffset, getAllLineIntersections, doLinesOverlap, findLoops, };
|