flo-mat 3.0.7 → 3.0.9
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/browser/index.js +23 -19
- package/browser/index.min.js +1 -1
- package/node/cp-node/cp-node-fs.d.ts +11 -11
- package/node/cp-node/cp-node-fs.js +11 -11
- package/node/cp-node/cp-node.d.ts +15 -15
- package/node/find-mat/find-mat.js +4 -0
- package/node/find-mat/find-mat.js.map +1 -1
- package/node/find-mat/get-meta.js.map +1 -1
- package/node/index.d.ts +1 -0
- package/node/index.js +1 -1
- package/node/index.js.map +1 -1
- package/node/mat/mat.d.ts +1 -1
- package/node/point-on-shape/compare-poss.d.ts +3 -3
- package/node/point-on-shape/compare-poss.js +3 -3
- package/node/point-on-shape/get-osculating-circle.d.ts +1 -1
- package/node/point-on-shape/get-osculating-circle.js +1 -1
- package/node/point-on-shape/pos-to-human-string.d.ts +1 -1
- package/node/point-on-shape/pos-to-human-string.js +1 -1
- package/node/sat/to-scale-axis.d.ts +1 -1
- package/node/sat/to-scale-axis.js +1 -1
- package/package.json +1 -1
- package/src/find-mat/find-mat.ts +6 -0
- package/src/find-mat/get-meta.ts +7 -1
- package/src/index.ts +1 -1
package/browser/index.js
CHANGED
|
@@ -916,10 +916,10 @@ function floydWarshall(graph) {
|
|
|
916
916
|
|
|
917
917
|
;// ./src/point-on-shape/compare-poss.ts
|
|
918
918
|
/**
|
|
919
|
-
* Compares two
|
|
919
|
+
* Compares two `PointOnShape`s according to their cyclic ordering imposed
|
|
920
920
|
* by their relative positions on the shape boundary.
|
|
921
|
-
* @param a The first
|
|
922
|
-
* @param b The second
|
|
921
|
+
* @param a The first `PointOnShape`.
|
|
922
|
+
* @param b The second `PointOnShape`.
|
|
923
923
|
* @internal
|
|
924
924
|
*/
|
|
925
925
|
function comparePoss(a, b) {
|
|
@@ -7217,17 +7217,17 @@ const CpNodeFs = {
|
|
|
7217
7217
|
/**
|
|
7218
7218
|
* Returns the children of this `CpNode` when seen as a MAT edge. Only
|
|
7219
7219
|
* children in a 'forward' direction are returned. These include all edges
|
|
7220
|
-
* except the 'backward' edge given by
|
|
7220
|
+
* except the 'backward' edge given by `prevOnCircle`, even terminating
|
|
7221
7221
|
* edges.
|
|
7222
7222
|
*/
|
|
7223
7223
|
getChildren: getChildren,
|
|
7224
7224
|
/**
|
|
7225
|
-
* Similar to
|
|
7225
|
+
* Similar to `getChildren` but returns the child nodes of the tree when
|
|
7226
7226
|
* `CpNode` is seen as a MAT vertex point (as opposed to edge). In this
|
|
7227
7227
|
* way the dual graph of the tree can easily be traversed - see e.g.
|
|
7228
|
-
*
|
|
7228
|
+
* `traverseVertices`. Generally, however, traversing the edges is
|
|
7229
7229
|
* preferred as it returns the entire Medial Axis (by utilizing
|
|
7230
|
-
*
|
|
7230
|
+
* `getMatCurveToNext` on each returned edge).
|
|
7231
7231
|
*/
|
|
7232
7232
|
getVertexForwardChildren: getVertexForwardChildren,
|
|
7233
7233
|
/**
|
|
@@ -7259,7 +7259,7 @@ const CpNodeFs = {
|
|
|
7259
7259
|
* maximal disk. It can be seen as a limiting case of a two-prong where the
|
|
7260
7260
|
* distance between two of the contact points tend to zero. One point
|
|
7261
7261
|
* (represented by a `CpNode` of course) will be terminating with the
|
|
7262
|
-
* other point being its
|
|
7262
|
+
* other point being its `next`, whereas the other point will *not* be
|
|
7263
7263
|
* terminating and 'points' back into the shape.
|
|
7264
7264
|
*/
|
|
7265
7265
|
isTerminating: isTerminating,
|
|
@@ -7278,7 +7278,7 @@ const CpNodeFs = {
|
|
|
7278
7278
|
* limiting case of a two-prong having zero radius.
|
|
7279
7279
|
*
|
|
7280
7280
|
* Note that two `CpNode`s are stored for each sharp corner, one being
|
|
7281
|
-
* terminating and one not. See
|
|
7281
|
+
* terminating and one not. See `isTerminating` for more details.
|
|
7282
7282
|
*/
|
|
7283
7283
|
isSharp: isSharp,
|
|
7284
7284
|
/**
|
|
@@ -7287,7 +7287,7 @@ const CpNodeFs = {
|
|
|
7287
7287
|
* corners.
|
|
7288
7288
|
*
|
|
7289
7289
|
* Note, however, that two `CpNode`s are stored for each such point to
|
|
7290
|
-
* preserve symmetry - see
|
|
7290
|
+
* preserve symmetry - see `isTerminating` for more details.
|
|
7291
7291
|
*/
|
|
7292
7292
|
isOneProng: isOneProng,
|
|
7293
7293
|
/**
|
|
@@ -7295,15 +7295,15 @@ const CpNodeFs = {
|
|
|
7295
7295
|
* by this `CpNode`.
|
|
7296
7296
|
*
|
|
7297
7297
|
* Note, however, that even one-prongs and sharp corners will return 2 (see
|
|
7298
|
-
*
|
|
7299
|
-
*
|
|
7298
|
+
* `isTerminating` for more details); if this is not desired use
|
|
7299
|
+
* `getRealProngCount` instead which will return 1 in these cases.
|
|
7300
7300
|
*/
|
|
7301
7301
|
getProngCount: getProngCount,
|
|
7302
7302
|
/**
|
|
7303
7303
|
* Returns the number of contact points (up to planar coordinates) on the
|
|
7304
7304
|
* maximal disk circle implied by this `CpNode`.
|
|
7305
7305
|
*
|
|
7306
|
-
* See also
|
|
7306
|
+
* See also `getProngCount`.
|
|
7307
7307
|
*/
|
|
7308
7308
|
getRealProngCount: getRealProngCount,
|
|
7309
7309
|
/**
|
|
@@ -7340,7 +7340,7 @@ const CpNodeFs = {
|
|
|
7340
7340
|
* Traverses the MAT tree and calls the given callback function for each vertex
|
|
7341
7341
|
* (represented by a `CpNode`) on the MAT.
|
|
7342
7342
|
*
|
|
7343
|
-
* It is usually preferable to use
|
|
7343
|
+
* It is usually preferable to use `traverseEdges` as it allows for the
|
|
7344
7344
|
* traversal of all the smooth curves representing the MAT.
|
|
7345
7345
|
* @param cpNode Any `CpNode` representing the start vertex.
|
|
7346
7346
|
* @param traverseVerticesCallback A callback function taking a single `CpNode` as parameter.
|
|
@@ -25741,7 +25741,7 @@ function getSatCulls(cpNode, s) {
|
|
|
25741
25741
|
* boundary of the shape. The SAT is a simplification of the MAT that preserves
|
|
25742
25742
|
* less detail the higher the applied scale factor. The severity at which noise
|
|
25743
25743
|
* are removed depends on the local scale of the shape.
|
|
25744
|
-
* @param mat The Medial Axis Transform (
|
|
25744
|
+
* @param mat The Medial Axis Transform (`Mat`) on which to apply the SAT.
|
|
25745
25745
|
* @param s The scale factor >= 1 (e.g. 1.3)
|
|
25746
25746
|
*/
|
|
25747
25747
|
function toScaleAxis(mat, s) {
|
|
@@ -27714,7 +27714,7 @@ function tangentExact(ps, t) {
|
|
|
27714
27714
|
*
|
|
27715
27715
|
* @param minCurvature If not Number.POSITIVE_INFINITY then the
|
|
27716
27716
|
* circle radius will be limited to this value.
|
|
27717
|
-
* @param pos The
|
|
27717
|
+
* @param pos The `PointOnShape` identifying the point.
|
|
27718
27718
|
* @param useMaxRadius
|
|
27719
27719
|
*/
|
|
27720
27720
|
function getOsculatingCircle(minCurvature, pos,
|
|
@@ -29055,6 +29055,10 @@ function findMat(loops, maxCoordinate, options) {
|
|
|
29055
29055
|
maxCoordinate, squaredDiagonalLength, loops, cpTrees, pointToCpNode,
|
|
29056
29056
|
lastInsertId, ..._meta
|
|
29057
29057
|
};
|
|
29058
|
+
// const cpTrees: Map<Loop, LlRbTree<CpNode>> = new Map();
|
|
29059
|
+
// const lastInsertId = { id: 0 };
|
|
29060
|
+
// createInitialCpTree(loops, cpTrees, sharpCornersPerLoop, lastInsertId);
|
|
29061
|
+
// const meta = getMeta(maxCoordinate, squaredDiagonalLength, loops, cpTrees, lastInsertId);
|
|
29058
29062
|
let cpNode;
|
|
29059
29063
|
cpNode = findAndAddHoleClosing2Prongs(meta);
|
|
29060
29064
|
if (typeof _debug_ !== 'undefined') {
|
|
@@ -29251,7 +29255,7 @@ function trimMat(mat) {
|
|
|
29251
29255
|
|
|
29252
29256
|
;// ./src/point-on-shape/pos-to-human-string.ts
|
|
29253
29257
|
/**
|
|
29254
|
-
* Returns a human-readable string of the given
|
|
29258
|
+
* Returns a human-readable string of the given `PointOnShape`.
|
|
29255
29259
|
* For debugging only.
|
|
29256
29260
|
* @internal
|
|
29257
29261
|
*/
|
|
@@ -30730,7 +30734,7 @@ function holeCloserNext(pairs, holeCloser) {
|
|
|
30730
30734
|
|
|
30731
30735
|
|
|
30732
30736
|
|
|
30733
|
-
// export { getMeta } from './find-mat/get-meta.js';
|
|
30734
30737
|
|
|
30735
30738
|
|
|
30736
|
-
|
|
30739
|
+
|
|
30740
|
+
export { CpNodeFs, beziersToSvgPathStr, connectHoleClosers, createInitialCpTree, createPos, debugElemNames, drawBeziersAsSinglePath, drawBranch, drawElemFs, drawElemFsDetailed, drawMat, emptyDebugElems, enableDebugForMat, find2Prong, findAndAdd2Prong, findAndAddHoleClosing2Prongs, findMats, floydWarshall, getBoundaryBeziersToNext, getBoundaryPieceBeziers, getBranches, getCloseBoundaryPointsCertified, getClosestSquareDistanceToRect, getFor2ProngsOnLoop, getGraph, getImpliedBoundaryBezierBetween, getPartialMeta, getPathsFromStr, getPointToCpNode, getPotentialClosestPointsOnCurveCertified, getSatCulls, get_shape_bounds_getShapeBounds as getShapeBounds, getSharpCornersOnLoop, isVertexSpecial, loopFromBeziers, simplifyMat, sweep_line_sweepLine as sweepLine, toScaleAxis, trimMat };
|