From ee451640b2e98f4b220054089423645e4d1b72a9 Mon Sep 17 00:00:00 2001 From: kjerandp Date: Mon, 18 Sep 2023 14:30:51 +0200 Subject: [PATCH] Added function to CurveInterpolator for returning Frenet-frames + a few fixes --- .vscode/settings.json | 5 + docs/assets/search.js | 2 +- docs/classes/CurveInterpolator.html | 245 ++++++++++++------ docs/classes/LinearCurveMapper.html | 52 ++-- docs/classes/NumericalCurveMapper.html | 62 ++--- docs/classes/Point.html | 30 +-- .../_internal_.AbstractCurveMapper.html | 48 ++-- docs/functions/add.html | 104 ++++++++ docs/functions/binarySearch.html | 7 +- docs/functions/calcKnotSequence.html | 7 +- docs/functions/calculateCoefficients.html | 7 +- docs/functions/clamp.html | 7 +- docs/functions/copyValues.html | 7 +- docs/functions/cross.html | 7 +- docs/functions/derivativeAtT.html | 7 +- docs/functions/distance.html | 7 +- docs/functions/dot.html | 7 +- docs/functions/evaluateForT.html | 7 +- docs/functions/extrapolateControlPoint.html | 7 +- docs/functions/fill.html | 7 +- docs/functions/findRootsOfT.html | 7 +- docs/functions/getControlPoints.html | 7 +- docs/functions/getCubicRoots.html | 7 +- docs/functions/getQuadRoots.html | 7 +- docs/functions/getSegmentIndexAndT.html | 7 +- docs/functions/magnitude.html | 7 +- docs/functions/map.html | 7 +- docs/functions/normalize.html | 7 +- docs/functions/orthogonal.html | 7 +- docs/functions/reduce.html | 7 +- docs/functions/rotate3d.html | 108 ++++++++ docs/functions/secondDerivativeAtT.html | 7 +- docs/functions/simplify2d.html | 7 +- docs/functions/sub.html | 104 ++++++++ docs/functions/sumOfSquares.html | 7 +- docs/functions/valueAtT.html | 7 +- docs/interfaces/_internal_.BBox.html | 6 +- .../_internal_.CurveInterpolatorOptions.html | 16 +- docs/interfaces/_internal_.CurveMapper.html | 22 +- .../_internal_.CurveParameters.html | 6 +- .../_internal_.SplineCurveOptions.html | 8 +- docs/interfaces/_internal_.VectorType.html | 20 +- docs/modules.html | 5 +- docs/types/_internal_.NumArray4.html | 2 +- docs/types/_internal_.SegmentFunction.html | 2 +- docs/types/_internal_.Vector.html | 2 +- docs/variables/EPS.html | 7 +- package.json | 2 +- src/core/interfaces.ts | 2 +- src/core/math.spec.ts | 8 + src/core/math.ts | 67 ++++- src/curve-interpolator.spec.ts | 31 +++ src/curve-interpolator.ts | 103 +++++++- 53 files changed, 958 insertions(+), 293 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 docs/functions/add.html create mode 100644 docs/functions/rotate3d.html create mode 100644 docs/functions/sub.html diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e715fdf --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "binormals" + ] +} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index c543457..f38e974 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":128,\"name\":\"CurveInterpolator\",\"url\":\"classes/CurveInterpolator.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CurveInterpolator.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_lmargin\",\"url\":\"classes/CurveInterpolator.html#_lmargin\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_curveMapper\",\"url\":\"classes/CurveInterpolator.html#_curveMapper\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/CurveInterpolator.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTimeFromPosition\",\"url\":\"classes/CurveInterpolator.html#getTimeFromPosition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionFromTime\",\"url\":\"classes/CurveInterpolator.html#getPositionFromTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionFromLength\",\"url\":\"classes/CurveInterpolator.html#getPositionFromLength\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getLengthAt\",\"url\":\"classes/CurveInterpolator.html#getLengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTimeAtKnot\",\"url\":\"classes/CurveInterpolator.html#getTimeAtKnot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionAtKnot\",\"url\":\"classes/CurveInterpolator.html#getPositionAtKnot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPointAtTime\",\"url\":\"classes/CurveInterpolator.html#getPointAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPointAt\",\"url\":\"classes/CurveInterpolator.html#getPointAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTangentAt\",\"url\":\"classes/CurveInterpolator.html#getTangentAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTangentAtTime\",\"url\":\"classes/CurveInterpolator.html#getTangentAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNormalAt\",\"url\":\"classes/CurveInterpolator.html#getNormalAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNormalAtTime\",\"url\":\"classes/CurveInterpolator.html#getNormalAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getCurvatureAt\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt\"},{\"kind\":1024,\"name\":\"curvature\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.curvature\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"radius\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.radius\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"tangent\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.tangent\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"direction\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.direction\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":2048,\"name\":\"getCurvatureAtTime\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime\"},{\"kind\":1024,\"name\":\"curvature\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.curvature-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"radius\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.radius-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"tangent\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.tangent-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"direction\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.direction-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":2048,\"name\":\"getDerivativeAt\",\"url\":\"classes/CurveInterpolator.html#getDerivativeAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getSecondDerivativeAt\",\"url\":\"classes/CurveInterpolator.html#getSecondDerivativeAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getBoundingBox\",\"url\":\"classes/CurveInterpolator.html#getBoundingBox\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPoints\",\"url\":\"classes/CurveInterpolator.html#getPoints\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNearestPosition\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-2\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition\"},{\"kind\":1024,\"name\":\"u\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-2.u\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":1024,\"name\":\"point\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-2.point\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":1024,\"name\":\"distance\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-2.distance\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":2048,\"name\":\"getIntersects\",\"url\":\"classes/CurveInterpolator.html#getIntersects\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getIntersectsAsPositions\",\"url\":\"classes/CurveInterpolator.html#getIntersectsAsPositions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getIntersectsAsTime\",\"url\":\"classes/CurveInterpolator.html#getIntersectsAsTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"createLookupTable\",\"url\":\"classes/CurveInterpolator.html#createLookupTable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CurveInterpolator.html#forEach\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CurveInterpolator.html#map\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"reduce\",\"url\":\"classes/CurveInterpolator.html#reduce\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/CurveInterpolator.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/CurveInterpolator.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/CurveInterpolator.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/CurveInterpolator.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/CurveInterpolator.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/CurveInterpolator.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"length\",\"url\":\"classes/CurveInterpolator.html#length\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minX\",\"url\":\"classes/CurveInterpolator.html#minX\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxX\",\"url\":\"classes/CurveInterpolator.html#maxX\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minY\",\"url\":\"classes/CurveInterpolator.html#minY\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxY\",\"url\":\"classes/CurveInterpolator.html#maxY\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minZ\",\"url\":\"classes/CurveInterpolator.html#minZ\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxZ\",\"url\":\"classes/CurveInterpolator.html#maxZ\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":128,\"name\":\"Point\",\"url\":\"classes/Point.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Point.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"x\",\"url\":\"classes/Point.html#x\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"y\",\"url\":\"classes/Point.html#y\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"z\",\"url\":\"classes/Point.html#z\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"w\",\"url\":\"classes/Point.html#w\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"0\",\"url\":\"classes/Point.html#0\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"1\",\"url\":\"classes/Point.html#1\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"2\",\"url\":\"classes/Point.html#2\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"3\",\"url\":\"classes/Point.html#3\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"length\",\"url\":\"classes/Point.html#length\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":64,\"name\":\"getQuadRoots\",\"url\":\"functions/getQuadRoots.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getCubicRoots\",\"url\":\"functions/getCubicRoots.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"dot\",\"url\":\"functions/dot.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"cross\",\"url\":\"functions/cross.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"sumOfSquares\",\"url\":\"functions/sumOfSquares.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"magnitude\",\"url\":\"functions/magnitude.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"distance\",\"url\":\"functions/distance.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"normalize\",\"url\":\"functions/normalize.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"orthogonal\",\"url\":\"functions/orthogonal.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":32,\"name\":\"EPS\",\"url\":\"variables/EPS.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":64,\"name\":\"fill\",\"url\":\"functions/fill.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"map\",\"url\":\"functions/map.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"reduce\",\"url\":\"functions/reduce.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"copyValues\",\"url\":\"functions/copyValues.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"simplify2d\",\"url\":\"functions/simplify2d.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"clamp\",\"url\":\"functions/clamp.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"binarySearch\",\"url\":\"functions/binarySearch.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"extrapolateControlPoint\",\"url\":\"functions/extrapolateControlPoint.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getControlPoints\",\"url\":\"functions/getControlPoints.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getSegmentIndexAndT\",\"url\":\"functions/getSegmentIndexAndT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT\"},{\"kind\":1024,\"name\":\"index\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type.index\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT.__type\"},{\"kind\":1024,\"name\":\"weight\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type.weight\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT.__type\"},{\"kind\":64,\"name\":\"calcKnotSequence\",\"url\":\"functions/calcKnotSequence.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"calculateCoefficients\",\"url\":\"functions/calculateCoefficients.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"valueAtT\",\"url\":\"functions/valueAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"derivativeAtT\",\"url\":\"functions/derivativeAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"secondDerivativeAtT\",\"url\":\"functions/secondDerivativeAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"findRootsOfT\",\"url\":\"functions/findRootsOfT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"evaluateForT\",\"url\":\"functions/evaluateForT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":128,\"name\":\"LinearCurveMapper\",\"url\":\"classes/LinearCurveMapper.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/LinearCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/LinearCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"arcLengths\",\"url\":\"classes/LinearCurveMapper.html#arcLengths\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/LinearCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLengths\",\"url\":\"classes/LinearCurveMapper.html#computeArcLengths\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/LinearCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/LinearCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/LinearCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/LinearCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/LinearCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/LinearCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/LinearCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/LinearCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/LinearCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/LinearCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/LinearCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/LinearCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/LinearCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/LinearCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/LinearCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/LinearCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/LinearCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":128,\"name\":\"NumericalCurveMapper\",\"url\":\"classes/NumericalCurveMapper.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NumericalCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_nSamples\",\"url\":\"classes/NumericalCurveMapper.html#_nSamples\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_gauss\",\"url\":\"classes/NumericalCurveMapper.html#_gauss\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/NumericalCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"arcLengths\",\"url\":\"classes/NumericalCurveMapper.html#arcLengths\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getSamples\",\"url\":\"classes/NumericalCurveMapper.html#getSamples\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLength\",\"url\":\"classes/NumericalCurveMapper.html#computeArcLength\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLengths\",\"url\":\"classes/NumericalCurveMapper.html#computeArcLengths\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"inverse\",\"url\":\"classes/NumericalCurveMapper.html#inverse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/NumericalCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/NumericalCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/NumericalCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/NumericalCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/NumericalCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/NumericalCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/NumericalCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/NumericalCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/NumericalCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/NumericalCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/NumericalCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/NumericalCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/NumericalCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/NumericalCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/NumericalCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/NumericalCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/NumericalCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/NumericalCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2,\"name\":\"\",\"url\":\"modules/_internal_.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"AbstractCurveMapper\",\"url\":\"classes/_internal_.AbstractCurveMapper.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":256,\"name\":\"CurveMapper\",\"url\":\"interfaces/_internal_.CurveMapper.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveMapper.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveMapper.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"points\",\"url\":\"interfaces/_internal_.CurveMapper.html#points\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.CurveMapper.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"evaluateForT\",\"url\":\"interfaces/_internal_.CurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"lengthAt\",\"url\":\"interfaces/_internal_.CurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-8\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getT\",\"url\":\"interfaces/_internal_.CurveMapper.html#getT\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getU\",\"url\":\"interfaces/_internal_.CurveMapper.html#getU\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-6\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getCoefficients\",\"url\":\"interfaces/_internal_.CurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"reset\",\"url\":\"interfaces/_internal_.CurveMapper.html#reset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-10\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":4194304,\"name\":\"Vector\",\"url\":\"types/_internal_.Vector.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":4194304,\"name\":\"NumArray4\",\"url\":\"types/_internal_.NumArray4.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":256,\"name\":\"BBox\",\"url\":\"interfaces/_internal_.BBox.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/_internal_.BBox.html#min\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".BBox\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/_internal_.BBox.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".BBox\"},{\"kind\":256,\"name\":\"CurveParameters\",\"url\":\"interfaces/_internal_.CurveParameters.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveParameters.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveParameters\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveParameters.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveParameters\"},{\"kind\":4194304,\"name\":\"SegmentFunction\",\"url\":\"types/_internal_.SegmentFunction.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_internal_.SegmentFunction.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\".SegmentFunction\"},{\"kind\":256,\"name\":\"CurveInterpolatorOptions\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"arcDivisions\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#arcDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"numericalApproximationOrder\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#numericalApproximationOrder\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"numericalInverseSamples\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#numericalInverseSamples\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"lmargin\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#lmargin\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":256,\"name\":\"VectorType\",\"url\":\"interfaces/_internal_.VectorType.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"0\",\"url\":\"interfaces/_internal_.VectorType.html#0\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"1\",\"url\":\"interfaces/_internal_.VectorType.html#1\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"2\",\"url\":\"interfaces/_internal_.VectorType.html#2\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"3\",\"url\":\"interfaces/_internal_.VectorType.html#3\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"x\",\"url\":\"interfaces/_internal_.VectorType.html#x\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"y\",\"url\":\"interfaces/_internal_.VectorType.html#y\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"z\",\"url\":\"interfaces/_internal_.VectorType.html#z\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"w\",\"url\":\"interfaces/_internal_.VectorType.html#w\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/_internal_.VectorType.html#length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":256,\"name\":\"SplineCurveOptions\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".SplineCurveOptions\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".SplineCurveOptions\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".SplineCurveOptions\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,49.972]],[\"comment/0\",[]],[\"name/1\",[1,36.979]],[\"comment/1\",[]],[\"name/2\",[2,49.972]],[\"comment/2\",[]],[\"name/3\",[3,49.972]],[\"comment/3\",[]],[\"name/4\",[4,38.986]],[\"comment/4\",[]],[\"name/5\",[5,49.972]],[\"comment/5\",[]],[\"name/6\",[6,49.972]],[\"comment/6\",[]],[\"name/7\",[7,49.972]],[\"comment/7\",[]],[\"name/8\",[8,49.972]],[\"comment/8\",[]],[\"name/9\",[9,49.972]],[\"comment/9\",[]],[\"name/10\",[10,49.972]],[\"comment/10\",[]],[\"name/11\",[11,49.972]],[\"comment/11\",[]],[\"name/12\",[12,49.972]],[\"comment/12\",[]],[\"name/13\",[13,49.972]],[\"comment/13\",[]],[\"name/14\",[14,49.972]],[\"comment/14\",[]],[\"name/15\",[15,49.972]],[\"comment/15\",[]],[\"name/16\",[16,49.972]],[\"comment/16\",[]],[\"name/17\",[17,49.972]],[\"comment/17\",[]],[\"name/18\",[18,27.285]],[\"comment/18\",[]],[\"name/19\",[19,44.864]],[\"comment/19\",[]],[\"name/20\",[20,44.864]],[\"comment/20\",[]],[\"name/21\",[21,44.864]],[\"comment/21\",[]],[\"name/22\",[22,44.864]],[\"comment/22\",[]],[\"name/23\",[23,49.972]],[\"comment/23\",[]],[\"name/24\",[18,27.285]],[\"comment/24\",[]],[\"name/25\",[19,44.864]],[\"comment/25\",[]],[\"name/26\",[20,44.864]],[\"comment/26\",[]],[\"name/27\",[21,44.864]],[\"comment/27\",[]],[\"name/28\",[22,44.864]],[\"comment/28\",[]],[\"name/29\",[24,49.972]],[\"comment/29\",[]],[\"name/30\",[25,49.972]],[\"comment/30\",[]],[\"name/31\",[26,49.972]],[\"comment/31\",[]],[\"name/32\",[27,49.972]],[\"comment/32\",[]],[\"name/33\",[28,49.972]],[\"comment/33\",[]],[\"name/34\",[18,27.285]],[\"comment/34\",[]],[\"name/35\",[29,49.972]],[\"comment/35\",[]],[\"name/36\",[30,44.864]],[\"comment/36\",[]],[\"name/37\",[31,44.864]],[\"comment/37\",[]],[\"name/38\",[32,49.972]],[\"comment/38\",[]],[\"name/39\",[33,49.972]],[\"comment/39\",[]],[\"name/40\",[34,49.972]],[\"comment/40\",[]],[\"name/41\",[35,49.972]],[\"comment/41\",[]],[\"name/42\",[36,49.972]],[\"comment/42\",[]],[\"name/43\",[37,44.864]],[\"comment/43\",[]],[\"name/44\",[38,44.864]],[\"comment/44\",[]],[\"name/45\",[39,38.986]],[\"comment/45\",[]],[\"name/46\",[40,36.979]],[\"comment/46\",[]],[\"name/47\",[41,36.979]],[\"comment/47\",[]],[\"name/48\",[42,32.626]],[\"comment/48\",[]],[\"name/49\",[43,32.626]],[\"comment/49\",[]],[\"name/50\",[44,33.878]],[\"comment/50\",[]],[\"name/51\",[45,41.499]],[\"comment/51\",[]],[\"name/52\",[46,49.972]],[\"comment/52\",[]],[\"name/53\",[47,49.972]],[\"comment/53\",[]],[\"name/54\",[48,49.972]],[\"comment/54\",[]],[\"name/55\",[49,49.972]],[\"comment/55\",[]],[\"name/56\",[50,49.972]],[\"comment/56\",[]],[\"name/57\",[51,49.972]],[\"comment/57\",[]],[\"name/58\",[30,44.864]],[\"comment/58\",[]],[\"name/59\",[1,36.979]],[\"comment/59\",[]],[\"name/60\",[52,44.864]],[\"comment/60\",[]],[\"name/61\",[53,44.864]],[\"comment/61\",[]],[\"name/62\",[54,44.864]],[\"comment/62\",[]],[\"name/63\",[55,44.864]],[\"comment/63\",[]],[\"name/64\",[56,44.864]],[\"comment/64\",[]],[\"name/65\",[57,44.864]],[\"comment/65\",[]],[\"name/66\",[58,44.864]],[\"comment/66\",[]],[\"name/67\",[59,44.864]],[\"comment/67\",[]],[\"name/68\",[45,41.499]],[\"comment/68\",[]],[\"name/69\",[60,49.972]],[\"comment/69\",[]],[\"name/70\",[61,49.972]],[\"comment/70\",[]],[\"name/71\",[62,49.972]],[\"comment/71\",[]],[\"name/72\",[63,49.972]],[\"comment/72\",[]],[\"name/73\",[64,49.972]],[\"comment/73\",[]],[\"name/74\",[65,49.972]],[\"comment/74\",[]],[\"name/75\",[31,44.864]],[\"comment/75\",[]],[\"name/76\",[66,49.972]],[\"comment/76\",[]],[\"name/77\",[67,49.972]],[\"comment/77\",[]],[\"name/78\",[68,49.972]],[\"comment/78\",[]],[\"name/79\",[69,49.972]],[\"comment/79\",[]],[\"name/80\",[37,44.864]],[\"comment/80\",[]],[\"name/81\",[38,44.864]],[\"comment/81\",[]],[\"name/82\",[70,49.972]],[\"comment/82\",[]],[\"name/83\",[71,49.972]],[\"comment/83\",[]],[\"name/84\",[72,49.972]],[\"comment/84\",[]],[\"name/85\",[73,49.972]],[\"comment/85\",[]],[\"name/86\",[74,49.972]],[\"comment/86\",[]],[\"name/87\",[75,49.972]],[\"comment/87\",[]],[\"name/88\",[76,49.972]],[\"comment/88\",[]],[\"name/89\",[18,27.285]],[\"comment/89\",[]],[\"name/90\",[77,49.972]],[\"comment/90\",[]],[\"name/91\",[78,49.972]],[\"comment/91\",[]],[\"name/92\",[79,49.972]],[\"comment/92\",[]],[\"name/93\",[80,49.972]],[\"comment/93\",[]],[\"name/94\",[81,49.972]],[\"comment/94\",[]],[\"name/95\",[82,49.972]],[\"comment/95\",[]],[\"name/96\",[83,49.972]],[\"comment/96\",[]],[\"name/97\",[84,49.972]],[\"comment/97\",[]],[\"name/98\",[85,36.979]],[\"comment/98\",[]],[\"name/99\",[86,49.972]],[\"comment/99\",[]],[\"name/100\",[1,36.979]],[\"comment/100\",[]],[\"name/101\",[87,41.499]],[\"comment/101\",[]],[\"name/102\",[88,44.864]],[\"comment/102\",[]],[\"name/103\",[39,38.986]],[\"comment/103\",[]],[\"name/104\",[89,44.864]],[\"comment/104\",[]],[\"name/105\",[90,38.986]],[\"comment/105\",[]],[\"name/106\",[91,38.986]],[\"comment/106\",[]],[\"name/107\",[92,38.986]],[\"comment/107\",[]],[\"name/108\",[4,38.986]],[\"comment/108\",[]],[\"name/109\",[93,41.499]],[\"comment/109\",[]],[\"name/110\",[94,41.499]],[\"comment/110\",[]],[\"name/111\",[95,41.499]],[\"comment/111\",[]],[\"name/112\",[96,41.499]],[\"comment/112\",[]],[\"name/113\",[97,41.499]],[\"comment/113\",[]],[\"name/114\",[18,27.285]],[\"comment/114\",[]],[\"name/115\",[43,32.626]],[\"comment/115\",[]],[\"name/116\",[42,32.626]],[\"comment/116\",[]],[\"name/117\",[41,36.979]],[\"comment/117\",[]],[\"name/118\",[44,33.878]],[\"comment/118\",[]],[\"name/119\",[40,36.979]],[\"comment/119\",[]],[\"name/120\",[85,36.979]],[\"comment/120\",[]],[\"name/121\",[98,38.986]],[\"comment/121\",[]],[\"name/122\",[99,49.972]],[\"comment/122\",[]],[\"name/123\",[1,36.979]],[\"comment/123\",[]],[\"name/124\",[100,49.972]],[\"comment/124\",[]],[\"name/125\",[101,49.972]],[\"comment/125\",[]],[\"name/126\",[39,38.986]],[\"comment/126\",[]],[\"name/127\",[88,44.864]],[\"comment/127\",[]],[\"name/128\",[102,49.972]],[\"comment/128\",[]],[\"name/129\",[103,49.972]],[\"comment/129\",[]],[\"name/130\",[89,44.864]],[\"comment/130\",[]],[\"name/131\",[104,49.972]],[\"comment/131\",[]],[\"name/132\",[90,38.986]],[\"comment/132\",[]],[\"name/133\",[91,38.986]],[\"comment/133\",[]],[\"name/134\",[92,38.986]],[\"comment/134\",[]],[\"name/135\",[87,41.499]],[\"comment/135\",[]],[\"name/136\",[4,38.986]],[\"comment/136\",[]],[\"name/137\",[93,41.499]],[\"comment/137\",[]],[\"name/138\",[94,41.499]],[\"comment/138\",[]],[\"name/139\",[95,41.499]],[\"comment/139\",[]],[\"name/140\",[96,41.499]],[\"comment/140\",[]],[\"name/141\",[97,41.499]],[\"comment/141\",[]],[\"name/142\",[18,27.285]],[\"comment/142\",[]],[\"name/143\",[43,32.626]],[\"comment/143\",[]],[\"name/144\",[42,32.626]],[\"comment/144\",[]],[\"name/145\",[41,36.979]],[\"comment/145\",[]],[\"name/146\",[44,33.878]],[\"comment/146\",[]],[\"name/147\",[40,36.979]],[\"comment/147\",[]],[\"name/148\",[85,36.979]],[\"comment/148\",[]],[\"name/149\",[98,38.986]],[\"comment/149\",[]],[\"name/150\",[105,49.972]],[\"comment/150\",[]],[\"name/151\",[106,49.972]],[\"comment/151\",[]],[\"name/152\",[1,36.979]],[\"comment/152\",[]],[\"name/153\",[87,41.499]],[\"comment/153\",[]],[\"name/154\",[4,38.986]],[\"comment/154\",[]],[\"name/155\",[93,41.499]],[\"comment/155\",[]],[\"name/156\",[94,41.499]],[\"comment/156\",[]],[\"name/157\",[95,41.499]],[\"comment/157\",[]],[\"name/158\",[96,41.499]],[\"comment/158\",[]],[\"name/159\",[97,41.499]],[\"comment/159\",[]],[\"name/160\",[18,27.285]],[\"comment/160\",[]],[\"name/161\",[39,38.986]],[\"comment/161\",[]],[\"name/162\",[90,38.986]],[\"comment/162\",[]],[\"name/163\",[91,38.986]],[\"comment/163\",[]],[\"name/164\",[92,38.986]],[\"comment/164\",[]],[\"name/165\",[43,32.626]],[\"comment/165\",[]],[\"name/166\",[42,32.626]],[\"comment/166\",[]],[\"name/167\",[41,36.979]],[\"comment/167\",[]],[\"name/168\",[44,33.878]],[\"comment/168\",[]],[\"name/169\",[40,36.979]],[\"comment/169\",[]],[\"name/170\",[85,36.979]],[\"comment/170\",[]],[\"name/171\",[98,38.986]],[\"comment/171\",[]],[\"name/172\",[107,49.972]],[\"comment/172\",[]],[\"name/173\",[43,32.626]],[\"comment/173\",[]],[\"name/174\",[42,32.626]],[\"comment/174\",[]],[\"name/175\",[41,36.979]],[\"comment/175\",[]],[\"name/176\",[44,33.878]],[\"comment/176\",[]],[\"name/177\",[85,36.979]],[\"comment/177\",[]],[\"name/178\",[18,27.285]],[\"comment/178\",[]],[\"name/179\",[90,38.986]],[\"comment/179\",[]],[\"name/180\",[18,27.285]],[\"comment/180\",[]],[\"name/181\",[91,38.986]],[\"comment/181\",[]],[\"name/182\",[18,27.285]],[\"comment/182\",[]],[\"name/183\",[92,38.986]],[\"comment/183\",[]],[\"name/184\",[18,27.285]],[\"comment/184\",[]],[\"name/185\",[98,38.986]],[\"comment/185\",[]],[\"name/186\",[18,27.285]],[\"comment/186\",[]],[\"name/187\",[40,36.979]],[\"comment/187\",[]],[\"name/188\",[18,27.285]],[\"comment/188\",[]],[\"name/189\",[108,49.972]],[\"comment/189\",[]],[\"name/190\",[109,49.972]],[\"comment/190\",[]],[\"name/191\",[110,49.972]],[\"comment/191\",[]],[\"name/192\",[111,49.972]],[\"comment/192\",[]],[\"name/193\",[112,49.972]],[\"comment/193\",[]],[\"name/194\",[113,49.972]],[\"comment/194\",[]],[\"name/195\",[42,32.626]],[\"comment/195\",[]],[\"name/196\",[43,32.626]],[\"comment/196\",[]],[\"name/197\",[114,49.972]],[\"comment/197\",[]],[\"name/198\",[18,27.285]],[\"comment/198\",[]],[\"name/199\",[115,49.972]],[\"comment/199\",[]],[\"name/200\",[116,49.972]],[\"comment/200\",[]],[\"name/201\",[117,49.972]],[\"comment/201\",[]],[\"name/202\",[118,49.972]],[\"comment/202\",[]],[\"name/203\",[119,49.972]],[\"comment/203\",[]],[\"name/204\",[44,33.878]],[\"comment/204\",[]],[\"name/205\",[42,32.626]],[\"comment/205\",[]],[\"name/206\",[43,32.626]],[\"comment/206\",[]],[\"name/207\",[120,49.972]],[\"comment/207\",[]],[\"name/208\",[56,44.864]],[\"comment/208\",[]],[\"name/209\",[57,44.864]],[\"comment/209\",[]],[\"name/210\",[58,44.864]],[\"comment/210\",[]],[\"name/211\",[59,44.864]],[\"comment/211\",[]],[\"name/212\",[52,44.864]],[\"comment/212\",[]],[\"name/213\",[53,44.864]],[\"comment/213\",[]],[\"name/214\",[54,44.864]],[\"comment/214\",[]],[\"name/215\",[55,44.864]],[\"comment/215\",[]],[\"name/216\",[45,41.499]],[\"comment/216\",[]],[\"name/217\",[121,49.972]],[\"comment/217\",[]],[\"name/218\",[44,33.878]],[\"comment/218\",[]],[\"name/219\",[42,32.626]],[\"comment/219\",[]],[\"name/220\",[43,32.626]],[\"comment/220\",[]]],\"invertedIndex\":[[\"0\",{\"_index\":56,\"name\":{\"64\":{},\"208\":{}},\"comment\":{}}],[\"1\",{\"_index\":57,\"name\":{\"65\":{},\"209\":{}},\"comment\":{}}],[\"2\",{\"_index\":58,\"name\":{\"66\":{},\"210\":{}},\"comment\":{}}],[\"3\",{\"_index\":59,\"name\":{\"67\":{},\"211\":{}},\"comment\":{}}],[\"__type\",{\"_index\":18,\"name\":{\"18\":{},\"24\":{},\"34\":{},\"89\":{},\"114\":{},\"142\":{},\"160\":{},\"178\":{},\"180\":{},\"182\":{},\"184\":{},\"186\":{},\"188\":{},\"198\":{}},\"comment\":{}}],[\"_alpha\",{\"_index\":94,\"name\":{\"110\":{},\"138\":{},\"156\":{}},\"comment\":{}}],[\"_cache\",{\"_index\":4,\"name\":{\"4\":{},\"108\":{},\"136\":{},\"154\":{}},\"comment\":{}}],[\"_closed\",{\"_index\":96,\"name\":{\"112\":{},\"140\":{},\"158\":{}},\"comment\":{}}],[\"_curvemapper\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"_gauss\",{\"_index\":101,\"name\":{\"125\":{}},\"comment\":{}}],[\"_invalidatecache\",{\"_index\":39,\"name\":{\"45\":{},\"103\":{},\"126\":{},\"161\":{}},\"comment\":{}}],[\"_lmargin\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"_nsamples\",{\"_index\":100,\"name\":{\"124\":{}},\"comment\":{}}],[\"_oninvalidatecache\",{\"_index\":97,\"name\":{\"113\":{},\"141\":{},\"159\":{}},\"comment\":{}}],[\"_points\",{\"_index\":93,\"name\":{\"109\":{},\"137\":{},\"155\":{}},\"comment\":{}}],[\"_subdivisions\",{\"_index\":87,\"name\":{\"101\":{},\"135\":{},\"153\":{}},\"comment\":{}}],[\"_tension\",{\"_index\":95,\"name\":{\"111\":{},\"139\":{},\"157\":{}},\"comment\":{}}],[\"abstractcurvemapper\",{\"_index\":106,\"name\":{\"151\":{}},\"comment\":{}}],[\"alpha\",{\"_index\":43,\"name\":{\"49\":{},\"115\":{},\"143\":{},\"165\":{},\"173\":{},\"196\":{},\"206\":{},\"220\":{}},\"comment\":{}}],[\"arcdivisions\",{\"_index\":116,\"name\":{\"200\":{}},\"comment\":{}}],[\"arclengths\",{\"_index\":88,\"name\":{\"102\":{},\"127\":{}},\"comment\":{}}],[\"bbox\",{\"_index\":110,\"name\":{\"191\":{}},\"comment\":{}}],[\"binarysearch\",{\"_index\":73,\"name\":{\"85\":{}},\"comment\":{}}],[\"calcknotsequence\",{\"_index\":79,\"name\":{\"92\":{}},\"comment\":{}}],[\"calculatecoefficients\",{\"_index\":80,\"name\":{\"93\":{}},\"comment\":{}}],[\"clamp\",{\"_index\":72,\"name\":{\"84\":{}},\"comment\":{}}],[\"closed\",{\"_index\":44,\"name\":{\"50\":{},\"118\":{},\"146\":{},\"168\":{},\"176\":{},\"204\":{},\"218\":{}},\"comment\":{}}],[\"computearclength\",{\"_index\":103,\"name\":{\"129\":{}},\"comment\":{}}],[\"computearclengths\",{\"_index\":89,\"name\":{\"104\":{},\"130\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":1,\"name\":{\"1\":{},\"59\":{},\"100\":{},\"123\":{},\"152\":{}},\"comment\":{}}],[\"copyvalues\",{\"_index\":70,\"name\":{\"82\":{}},\"comment\":{}}],[\"createlookuptable\",{\"_index\":35,\"name\":{\"41\":{}},\"comment\":{}}],[\"cross\",{\"_index\":63,\"name\":{\"72\":{}},\"comment\":{}}],[\"curvature\",{\"_index\":19,\"name\":{\"19\":{},\"25\":{}},\"comment\":{}}],[\"curveinterpolator\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"curveinterpolatoroptions\",{\"_index\":115,\"name\":{\"199\":{}},\"comment\":{}}],[\"curvemapper\",{\"_index\":107,\"name\":{\"172\":{}},\"comment\":{}}],[\"curveparameters\",{\"_index\":113,\"name\":{\"194\":{}},\"comment\":{}}],[\"derivativeatt\",{\"_index\":82,\"name\":{\"95\":{}},\"comment\":{}}],[\"direction\",{\"_index\":22,\"name\":{\"22\":{},\"28\":{}},\"comment\":{}}],[\"distance\",{\"_index\":31,\"name\":{\"37\":{},\"75\":{}},\"comment\":{}}],[\"dot\",{\"_index\":62,\"name\":{\"71\":{}},\"comment\":{}}],[\"eps\",{\"_index\":68,\"name\":{\"78\":{}},\"comment\":{}}],[\"evaluatefort\",{\"_index\":85,\"name\":{\"98\":{},\"120\":{},\"148\":{},\"170\":{},\"177\":{}},\"comment\":{}}],[\"extrapolatecontrolpoint\",{\"_index\":74,\"name\":{\"86\":{}},\"comment\":{}}],[\"fill\",{\"_index\":69,\"name\":{\"79\":{}},\"comment\":{}}],[\"findrootsoft\",{\"_index\":84,\"name\":{\"97\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":36,\"name\":{\"42\":{}},\"comment\":{}}],[\"getboundingbox\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"getcoefficients\",{\"_index\":98,\"name\":{\"121\":{},\"149\":{},\"171\":{},\"185\":{}},\"comment\":{}}],[\"getcontrolpoints\",{\"_index\":75,\"name\":{\"87\":{}},\"comment\":{}}],[\"getcubicroots\",{\"_index\":61,\"name\":{\"70\":{}},\"comment\":{}}],[\"getcurvatureat\",{\"_index\":17,\"name\":{\"17\":{}},\"comment\":{}}],[\"getcurvatureattime\",{\"_index\":23,\"name\":{\"23\":{}},\"comment\":{}}],[\"getderivativeat\",{\"_index\":24,\"name\":{\"29\":{}},\"comment\":{}}],[\"getintersects\",{\"_index\":32,\"name\":{\"38\":{}},\"comment\":{}}],[\"getintersectsaspositions\",{\"_index\":33,\"name\":{\"39\":{}},\"comment\":{}}],[\"getintersectsastime\",{\"_index\":34,\"name\":{\"40\":{}},\"comment\":{}}],[\"getlengthat\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"getnearestposition\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"getnormalat\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"getnormalattime\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"getpointat\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"getpointattime\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"getpoints\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"getpositionatknot\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"getpositionfromlength\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"getpositionfromtime\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"getquadroots\",{\"_index\":60,\"name\":{\"69\":{}},\"comment\":{}}],[\"getsamples\",{\"_index\":102,\"name\":{\"128\":{}},\"comment\":{}}],[\"getsecondderivativeat\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"getsegmentindexandt\",{\"_index\":76,\"name\":{\"88\":{}},\"comment\":{}}],[\"gett\",{\"_index\":91,\"name\":{\"106\":{},\"133\":{},\"163\":{},\"181\":{}},\"comment\":{}}],[\"gettangentat\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"gettangentattime\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"gettimeatknot\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"gettimefromposition\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"getu\",{\"_index\":92,\"name\":{\"107\":{},\"134\":{},\"164\":{},\"183\":{}},\"comment\":{}}],[\"index\",{\"_index\":77,\"name\":{\"90\":{}},\"comment\":{}}],[\"internal\",{\"_index\":105,\"name\":{\"150\":{}},\"comment\":{}}],[\"inverse\",{\"_index\":104,\"name\":{\"131\":{}},\"comment\":{}}],[\"length\",{\"_index\":45,\"name\":{\"51\":{},\"68\":{},\"216\":{}},\"comment\":{}}],[\"lengthat\",{\"_index\":90,\"name\":{\"105\":{},\"132\":{},\"162\":{},\"179\":{}},\"comment\":{}}],[\"linearcurvemapper\",{\"_index\":86,\"name\":{\"99\":{}},\"comment\":{}}],[\"lmargin\",{\"_index\":119,\"name\":{\"203\":{}},\"comment\":{}}],[\"magnitude\",{\"_index\":65,\"name\":{\"74\":{}},\"comment\":{}}],[\"map\",{\"_index\":37,\"name\":{\"43\":{},\"80\":{}},\"comment\":{}}],[\"max\",{\"_index\":112,\"name\":{\"193\":{}},\"comment\":{}}],[\"maxx\",{\"_index\":47,\"name\":{\"53\":{}},\"comment\":{}}],[\"maxy\",{\"_index\":49,\"name\":{\"55\":{}},\"comment\":{}}],[\"maxz\",{\"_index\":51,\"name\":{\"57\":{}},\"comment\":{}}],[\"min\",{\"_index\":111,\"name\":{\"192\":{}},\"comment\":{}}],[\"minx\",{\"_index\":46,\"name\":{\"52\":{}},\"comment\":{}}],[\"miny\",{\"_index\":48,\"name\":{\"54\":{}},\"comment\":{}}],[\"minz\",{\"_index\":50,\"name\":{\"56\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":66,\"name\":{\"76\":{}},\"comment\":{}}],[\"numarray4\",{\"_index\":109,\"name\":{\"190\":{}},\"comment\":{}}],[\"numericalapproximationorder\",{\"_index\":117,\"name\":{\"201\":{}},\"comment\":{}}],[\"numericalcurvemapper\",{\"_index\":99,\"name\":{\"122\":{}},\"comment\":{}}],[\"numericalinversesamples\",{\"_index\":118,\"name\":{\"202\":{}},\"comment\":{}}],[\"orthogonal\",{\"_index\":67,\"name\":{\"77\":{}},\"comment\":{}}],[\"point\",{\"_index\":30,\"name\":{\"36\":{},\"58\":{}},\"comment\":{}}],[\"points\",{\"_index\":41,\"name\":{\"47\":{},\"117\":{},\"145\":{},\"167\":{},\"175\":{}},\"comment\":{}}],[\"radius\",{\"_index\":20,\"name\":{\"20\":{},\"26\":{}},\"comment\":{}}],[\"reduce\",{\"_index\":38,\"name\":{\"44\":{},\"81\":{}},\"comment\":{}}],[\"reset\",{\"_index\":40,\"name\":{\"46\":{},\"119\":{},\"147\":{},\"169\":{},\"187\":{}},\"comment\":{}}],[\"secondderivativeatt\",{\"_index\":83,\"name\":{\"96\":{}},\"comment\":{}}],[\"segmentfunction\",{\"_index\":114,\"name\":{\"197\":{}},\"comment\":{}}],[\"simplify2d\",{\"_index\":71,\"name\":{\"83\":{}},\"comment\":{}}],[\"splinecurveoptions\",{\"_index\":121,\"name\":{\"217\":{}},\"comment\":{}}],[\"sumofsquares\",{\"_index\":64,\"name\":{\"73\":{}},\"comment\":{}}],[\"tangent\",{\"_index\":21,\"name\":{\"21\":{},\"27\":{}},\"comment\":{}}],[\"tension\",{\"_index\":42,\"name\":{\"48\":{},\"116\":{},\"144\":{},\"166\":{},\"174\":{},\"195\":{},\"205\":{},\"219\":{}},\"comment\":{}}],[\"u\",{\"_index\":29,\"name\":{\"35\":{}},\"comment\":{}}],[\"valueatt\",{\"_index\":81,\"name\":{\"94\":{}},\"comment\":{}}],[\"vector\",{\"_index\":108,\"name\":{\"189\":{}},\"comment\":{}}],[\"vectortype\",{\"_index\":120,\"name\":{\"207\":{}},\"comment\":{}}],[\"w\",{\"_index\":55,\"name\":{\"63\":{},\"215\":{}},\"comment\":{}}],[\"weight\",{\"_index\":78,\"name\":{\"91\":{}},\"comment\":{}}],[\"x\",{\"_index\":52,\"name\":{\"60\":{},\"212\":{}},\"comment\":{}}],[\"y\",{\"_index\":53,\"name\":{\"61\":{},\"213\":{}},\"comment\":{}}],[\"z\",{\"_index\":54,\"name\":{\"62\":{},\"214\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file +window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":128,\"name\":\"CurveInterpolator\",\"url\":\"classes/CurveInterpolator.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CurveInterpolator.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_lmargin\",\"url\":\"classes/CurveInterpolator.html#_lmargin\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_curveMapper\",\"url\":\"classes/CurveInterpolator.html#_curveMapper\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/CurveInterpolator.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTimeFromPosition\",\"url\":\"classes/CurveInterpolator.html#getTimeFromPosition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionFromTime\",\"url\":\"classes/CurveInterpolator.html#getPositionFromTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionFromLength\",\"url\":\"classes/CurveInterpolator.html#getPositionFromLength\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getLengthAt\",\"url\":\"classes/CurveInterpolator.html#getLengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTimeAtKnot\",\"url\":\"classes/CurveInterpolator.html#getTimeAtKnot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPositionAtKnot\",\"url\":\"classes/CurveInterpolator.html#getPositionAtKnot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPointAtTime\",\"url\":\"classes/CurveInterpolator.html#getPointAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPointAt\",\"url\":\"classes/CurveInterpolator.html#getPointAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTangentAt\",\"url\":\"classes/CurveInterpolator.html#getTangentAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getTangentAtTime\",\"url\":\"classes/CurveInterpolator.html#getTangentAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNormalAt\",\"url\":\"classes/CurveInterpolator.html#getNormalAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNormalAtTime\",\"url\":\"classes/CurveInterpolator.html#getNormalAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getFrenetFrames\",\"url\":\"classes/CurveInterpolator.html#getFrenetFrames\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getFrenetFrames.getFrenetFrames-1.__type-2\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getFrenetFrames.getFrenetFrames\"},{\"kind\":1024,\"name\":\"tangents\",\"url\":\"classes/CurveInterpolator.html#getFrenetFrames.getFrenetFrames-1.__type-2.tangents\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getFrenetFrames.getFrenetFrames.__type\"},{\"kind\":1024,\"name\":\"normals\",\"url\":\"classes/CurveInterpolator.html#getFrenetFrames.getFrenetFrames-1.__type-2.normals\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getFrenetFrames.getFrenetFrames.__type\"},{\"kind\":1024,\"name\":\"binormals\",\"url\":\"classes/CurveInterpolator.html#getFrenetFrames.getFrenetFrames-1.__type-2.binormals\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getFrenetFrames.getFrenetFrames.__type\"},{\"kind\":2048,\"name\":\"getCurvatureAt\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt\"},{\"kind\":1024,\"name\":\"curvature\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.curvature\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"radius\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.radius\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"tangent\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.tangent\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":1024,\"name\":\"direction\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAt.getCurvatureAt-1.__type.direction\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAt.getCurvatureAt.__type\"},{\"kind\":2048,\"name\":\"getCurvatureAtTime\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime\"},{\"kind\":1024,\"name\":\"curvature\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.curvature-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"radius\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.radius-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"tangent\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.tangent-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":1024,\"name\":\"direction\",\"url\":\"classes/CurveInterpolator.html#getCurvatureAtTime.getCurvatureAtTime-1.__type-1.direction-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getCurvatureAtTime.getCurvatureAtTime.__type\"},{\"kind\":2048,\"name\":\"getDerivativeAt\",\"url\":\"classes/CurveInterpolator.html#getDerivativeAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getSecondDerivativeAt\",\"url\":\"classes/CurveInterpolator.html#getSecondDerivativeAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getBoundingBox\",\"url\":\"classes/CurveInterpolator.html#getBoundingBox\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getPoints\",\"url\":\"classes/CurveInterpolator.html#getPoints\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getNearestPosition\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-3\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition\"},{\"kind\":1024,\"name\":\"u\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-3.u\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":1024,\"name\":\"point\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-3.point\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":1024,\"name\":\"distance\",\"url\":\"classes/CurveInterpolator.html#getNearestPosition.getNearestPosition-1.__type-3.distance\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CurveInterpolator.getNearestPosition.getNearestPosition.__type\"},{\"kind\":2048,\"name\":\"getIntersects\",\"url\":\"classes/CurveInterpolator.html#getIntersects\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getIntersectsAsPositions\",\"url\":\"classes/CurveInterpolator.html#getIntersectsAsPositions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"getIntersectsAsTime\",\"url\":\"classes/CurveInterpolator.html#getIntersectsAsTime\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"createLookupTable\",\"url\":\"classes/CurveInterpolator.html#createLookupTable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CurveInterpolator.html#forEach\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CurveInterpolator.html#map\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"reduce\",\"url\":\"classes/CurveInterpolator.html#reduce\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/CurveInterpolator.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CurveInterpolator\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/CurveInterpolator.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/CurveInterpolator.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/CurveInterpolator.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/CurveInterpolator.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/CurveInterpolator.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"length\",\"url\":\"classes/CurveInterpolator.html#length\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minX\",\"url\":\"classes/CurveInterpolator.html#minX\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxX\",\"url\":\"classes/CurveInterpolator.html#maxX\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minY\",\"url\":\"classes/CurveInterpolator.html#minY\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxY\",\"url\":\"classes/CurveInterpolator.html#maxY\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"minZ\",\"url\":\"classes/CurveInterpolator.html#minZ\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":262144,\"name\":\"maxZ\",\"url\":\"classes/CurveInterpolator.html#maxZ\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CurveInterpolator\"},{\"kind\":128,\"name\":\"Point\",\"url\":\"classes/Point.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Point.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"x\",\"url\":\"classes/Point.html#x\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"y\",\"url\":\"classes/Point.html#y\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"z\",\"url\":\"classes/Point.html#z\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":1024,\"name\":\"w\",\"url\":\"classes/Point.html#w\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"0\",\"url\":\"classes/Point.html#0\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"1\",\"url\":\"classes/Point.html#1\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"2\",\"url\":\"classes/Point.html#2\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"3\",\"url\":\"classes/Point.html#3\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":262144,\"name\":\"length\",\"url\":\"classes/Point.html#length\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Point\"},{\"kind\":64,\"name\":\"getQuadRoots\",\"url\":\"functions/getQuadRoots.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getCubicRoots\",\"url\":\"functions/getCubicRoots.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"dot\",\"url\":\"functions/dot.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"cross\",\"url\":\"functions/cross.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"add\",\"url\":\"functions/add.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"sub\",\"url\":\"functions/sub.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"sumOfSquares\",\"url\":\"functions/sumOfSquares.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"magnitude\",\"url\":\"functions/magnitude.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"distance\",\"url\":\"functions/distance.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"normalize\",\"url\":\"functions/normalize.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"orthogonal\",\"url\":\"functions/orthogonal.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"rotate3d\",\"url\":\"functions/rotate3d.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":32,\"name\":\"EPS\",\"url\":\"variables/EPS.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":64,\"name\":\"fill\",\"url\":\"functions/fill.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"map\",\"url\":\"functions/map.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"reduce\",\"url\":\"functions/reduce.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"copyValues\",\"url\":\"functions/copyValues.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"simplify2d\",\"url\":\"functions/simplify2d.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"clamp\",\"url\":\"functions/clamp.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"binarySearch\",\"url\":\"functions/binarySearch.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"extrapolateControlPoint\",\"url\":\"functions/extrapolateControlPoint.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getControlPoints\",\"url\":\"functions/getControlPoints.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getSegmentIndexAndT\",\"url\":\"functions/getSegmentIndexAndT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT\"},{\"kind\":1024,\"name\":\"index\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type.index\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT.__type\"},{\"kind\":1024,\"name\":\"weight\",\"url\":\"functions/getSegmentIndexAndT.html#getSegmentIndexAndT.__type.weight\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"getSegmentIndexAndT.getSegmentIndexAndT.__type\"},{\"kind\":64,\"name\":\"calcKnotSequence\",\"url\":\"functions/calcKnotSequence.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"calculateCoefficients\",\"url\":\"functions/calculateCoefficients.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"valueAtT\",\"url\":\"functions/valueAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"derivativeAtT\",\"url\":\"functions/derivativeAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"secondDerivativeAtT\",\"url\":\"functions/secondDerivativeAtT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"findRootsOfT\",\"url\":\"functions/findRootsOfT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"evaluateForT\",\"url\":\"functions/evaluateForT.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":128,\"name\":\"LinearCurveMapper\",\"url\":\"classes/LinearCurveMapper.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/LinearCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/LinearCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"arcLengths\",\"url\":\"classes/LinearCurveMapper.html#arcLengths\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/LinearCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLengths\",\"url\":\"classes/LinearCurveMapper.html#computeArcLengths\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/LinearCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/LinearCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/LinearCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/LinearCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/LinearCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/LinearCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/LinearCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/LinearCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/LinearCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/LinearCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/LinearCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/LinearCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/LinearCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/LinearCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/LinearCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/LinearCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/LinearCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"LinearCurveMapper\"},{\"kind\":128,\"name\":\"NumericalCurveMapper\",\"url\":\"classes/NumericalCurveMapper.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NumericalCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_nSamples\",\"url\":\"classes/NumericalCurveMapper.html#_nSamples\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_gauss\",\"url\":\"classes/NumericalCurveMapper.html#_gauss\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/NumericalCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"arcLengths\",\"url\":\"classes/NumericalCurveMapper.html#arcLengths\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getSamples\",\"url\":\"classes/NumericalCurveMapper.html#getSamples\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLength\",\"url\":\"classes/NumericalCurveMapper.html#computeArcLength\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"computeArcLengths\",\"url\":\"classes/NumericalCurveMapper.html#computeArcLengths\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"inverse\",\"url\":\"classes/NumericalCurveMapper.html#inverse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/NumericalCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/NumericalCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/NumericalCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/NumericalCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/NumericalCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/NumericalCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/NumericalCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/NumericalCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/NumericalCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/NumericalCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/NumericalCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/NumericalCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/NumericalCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/NumericalCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/NumericalCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/NumericalCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/NumericalCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/NumericalCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"NumericalCurveMapper\"},{\"kind\":2,\"name\":\"\",\"url\":\"modules/_internal_.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"AbstractCurveMapper\",\"url\":\"classes/_internal_.AbstractCurveMapper.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_subDivisions\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_subDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_cache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_cache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_points\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_points\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_alpha\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_tension\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_closed\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":1024,\"name\":\"_onInvalidateCache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_onInvalidateCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"_invalidateCache\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#_invalidateCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"lengthAt\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getT\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getU\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getU\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"alpha\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#alpha\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"tension\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#tension\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"points\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#points\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":262144,\"name\":\"closed\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#closed\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"evaluateForT\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":2048,\"name\":\"getCoefficients\",\"url\":\"classes/_internal_.AbstractCurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\".AbstractCurveMapper\"},{\"kind\":256,\"name\":\"CurveMapper\",\"url\":\"interfaces/_internal_.CurveMapper.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveMapper.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveMapper.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"points\",\"url\":\"interfaces/_internal_.CurveMapper.html#points\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.CurveMapper.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"evaluateForT\",\"url\":\"interfaces/_internal_.CurveMapper.html#evaluateForT\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"lengthAt\",\"url\":\"interfaces/_internal_.CurveMapper.html#lengthAt\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-8\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getT\",\"url\":\"interfaces/_internal_.CurveMapper.html#getT\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getU\",\"url\":\"interfaces/_internal_.CurveMapper.html#getU\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-6\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"getCoefficients\",\"url\":\"interfaces/_internal_.CurveMapper.html#getCoefficients\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":1024,\"name\":\"reset\",\"url\":\"interfaces/_internal_.CurveMapper.html#reset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_internal_.CurveMapper.html#__type-10\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\".CurveMapper\"},{\"kind\":4194304,\"name\":\"Vector\",\"url\":\"types/_internal_.Vector.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":4194304,\"name\":\"NumArray4\",\"url\":\"types/_internal_.NumArray4.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":256,\"name\":\"BBox\",\"url\":\"interfaces/_internal_.BBox.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/_internal_.BBox.html#min\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".BBox\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/_internal_.BBox.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".BBox\"},{\"kind\":256,\"name\":\"CurveParameters\",\"url\":\"interfaces/_internal_.CurveParameters.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveParameters.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveParameters\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveParameters.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveParameters\"},{\"kind\":4194304,\"name\":\"SegmentFunction\",\"url\":\"types/_internal_.SegmentFunction.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_internal_.SegmentFunction.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\".SegmentFunction\"},{\"kind\":256,\"name\":\"CurveInterpolatorOptions\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"arcDivisions\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#arcDivisions\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"numericalApproximationOrder\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#numericalApproximationOrder\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"numericalInverseSamples\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#numericalInverseSamples\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"lmargin\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#lmargin\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.CurveInterpolatorOptions.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".CurveInterpolatorOptions\"},{\"kind\":256,\"name\":\"VectorType\",\"url\":\"interfaces/_internal_.VectorType.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"0\",\"url\":\"interfaces/_internal_.VectorType.html#0\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"1\",\"url\":\"interfaces/_internal_.VectorType.html#1\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"2\",\"url\":\"interfaces/_internal_.VectorType.html#2\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"3\",\"url\":\"interfaces/_internal_.VectorType.html#3\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"x\",\"url\":\"interfaces/_internal_.VectorType.html#x\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"y\",\"url\":\"interfaces/_internal_.VectorType.html#y\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"z\",\"url\":\"interfaces/_internal_.VectorType.html#z\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"w\",\"url\":\"interfaces/_internal_.VectorType.html#w\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/_internal_.VectorType.html#length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".VectorType\"},{\"kind\":256,\"name\":\"SplineCurveOptions\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"\"},{\"kind\":1024,\"name\":\"closed\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#closed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\".SplineCurveOptions\"},{\"kind\":1024,\"name\":\"tension\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#tension\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".SplineCurveOptions\"},{\"kind\":1024,\"name\":\"alpha\",\"url\":\"interfaces/_internal_.SplineCurveOptions.html#alpha\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\".SplineCurveOptions\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,50.326]],[\"comment/0\",[]],[\"name/1\",[1,37.333]],[\"comment/1\",[]],[\"name/2\",[2,50.326]],[\"comment/2\",[]],[\"name/3\",[3,50.326]],[\"comment/3\",[]],[\"name/4\",[4,39.34]],[\"comment/4\",[]],[\"name/5\",[5,50.326]],[\"comment/5\",[]],[\"name/6\",[6,50.326]],[\"comment/6\",[]],[\"name/7\",[7,50.326]],[\"comment/7\",[]],[\"name/8\",[8,50.326]],[\"comment/8\",[]],[\"name/9\",[9,50.326]],[\"comment/9\",[]],[\"name/10\",[10,50.326]],[\"comment/10\",[]],[\"name/11\",[11,50.326]],[\"comment/11\",[]],[\"name/12\",[12,50.326]],[\"comment/12\",[]],[\"name/13\",[13,50.326]],[\"comment/13\",[]],[\"name/14\",[14,50.326]],[\"comment/14\",[]],[\"name/15\",[15,50.326]],[\"comment/15\",[]],[\"name/16\",[16,50.326]],[\"comment/16\",[]],[\"name/17\",[17,50.326]],[\"comment/17\",[]],[\"name/18\",[18,26.972]],[\"comment/18\",[]],[\"name/19\",[19,50.326]],[\"comment/19\",[]],[\"name/20\",[20,50.326]],[\"comment/20\",[]],[\"name/21\",[21,50.326]],[\"comment/21\",[]],[\"name/22\",[22,50.326]],[\"comment/22\",[]],[\"name/23\",[18,26.972]],[\"comment/23\",[]],[\"name/24\",[23,45.218]],[\"comment/24\",[]],[\"name/25\",[24,45.218]],[\"comment/25\",[]],[\"name/26\",[25,45.218]],[\"comment/26\",[]],[\"name/27\",[26,45.218]],[\"comment/27\",[]],[\"name/28\",[27,50.326]],[\"comment/28\",[]],[\"name/29\",[18,26.972]],[\"comment/29\",[]],[\"name/30\",[23,45.218]],[\"comment/30\",[]],[\"name/31\",[24,45.218]],[\"comment/31\",[]],[\"name/32\",[25,45.218]],[\"comment/32\",[]],[\"name/33\",[26,45.218]],[\"comment/33\",[]],[\"name/34\",[28,50.326]],[\"comment/34\",[]],[\"name/35\",[29,50.326]],[\"comment/35\",[]],[\"name/36\",[30,50.326]],[\"comment/36\",[]],[\"name/37\",[31,50.326]],[\"comment/37\",[]],[\"name/38\",[32,50.326]],[\"comment/38\",[]],[\"name/39\",[18,26.972]],[\"comment/39\",[]],[\"name/40\",[33,50.326]],[\"comment/40\",[]],[\"name/41\",[34,45.218]],[\"comment/41\",[]],[\"name/42\",[35,45.218]],[\"comment/42\",[]],[\"name/43\",[36,50.326]],[\"comment/43\",[]],[\"name/44\",[37,50.326]],[\"comment/44\",[]],[\"name/45\",[38,50.326]],[\"comment/45\",[]],[\"name/46\",[39,50.326]],[\"comment/46\",[]],[\"name/47\",[40,50.326]],[\"comment/47\",[]],[\"name/48\",[41,45.218]],[\"comment/48\",[]],[\"name/49\",[42,45.218]],[\"comment/49\",[]],[\"name/50\",[43,39.34]],[\"comment/50\",[]],[\"name/51\",[44,37.333]],[\"comment/51\",[]],[\"name/52\",[45,37.333]],[\"comment/52\",[]],[\"name/53\",[46,32.98]],[\"comment/53\",[]],[\"name/54\",[47,32.98]],[\"comment/54\",[]],[\"name/55\",[48,34.232]],[\"comment/55\",[]],[\"name/56\",[49,41.853]],[\"comment/56\",[]],[\"name/57\",[50,50.326]],[\"comment/57\",[]],[\"name/58\",[51,50.326]],[\"comment/58\",[]],[\"name/59\",[52,50.326]],[\"comment/59\",[]],[\"name/60\",[53,50.326]],[\"comment/60\",[]],[\"name/61\",[54,50.326]],[\"comment/61\",[]],[\"name/62\",[55,50.326]],[\"comment/62\",[]],[\"name/63\",[34,45.218]],[\"comment/63\",[]],[\"name/64\",[1,37.333]],[\"comment/64\",[]],[\"name/65\",[56,45.218]],[\"comment/65\",[]],[\"name/66\",[57,45.218]],[\"comment/66\",[]],[\"name/67\",[58,45.218]],[\"comment/67\",[]],[\"name/68\",[59,45.218]],[\"comment/68\",[]],[\"name/69\",[60,45.218]],[\"comment/69\",[]],[\"name/70\",[61,45.218]],[\"comment/70\",[]],[\"name/71\",[62,45.218]],[\"comment/71\",[]],[\"name/72\",[63,45.218]],[\"comment/72\",[]],[\"name/73\",[49,41.853]],[\"comment/73\",[]],[\"name/74\",[64,50.326]],[\"comment/74\",[]],[\"name/75\",[65,50.326]],[\"comment/75\",[]],[\"name/76\",[66,50.326]],[\"comment/76\",[]],[\"name/77\",[67,50.326]],[\"comment/77\",[]],[\"name/78\",[68,50.326]],[\"comment/78\",[]],[\"name/79\",[69,50.326]],[\"comment/79\",[]],[\"name/80\",[70,50.326]],[\"comment/80\",[]],[\"name/81\",[71,50.326]],[\"comment/81\",[]],[\"name/82\",[35,45.218]],[\"comment/82\",[]],[\"name/83\",[72,50.326]],[\"comment/83\",[]],[\"name/84\",[73,50.326]],[\"comment/84\",[]],[\"name/85\",[74,50.326]],[\"comment/85\",[]],[\"name/86\",[75,50.326]],[\"comment/86\",[]],[\"name/87\",[76,50.326]],[\"comment/87\",[]],[\"name/88\",[41,45.218]],[\"comment/88\",[]],[\"name/89\",[42,45.218]],[\"comment/89\",[]],[\"name/90\",[77,50.326]],[\"comment/90\",[]],[\"name/91\",[78,50.326]],[\"comment/91\",[]],[\"name/92\",[79,50.326]],[\"comment/92\",[]],[\"name/93\",[80,50.326]],[\"comment/93\",[]],[\"name/94\",[81,50.326]],[\"comment/94\",[]],[\"name/95\",[82,50.326]],[\"comment/95\",[]],[\"name/96\",[83,50.326]],[\"comment/96\",[]],[\"name/97\",[18,26.972]],[\"comment/97\",[]],[\"name/98\",[84,50.326]],[\"comment/98\",[]],[\"name/99\",[85,50.326]],[\"comment/99\",[]],[\"name/100\",[86,50.326]],[\"comment/100\",[]],[\"name/101\",[87,50.326]],[\"comment/101\",[]],[\"name/102\",[88,50.326]],[\"comment/102\",[]],[\"name/103\",[89,50.326]],[\"comment/103\",[]],[\"name/104\",[90,50.326]],[\"comment/104\",[]],[\"name/105\",[91,50.326]],[\"comment/105\",[]],[\"name/106\",[92,37.333]],[\"comment/106\",[]],[\"name/107\",[93,50.326]],[\"comment/107\",[]],[\"name/108\",[1,37.333]],[\"comment/108\",[]],[\"name/109\",[94,41.853]],[\"comment/109\",[]],[\"name/110\",[95,45.218]],[\"comment/110\",[]],[\"name/111\",[43,39.34]],[\"comment/111\",[]],[\"name/112\",[96,45.218]],[\"comment/112\",[]],[\"name/113\",[97,39.34]],[\"comment/113\",[]],[\"name/114\",[98,39.34]],[\"comment/114\",[]],[\"name/115\",[99,39.34]],[\"comment/115\",[]],[\"name/116\",[4,39.34]],[\"comment/116\",[]],[\"name/117\",[100,41.853]],[\"comment/117\",[]],[\"name/118\",[101,41.853]],[\"comment/118\",[]],[\"name/119\",[102,41.853]],[\"comment/119\",[]],[\"name/120\",[103,41.853]],[\"comment/120\",[]],[\"name/121\",[104,41.853]],[\"comment/121\",[]],[\"name/122\",[18,26.972]],[\"comment/122\",[]],[\"name/123\",[47,32.98]],[\"comment/123\",[]],[\"name/124\",[46,32.98]],[\"comment/124\",[]],[\"name/125\",[45,37.333]],[\"comment/125\",[]],[\"name/126\",[48,34.232]],[\"comment/126\",[]],[\"name/127\",[44,37.333]],[\"comment/127\",[]],[\"name/128\",[92,37.333]],[\"comment/128\",[]],[\"name/129\",[105,39.34]],[\"comment/129\",[]],[\"name/130\",[106,50.326]],[\"comment/130\",[]],[\"name/131\",[1,37.333]],[\"comment/131\",[]],[\"name/132\",[107,50.326]],[\"comment/132\",[]],[\"name/133\",[108,50.326]],[\"comment/133\",[]],[\"name/134\",[43,39.34]],[\"comment/134\",[]],[\"name/135\",[95,45.218]],[\"comment/135\",[]],[\"name/136\",[109,50.326]],[\"comment/136\",[]],[\"name/137\",[110,50.326]],[\"comment/137\",[]],[\"name/138\",[96,45.218]],[\"comment/138\",[]],[\"name/139\",[111,50.326]],[\"comment/139\",[]],[\"name/140\",[97,39.34]],[\"comment/140\",[]],[\"name/141\",[98,39.34]],[\"comment/141\",[]],[\"name/142\",[99,39.34]],[\"comment/142\",[]],[\"name/143\",[94,41.853]],[\"comment/143\",[]],[\"name/144\",[4,39.34]],[\"comment/144\",[]],[\"name/145\",[100,41.853]],[\"comment/145\",[]],[\"name/146\",[101,41.853]],[\"comment/146\",[]],[\"name/147\",[102,41.853]],[\"comment/147\",[]],[\"name/148\",[103,41.853]],[\"comment/148\",[]],[\"name/149\",[104,41.853]],[\"comment/149\",[]],[\"name/150\",[18,26.972]],[\"comment/150\",[]],[\"name/151\",[47,32.98]],[\"comment/151\",[]],[\"name/152\",[46,32.98]],[\"comment/152\",[]],[\"name/153\",[45,37.333]],[\"comment/153\",[]],[\"name/154\",[48,34.232]],[\"comment/154\",[]],[\"name/155\",[44,37.333]],[\"comment/155\",[]],[\"name/156\",[92,37.333]],[\"comment/156\",[]],[\"name/157\",[105,39.34]],[\"comment/157\",[]],[\"name/158\",[112,50.326]],[\"comment/158\",[]],[\"name/159\",[113,50.326]],[\"comment/159\",[]],[\"name/160\",[1,37.333]],[\"comment/160\",[]],[\"name/161\",[94,41.853]],[\"comment/161\",[]],[\"name/162\",[4,39.34]],[\"comment/162\",[]],[\"name/163\",[100,41.853]],[\"comment/163\",[]],[\"name/164\",[101,41.853]],[\"comment/164\",[]],[\"name/165\",[102,41.853]],[\"comment/165\",[]],[\"name/166\",[103,41.853]],[\"comment/166\",[]],[\"name/167\",[104,41.853]],[\"comment/167\",[]],[\"name/168\",[18,26.972]],[\"comment/168\",[]],[\"name/169\",[43,39.34]],[\"comment/169\",[]],[\"name/170\",[97,39.34]],[\"comment/170\",[]],[\"name/171\",[98,39.34]],[\"comment/171\",[]],[\"name/172\",[99,39.34]],[\"comment/172\",[]],[\"name/173\",[47,32.98]],[\"comment/173\",[]],[\"name/174\",[46,32.98]],[\"comment/174\",[]],[\"name/175\",[45,37.333]],[\"comment/175\",[]],[\"name/176\",[48,34.232]],[\"comment/176\",[]],[\"name/177\",[44,37.333]],[\"comment/177\",[]],[\"name/178\",[92,37.333]],[\"comment/178\",[]],[\"name/179\",[105,39.34]],[\"comment/179\",[]],[\"name/180\",[114,50.326]],[\"comment/180\",[]],[\"name/181\",[47,32.98]],[\"comment/181\",[]],[\"name/182\",[46,32.98]],[\"comment/182\",[]],[\"name/183\",[45,37.333]],[\"comment/183\",[]],[\"name/184\",[48,34.232]],[\"comment/184\",[]],[\"name/185\",[92,37.333]],[\"comment/185\",[]],[\"name/186\",[18,26.972]],[\"comment/186\",[]],[\"name/187\",[97,39.34]],[\"comment/187\",[]],[\"name/188\",[18,26.972]],[\"comment/188\",[]],[\"name/189\",[98,39.34]],[\"comment/189\",[]],[\"name/190\",[18,26.972]],[\"comment/190\",[]],[\"name/191\",[99,39.34]],[\"comment/191\",[]],[\"name/192\",[18,26.972]],[\"comment/192\",[]],[\"name/193\",[105,39.34]],[\"comment/193\",[]],[\"name/194\",[18,26.972]],[\"comment/194\",[]],[\"name/195\",[44,37.333]],[\"comment/195\",[]],[\"name/196\",[18,26.972]],[\"comment/196\",[]],[\"name/197\",[115,50.326]],[\"comment/197\",[]],[\"name/198\",[116,50.326]],[\"comment/198\",[]],[\"name/199\",[117,50.326]],[\"comment/199\",[]],[\"name/200\",[118,50.326]],[\"comment/200\",[]],[\"name/201\",[119,50.326]],[\"comment/201\",[]],[\"name/202\",[120,50.326]],[\"comment/202\",[]],[\"name/203\",[46,32.98]],[\"comment/203\",[]],[\"name/204\",[47,32.98]],[\"comment/204\",[]],[\"name/205\",[121,50.326]],[\"comment/205\",[]],[\"name/206\",[18,26.972]],[\"comment/206\",[]],[\"name/207\",[122,50.326]],[\"comment/207\",[]],[\"name/208\",[123,50.326]],[\"comment/208\",[]],[\"name/209\",[124,50.326]],[\"comment/209\",[]],[\"name/210\",[125,50.326]],[\"comment/210\",[]],[\"name/211\",[126,50.326]],[\"comment/211\",[]],[\"name/212\",[48,34.232]],[\"comment/212\",[]],[\"name/213\",[46,32.98]],[\"comment/213\",[]],[\"name/214\",[47,32.98]],[\"comment/214\",[]],[\"name/215\",[127,50.326]],[\"comment/215\",[]],[\"name/216\",[60,45.218]],[\"comment/216\",[]],[\"name/217\",[61,45.218]],[\"comment/217\",[]],[\"name/218\",[62,45.218]],[\"comment/218\",[]],[\"name/219\",[63,45.218]],[\"comment/219\",[]],[\"name/220\",[56,45.218]],[\"comment/220\",[]],[\"name/221\",[57,45.218]],[\"comment/221\",[]],[\"name/222\",[58,45.218]],[\"comment/222\",[]],[\"name/223\",[59,45.218]],[\"comment/223\",[]],[\"name/224\",[49,41.853]],[\"comment/224\",[]],[\"name/225\",[128,50.326]],[\"comment/225\",[]],[\"name/226\",[48,34.232]],[\"comment/226\",[]],[\"name/227\",[46,32.98]],[\"comment/227\",[]],[\"name/228\",[47,32.98]],[\"comment/228\",[]]],\"invertedIndex\":[[\"0\",{\"_index\":60,\"name\":{\"69\":{},\"216\":{}},\"comment\":{}}],[\"1\",{\"_index\":61,\"name\":{\"70\":{},\"217\":{}},\"comment\":{}}],[\"2\",{\"_index\":62,\"name\":{\"71\":{},\"218\":{}},\"comment\":{}}],[\"3\",{\"_index\":63,\"name\":{\"72\":{},\"219\":{}},\"comment\":{}}],[\"__type\",{\"_index\":18,\"name\":{\"18\":{},\"23\":{},\"29\":{},\"39\":{},\"97\":{},\"122\":{},\"150\":{},\"168\":{},\"186\":{},\"188\":{},\"190\":{},\"192\":{},\"194\":{},\"196\":{},\"206\":{}},\"comment\":{}}],[\"_alpha\",{\"_index\":101,\"name\":{\"118\":{},\"146\":{},\"164\":{}},\"comment\":{}}],[\"_cache\",{\"_index\":4,\"name\":{\"4\":{},\"116\":{},\"144\":{},\"162\":{}},\"comment\":{}}],[\"_closed\",{\"_index\":103,\"name\":{\"120\":{},\"148\":{},\"166\":{}},\"comment\":{}}],[\"_curvemapper\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"_gauss\",{\"_index\":108,\"name\":{\"133\":{}},\"comment\":{}}],[\"_invalidatecache\",{\"_index\":43,\"name\":{\"50\":{},\"111\":{},\"134\":{},\"169\":{}},\"comment\":{}}],[\"_lmargin\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"_nsamples\",{\"_index\":107,\"name\":{\"132\":{}},\"comment\":{}}],[\"_oninvalidatecache\",{\"_index\":104,\"name\":{\"121\":{},\"149\":{},\"167\":{}},\"comment\":{}}],[\"_points\",{\"_index\":100,\"name\":{\"117\":{},\"145\":{},\"163\":{}},\"comment\":{}}],[\"_subdivisions\",{\"_index\":94,\"name\":{\"109\":{},\"143\":{},\"161\":{}},\"comment\":{}}],[\"_tension\",{\"_index\":102,\"name\":{\"119\":{},\"147\":{},\"165\":{}},\"comment\":{}}],[\"abstractcurvemapper\",{\"_index\":113,\"name\":{\"159\":{}},\"comment\":{}}],[\"add\",{\"_index\":68,\"name\":{\"78\":{}},\"comment\":{}}],[\"alpha\",{\"_index\":47,\"name\":{\"54\":{},\"123\":{},\"151\":{},\"173\":{},\"181\":{},\"204\":{},\"214\":{},\"228\":{}},\"comment\":{}}],[\"arcdivisions\",{\"_index\":123,\"name\":{\"208\":{}},\"comment\":{}}],[\"arclengths\",{\"_index\":95,\"name\":{\"110\":{},\"135\":{}},\"comment\":{}}],[\"bbox\",{\"_index\":117,\"name\":{\"199\":{}},\"comment\":{}}],[\"binarysearch\",{\"_index\":80,\"name\":{\"93\":{}},\"comment\":{}}],[\"binormals\",{\"_index\":21,\"name\":{\"21\":{}},\"comment\":{}}],[\"calcknotsequence\",{\"_index\":86,\"name\":{\"100\":{}},\"comment\":{}}],[\"calculatecoefficients\",{\"_index\":87,\"name\":{\"101\":{}},\"comment\":{}}],[\"clamp\",{\"_index\":79,\"name\":{\"92\":{}},\"comment\":{}}],[\"closed\",{\"_index\":48,\"name\":{\"55\":{},\"126\":{},\"154\":{},\"176\":{},\"184\":{},\"212\":{},\"226\":{}},\"comment\":{}}],[\"computearclength\",{\"_index\":110,\"name\":{\"137\":{}},\"comment\":{}}],[\"computearclengths\",{\"_index\":96,\"name\":{\"112\":{},\"138\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":1,\"name\":{\"1\":{},\"64\":{},\"108\":{},\"131\":{},\"160\":{}},\"comment\":{}}],[\"copyvalues\",{\"_index\":77,\"name\":{\"90\":{}},\"comment\":{}}],[\"createlookuptable\",{\"_index\":39,\"name\":{\"46\":{}},\"comment\":{}}],[\"cross\",{\"_index\":67,\"name\":{\"77\":{}},\"comment\":{}}],[\"curvature\",{\"_index\":23,\"name\":{\"24\":{},\"30\":{}},\"comment\":{}}],[\"curveinterpolator\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"curveinterpolatoroptions\",{\"_index\":122,\"name\":{\"207\":{}},\"comment\":{}}],[\"curvemapper\",{\"_index\":114,\"name\":{\"180\":{}},\"comment\":{}}],[\"curveparameters\",{\"_index\":120,\"name\":{\"202\":{}},\"comment\":{}}],[\"derivativeatt\",{\"_index\":89,\"name\":{\"103\":{}},\"comment\":{}}],[\"direction\",{\"_index\":26,\"name\":{\"27\":{},\"33\":{}},\"comment\":{}}],[\"distance\",{\"_index\":35,\"name\":{\"42\":{},\"82\":{}},\"comment\":{}}],[\"dot\",{\"_index\":66,\"name\":{\"76\":{}},\"comment\":{}}],[\"eps\",{\"_index\":75,\"name\":{\"86\":{}},\"comment\":{}}],[\"evaluatefort\",{\"_index\":92,\"name\":{\"106\":{},\"128\":{},\"156\":{},\"178\":{},\"185\":{}},\"comment\":{}}],[\"extrapolatecontrolpoint\",{\"_index\":81,\"name\":{\"94\":{}},\"comment\":{}}],[\"fill\",{\"_index\":76,\"name\":{\"87\":{}},\"comment\":{}}],[\"findrootsoft\",{\"_index\":91,\"name\":{\"105\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":40,\"name\":{\"47\":{}},\"comment\":{}}],[\"getboundingbox\",{\"_index\":30,\"name\":{\"36\":{}},\"comment\":{}}],[\"getcoefficients\",{\"_index\":105,\"name\":{\"129\":{},\"157\":{},\"179\":{},\"193\":{}},\"comment\":{}}],[\"getcontrolpoints\",{\"_index\":82,\"name\":{\"95\":{}},\"comment\":{}}],[\"getcubicroots\",{\"_index\":65,\"name\":{\"75\":{}},\"comment\":{}}],[\"getcurvatureat\",{\"_index\":22,\"name\":{\"22\":{}},\"comment\":{}}],[\"getcurvatureattime\",{\"_index\":27,\"name\":{\"28\":{}},\"comment\":{}}],[\"getderivativeat\",{\"_index\":28,\"name\":{\"34\":{}},\"comment\":{}}],[\"getfrenetframes\",{\"_index\":17,\"name\":{\"17\":{}},\"comment\":{}}],[\"getintersects\",{\"_index\":36,\"name\":{\"43\":{}},\"comment\":{}}],[\"getintersectsaspositions\",{\"_index\":37,\"name\":{\"44\":{}},\"comment\":{}}],[\"getintersectsastime\",{\"_index\":38,\"name\":{\"45\":{}},\"comment\":{}}],[\"getlengthat\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"getnearestposition\",{\"_index\":32,\"name\":{\"38\":{}},\"comment\":{}}],[\"getnormalat\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"getnormalattime\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"getpointat\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"getpointattime\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"getpoints\",{\"_index\":31,\"name\":{\"37\":{}},\"comment\":{}}],[\"getpositionatknot\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"getpositionfromlength\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"getpositionfromtime\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"getquadroots\",{\"_index\":64,\"name\":{\"74\":{}},\"comment\":{}}],[\"getsamples\",{\"_index\":109,\"name\":{\"136\":{}},\"comment\":{}}],[\"getsecondderivativeat\",{\"_index\":29,\"name\":{\"35\":{}},\"comment\":{}}],[\"getsegmentindexandt\",{\"_index\":83,\"name\":{\"96\":{}},\"comment\":{}}],[\"gett\",{\"_index\":98,\"name\":{\"114\":{},\"141\":{},\"171\":{},\"189\":{}},\"comment\":{}}],[\"gettangentat\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"gettangentattime\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"gettimeatknot\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"gettimefromposition\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"getu\",{\"_index\":99,\"name\":{\"115\":{},\"142\":{},\"172\":{},\"191\":{}},\"comment\":{}}],[\"index\",{\"_index\":84,\"name\":{\"98\":{}},\"comment\":{}}],[\"internal\",{\"_index\":112,\"name\":{\"158\":{}},\"comment\":{}}],[\"inverse\",{\"_index\":111,\"name\":{\"139\":{}},\"comment\":{}}],[\"length\",{\"_index\":49,\"name\":{\"56\":{},\"73\":{},\"224\":{}},\"comment\":{}}],[\"lengthat\",{\"_index\":97,\"name\":{\"113\":{},\"140\":{},\"170\":{},\"187\":{}},\"comment\":{}}],[\"linearcurvemapper\",{\"_index\":93,\"name\":{\"107\":{}},\"comment\":{}}],[\"lmargin\",{\"_index\":126,\"name\":{\"211\":{}},\"comment\":{}}],[\"magnitude\",{\"_index\":71,\"name\":{\"81\":{}},\"comment\":{}}],[\"map\",{\"_index\":41,\"name\":{\"48\":{},\"88\":{}},\"comment\":{}}],[\"max\",{\"_index\":119,\"name\":{\"201\":{}},\"comment\":{}}],[\"maxx\",{\"_index\":51,\"name\":{\"58\":{}},\"comment\":{}}],[\"maxy\",{\"_index\":53,\"name\":{\"60\":{}},\"comment\":{}}],[\"maxz\",{\"_index\":55,\"name\":{\"62\":{}},\"comment\":{}}],[\"min\",{\"_index\":118,\"name\":{\"200\":{}},\"comment\":{}}],[\"minx\",{\"_index\":50,\"name\":{\"57\":{}},\"comment\":{}}],[\"miny\",{\"_index\":52,\"name\":{\"59\":{}},\"comment\":{}}],[\"minz\",{\"_index\":54,\"name\":{\"61\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":72,\"name\":{\"83\":{}},\"comment\":{}}],[\"normals\",{\"_index\":20,\"name\":{\"20\":{}},\"comment\":{}}],[\"numarray4\",{\"_index\":116,\"name\":{\"198\":{}},\"comment\":{}}],[\"numericalapproximationorder\",{\"_index\":124,\"name\":{\"209\":{}},\"comment\":{}}],[\"numericalcurvemapper\",{\"_index\":106,\"name\":{\"130\":{}},\"comment\":{}}],[\"numericalinversesamples\",{\"_index\":125,\"name\":{\"210\":{}},\"comment\":{}}],[\"orthogonal\",{\"_index\":73,\"name\":{\"84\":{}},\"comment\":{}}],[\"point\",{\"_index\":34,\"name\":{\"41\":{},\"63\":{}},\"comment\":{}}],[\"points\",{\"_index\":45,\"name\":{\"52\":{},\"125\":{},\"153\":{},\"175\":{},\"183\":{}},\"comment\":{}}],[\"radius\",{\"_index\":24,\"name\":{\"25\":{},\"31\":{}},\"comment\":{}}],[\"reduce\",{\"_index\":42,\"name\":{\"49\":{},\"89\":{}},\"comment\":{}}],[\"reset\",{\"_index\":44,\"name\":{\"51\":{},\"127\":{},\"155\":{},\"177\":{},\"195\":{}},\"comment\":{}}],[\"rotate3d\",{\"_index\":74,\"name\":{\"85\":{}},\"comment\":{}}],[\"secondderivativeatt\",{\"_index\":90,\"name\":{\"104\":{}},\"comment\":{}}],[\"segmentfunction\",{\"_index\":121,\"name\":{\"205\":{}},\"comment\":{}}],[\"simplify2d\",{\"_index\":78,\"name\":{\"91\":{}},\"comment\":{}}],[\"splinecurveoptions\",{\"_index\":128,\"name\":{\"225\":{}},\"comment\":{}}],[\"sub\",{\"_index\":69,\"name\":{\"79\":{}},\"comment\":{}}],[\"sumofsquares\",{\"_index\":70,\"name\":{\"80\":{}},\"comment\":{}}],[\"tangent\",{\"_index\":25,\"name\":{\"26\":{},\"32\":{}},\"comment\":{}}],[\"tangents\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"tension\",{\"_index\":46,\"name\":{\"53\":{},\"124\":{},\"152\":{},\"174\":{},\"182\":{},\"203\":{},\"213\":{},\"227\":{}},\"comment\":{}}],[\"u\",{\"_index\":33,\"name\":{\"40\":{}},\"comment\":{}}],[\"valueatt\",{\"_index\":88,\"name\":{\"102\":{}},\"comment\":{}}],[\"vector\",{\"_index\":115,\"name\":{\"197\":{}},\"comment\":{}}],[\"vectortype\",{\"_index\":127,\"name\":{\"215\":{}},\"comment\":{}}],[\"w\",{\"_index\":59,\"name\":{\"68\":{},\"223\":{}},\"comment\":{}}],[\"weight\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"x\",{\"_index\":56,\"name\":{\"65\":{},\"220\":{}},\"comment\":{}}],[\"y\",{\"_index\":57,\"name\":{\"66\":{},\"221\":{}},\"comment\":{}}],[\"z\",{\"_index\":58,\"name\":{\"67\":{},\"222\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/classes/CurveInterpolator.html b/docs/classes/CurveInterpolator.html index cb029cc..b160a93 100644 --- a/docs/classes/CurveInterpolator.html +++ b/docs/classes/CurveInterpolator.html @@ -23,7 +23,7 @@

Hierarchy

  • CurveInterpolator
+
  • Defined in curve-interpolator.ts:38
  • @@ -62,6 +62,7 @@

    Methods

    getCurvatureAt getCurvatureAtTime getDerivativeAt +getFrenetFrames getIntersects getIntersectsAsPositions getIntersectsAsTime @@ -106,24 +107,24 @@
    options:

    Returns CurveInterpolator

    +
  • Defined in curve-interpolator.ts:48
  • Properties

    _cache: Map<string, object> = ...
    +
  • Defined in curve-interpolator.ts:41
  • _curveMapper: CurveMapper
    +
  • Defined in curve-interpolator.ts:40
  • _lmargin: number
    +
  • Defined in curve-interpolator.ts:39
  • Accessors

    @@ -133,7 +134,7 @@

    Returns void

    +
  • Defined in curve-interpolator.ts:764
  • set closed(isClosed: boolean): void
  • @@ -161,7 +162,7 @@

    Parameters

    isClosed: boolean
  • Returns void

    +
  • Defined in curve-interpolator.ts:768
  • +
  • Defined in curve-interpolator.ts:770
  • +
  • Defined in curve-interpolator.ts:779
  • +
  • Defined in curve-interpolator.ts:789
  • +
  • Defined in curve-interpolator.ts:799
  • +
  • Defined in curve-interpolator.ts:774
  • +
  • Defined in curve-interpolator.ts:784
  • +
  • Defined in curve-interpolator.ts:794
  • set points(pts: Vector[]): void
  • @@ -235,7 +236,7 @@

    Parameters

    pts: Vector[]
  • Returns void

    +
  • Defined in curve-interpolator.ts:756
  • set tension(t: number): void
  • @@ -253,7 +254,7 @@

    Parameters

    t: number
  • Returns void

    +
  • Defined in curve-interpolator.ts:760
  • Methods

    @@ -265,38 +266,63 @@

    Returns CurveInterpolator

    +
  • Defined in curve-interpolator.ts:742
    • - +
    • Create and cache a lookup table of n=samples points, indexed by position (u)

      Returns

      Map of positions -> points

      +
      +

      Type Parameters

      +
        +
      • +

        T

      +
      +

      Parameters

      +
        +
      • +
        func: ((u: number) => T)
        +

        function generating lookup table value

        +
        +
          +
        • +
            +
          • (u: number): T
          • +
          • Parameters

            • +
              u: number
            +

            Returns T

      • +
      • samples: number

        number of samples (segments)

      • -
        from: number = 0
        -

        start at position

        -
      • -
      • -
        to: number = 1
        -

        end at position

        -
      -

      Returns Map<number, Vector>

    +

    Returns Map<number, T>

    +
  • Defined in curve-interpolator.ts:606
  • samples: number | number[]
  • +
  • Defined in curve-interpolator.ts:646
  • +
  • Defined in curve-interpolator.ts:388
    • @@ -388,7 +419,7 @@
      radius:
      tangent: Vector
    +
  • Defined in curve-interpolator.ts:307
    • @@ -418,7 +449,7 @@
      radius:
      tangent: Vector
    +
  • Defined in curve-interpolator.ts:319
    • @@ -444,7 +475,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:361
  • @@ -454,7 +485,36 @@

    Parameters

    position: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:362
  • +
    + +
      + +
    • +

      Calculate the Frenet-Serret frames for a 3d curve, using the concept of parallel transport. +The implementation used here is basically a copy of the function used in THREE.js (https://github.com/mrdoob/three.js), +which in turn is based on the the paper "Parallel Transport Approach to Curve Framing" by Hanson and Ma +(https://legacy.cs.indiana.edu/ftp/techreports/TR425.pdf)

      + +

      Returns

      object containing arrays for tangents, normals and binormals

      +
      +
      +

      Parameters

      +
        +
      • +
        segments: number
        +

        number of samples (segments) along the curve (will return segments + 1 frames)

        +
      +

      Returns {
          binormals: Vector[];
          normals: Vector[];
          tangents: Vector[];
      }

      +
      @@ -487,7 +547,7 @@
      max: numbernumber = ...

    Returns Vector | Vector[]

    +
  • Defined in curve-interpolator.ts:541
    • @@ -514,7 +574,7 @@
      max: numbernumber = ...

    Returns number[]

    +
  • Defined in curve-interpolator.ts:552
    • @@ -541,7 +601,7 @@
      max: numbernumber = ...

    Returns number[]

    +
  • Defined in curve-interpolator.ts:562
    • @@ -561,11 +621,11 @@
      position: numberboolean = false

    Returns number

    +
  • Defined in curve-interpolator.ts:103
    • - +
    • Get the nearest position on the curve from a point. This is an approximation and its accuracy is determined by the threshold value (smaller number requires more passes but is more precise)

      @@ -582,7 +642,9 @@
      point:
      threshold: number = 0.00001

      Precision

      -
    + +
  • +
    Optional samples: number
  • Returns {
        distance: number;
        point:
    Vector;
        u: number;
    }

    +
  • Defined in curve-interpolator.ts:480
    • @@ -619,7 +681,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:191
  • @@ -629,7 +691,7 @@

    Parameters

    position: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:192
    • @@ -656,7 +718,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:204
  • @@ -666,7 +728,7 @@

    Parameters

    t: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:205
    • @@ -692,7 +754,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:155
  • @@ -702,7 +764,7 @@

    Parameters

    position: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:156
  • +
  • Defined in curve-interpolator.ts:140
    • @@ -760,7 +822,7 @@
      returnType: (Returns T

    Returns T[]

    +
  • Defined in curve-interpolator.ts:453
  • @@ -785,7 +847,7 @@

    Returns from: number

  • Returns T[]

    +
  • Defined in curve-interpolator.ts:454
  • @@ -812,12 +874,12 @@
    from: number
  • to: number

    Returns T[]

    +
  • Defined in curve-interpolator.ts:455
  • Returns any

  • +
  • Defined in curve-interpolator.ts:456
  • @@ -827,7 +889,7 @@

    Parameters

    segments: number
  • Returns any

    +
  • Defined in curve-interpolator.ts:457
  • @@ -843,7 +905,7 @@
    from: number
  • to: number

    Returns Vector[]

    +
  • Defined in curve-interpolator.ts:458
    • @@ -862,7 +924,7 @@
      index: number

    Returns number

    +
  • Defined in curve-interpolator.ts:127
  • +
  • Defined in curve-interpolator.ts:93
  • +
  • Defined in curve-interpolator.ts:83
    • @@ -932,7 +994,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:374
  • @@ -942,7 +1004,7 @@

    Parameters

    position: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:375
    • @@ -968,7 +1030,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:166
  • @@ -978,7 +1040,7 @@

    Parameters

    position: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:167
    • @@ -1004,7 +1066,7 @@
      target: T

    Returns T

    +
  • Defined in curve-interpolator.ts:178
  • @@ -1014,7 +1076,7 @@

    Parameters

    t: number
  • Returns Vector

    +
  • Defined in curve-interpolator.ts:179
    • @@ -1033,7 +1095,7 @@
      index: number

    Returns number

    +
  • Defined in curve-interpolator.ts:112
  • +
  • Defined in curve-interpolator.ts:73
    • - +
    • Convenience function for returning multiple values for a set of samples along the curve. The map function takes a user defined mapping function, which will be called for each position @@ -1066,24 +1128,29 @@

    Parameters

    • -
      func: ((__namedParameters: Object) => unknown)
      +
      func: ((__namedParameters: Object) => T)

      mapping function

        • -
        • (__namedParameters: Object): unknown
        • +
        • (__namedParameters: Object): T
        • Parameters

          • __namedParameters: Object
          -

          Returns unknown

    • +

      Returns T

  • samples: number | number[]

    number of (evenly spaced) samples OR an array of user specified positions (u)

    @@ -1096,13 +1163,13 @@
    from: numbernumber = 1

    to position

  • -

    Returns unknown[]

      - +
    • Convenience function for reducing multiple values for a set of samples along the curve. This function takes a user defined reduce function, which will be called for each position @@ -1110,26 +1177,31 @@

    Parameters

    • -
      func: ((__namedParameters: Object) => unknown)
      +
      func: ((__namedParameters: Object) => T)

      reduce function

        • -
        • (__namedParameters: Object): unknown
        • +
        • (__namedParameters: Object): T
        • Parameters

          • __namedParameters: Object
          -

          Returns unknown

    • +

      Returns T

  • -
    initialValue: unknown
    +
    initialValue: T

    initial accumulator value

  • @@ -1144,9 +1216,9 @@
    from: numbernumber = 1

    to position

  • -

    Returns unknown[]

    +
  • Defined in curve-interpolator.ts:750
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:22
  • _points: Vector[]
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:18
  • _subDivisions: number
    +
  • Defined in curve-mappers/segmented-curve-mapper.ts:14
  • _tension: number = 0.5
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:20
  • Accessors

    @@ -158,7 +158,7 @@ +
  • Defined in curve-mappers/abstract-curve-mapper.ts:61
  • set alpha(alpha: number): void
  • @@ -169,7 +169,7 @@
    alpha: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:62
  • +
  • Defined in curve-mappers/segmented-curve-mapper.ts:26
  • set closed(closed: boolean): void
  • @@ -199,7 +199,7 @@
    closed: boolean
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:94
  • set points(points: Vector[]): void
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:84
  • set tension(tension: number): void
  • @@ -243,7 +243,7 @@
    tension: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:73
  • Methods

    @@ -256,7 +256,7 @@
    +
  • Defined in curve-mappers/segmented-curve-mapper.ts:36
  • +
  • Defined in curve-mappers/segmented-curve-mapper.ts:45
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:112
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:124
  • +
  • Defined in curve-mappers/segmented-curve-mapper.ts:76
  • +
  • Defined in curve-mappers/segmented-curve-mapper.ts:103
  • +
  • Defined in curve-mappers/segmented-curve-mapper.ts:66
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:102
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:22
  • _points: Vector[]
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:18
  • _subDivisions: number
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:16
  • _tension: number = 0.5
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:20
  • Accessors

    @@ -179,7 +179,7 @@ +
  • Defined in curve-mappers/abstract-curve-mapper.ts:61
  • set alpha(alpha: number): void
  • @@ -190,7 +190,7 @@
    alpha: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:62
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:49
  • set closed(closed: boolean): void
  • @@ -220,7 +220,7 @@
    closed: boolean
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:94
  • set points(points: Vector[]): void
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:84
  • set tension(tension: number): void
  • @@ -264,7 +264,7 @@
    tension: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:73
  • Methods

    @@ -277,7 +277,7 @@
    +
  • Defined in curve-mappers/numerical-curve-mapper.ts:43
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:117
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:138
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:112
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:124
    • @@ -384,7 +384,7 @@
      idx: number

    Returns [number[], number[], number[], number[]]

    +
  • Defined in curve-mappers/numerical-curve-mapper.ts:62
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:201
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:222
    • @@ -447,7 +447,7 @@
      len: number

    Returns number

    +
  • Defined in curve-mappers/numerical-curve-mapper.ts:159
  • +
  • Defined in curve-mappers/numerical-curve-mapper.ts:192
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:102
  • Returns void

    +
  • Defined in core/point.ts:23
  • set 1(y: number): void
  • @@ -134,7 +134,7 @@

    Parameters

    y: number
  • Returns void

    +
  • Defined in core/point.ts:31
  • set 2(z: number): void
  • @@ -152,7 +152,7 @@

    Parameters

    z: number
  • Returns void

    +
  • Defined in core/point.ts:39
  • set 3(w: number): void
  • @@ -170,7 +170,7 @@

    Parameters

    w: number
  • Returns void

    +
  • Defined in core/point.ts:47
  • +
  • Defined in core/point.ts:51
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:22
  • _points: Vector[]
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:18
  • _subDivisions: number
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:16
  • _tension: number = 0.5
    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:20
  • Accessors

    @@ -156,7 +156,7 @@ +
  • Defined in curve-mappers/abstract-curve-mapper.ts:61
  • set alpha(alpha: number): void
  • @@ -167,7 +167,7 @@
    alpha: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:62
  • set closed(closed: boolean): void
  • @@ -189,7 +189,7 @@
    closed: boolean
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:94
  • set points(points: Vector[]): void
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:84
  • set tension(tension: number): void
  • @@ -233,7 +233,7 @@
    tension: number
  • Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:73
  • Methods

    @@ -247,7 +247,7 @@

    Returns

    void

    Returns void

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:40
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:112
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:124
    • @@ -308,7 +308,7 @@
      u: number

    Returns number

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:55
    • @@ -322,7 +322,7 @@
      t: number

    Returns number

    +
  • Defined in curve-mappers/abstract-curve-mapper.ts:56
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:54
  • +
  • Defined in curve-mappers/abstract-curve-mapper.ts:102
  • +
  • Defined in core/utils.ts:112
  • diff --git a/docs/functions/calcKnotSequence.html b/docs/functions/calcKnotSequence.html index 29ef92a..4275868 100644 --- a/docs/functions/calcKnotSequence.html +++ b/docs/functions/calcKnotSequence.html @@ -51,7 +51,7 @@
    alpha: numberReturns NumArray4
    +
  • Defined in core/spline-segment.ts:19
  • diff --git a/docs/functions/calculateCoefficients.html b/docs/functions/calculateCoefficients.html index c0f6185..f3d7f3f 100644 --- a/docs/functions/calculateCoefficients.html +++ b/docs/functions/calculateCoefficients.html @@ -48,7 +48,7 @@
    options: Returns NumArray4[]
    +
  • Defined in core/spline-segment.ts:40
  • diff --git a/docs/functions/clamp.html b/docs/functions/clamp.html index f0a6ada..f9011ef 100644 --- a/docs/functions/clamp.html +++ b/docs/functions/clamp.html @@ -38,7 +38,7 @@
    max: numberReturns number
    +
  • Defined in core/utils.ts:100
  • diff --git a/docs/functions/copyValues.html b/docs/functions/copyValues.html index 0371475..8c5a8cc 100644 --- a/docs/functions/copyValues.html +++ b/docs/functions/copyValues.html @@ -36,7 +36,7 @@
    Optional target: Returns Vector
    +
  • Defined in core/utils.ts:46
  • diff --git a/docs/functions/cross.html b/docs/functions/cross.html index 854ff02..31ab60b 100644 --- a/docs/functions/cross.html +++ b/docs/functions/cross.html @@ -41,7 +41,7 @@
    Optional target: Returns Vector
    +
  • Defined in core/math.ts:103
  • diff --git a/docs/functions/derivativeAtT.html b/docs/functions/derivativeAtT.html index 42370dd..2ec2c71 100644 --- a/docs/functions/derivativeAtT.html +++ b/docs/functions/derivativeAtT.html @@ -36,7 +36,7 @@
    coefficients: Returns number
    +
  • Defined in core/spline-segment.ts:92
  • diff --git a/docs/functions/distance.html b/docs/functions/distance.html index 0225295..c1235fe 100644 --- a/docs/functions/distance.html +++ b/docs/functions/distance.html @@ -36,7 +36,7 @@
    p2:

    Returns number

    +
  • Defined in core/math.ts:180
  • diff --git a/docs/functions/dot.html b/docs/functions/dot.html index 6e17b20..ad4b1de 100644 --- a/docs/functions/dot.html +++ b/docs/functions/dot.html @@ -36,7 +36,7 @@
    v2:

    Returns number

    +
  • Defined in core/math.ts:86
  • diff --git a/docs/functions/evaluateForT.html b/docs/functions/evaluateForT.html index 30041e1..bd2adaa 100644 --- a/docs/functions/evaluateForT.html +++ b/docs/functions/evaluateForT.html @@ -44,7 +44,7 @@
    target:

    Returns Vector

    +
  • Defined in core/spline-segment.ts:132
  • diff --git a/docs/functions/extrapolateControlPoint.html b/docs/functions/extrapolateControlPoint.html index a0b7e1e..27c8eef 100644 --- a/docs/functions/extrapolateControlPoint.html +++ b/docs/functions/extrapolateControlPoint.html @@ -36,7 +36,7 @@
    v:

    Returns Vector

    +
  • Defined in core/spline-curve.ts:11
  • diff --git a/docs/functions/fill.html b/docs/functions/fill.html index 0777c43..298b216 100644 --- a/docs/functions/fill.html +++ b/docs/functions/fill.html @@ -34,7 +34,7 @@
    val: number

    Returns Vector

    +
  • Defined in core/utils.ts:8
  • diff --git a/docs/functions/findRootsOfT.html b/docs/functions/findRootsOfT.html index 5deb5a5..5064279 100644 --- a/docs/functions/findRootsOfT.html +++ b/docs/functions/findRootsOfT.html @@ -34,7 +34,7 @@
    coefficients: Returns number[]
    +
  • Defined in core/spline-segment.ts:114
  • diff --git a/docs/functions/getControlPoints.html b/docs/functions/getControlPoints.html index 0ff4921..2c59569 100644 --- a/docs/functions/getControlPoints.html +++ b/docs/functions/getControlPoints.html @@ -40,7 +40,7 @@
    closed: boolean

    Returns Vector[]

    +
  • Defined in core/spline-curve.ts:26
  • diff --git a/docs/functions/getCubicRoots.html b/docs/functions/getCubicRoots.html index 97ffbb8..5e6612d 100644 --- a/docs/functions/getCubicRoots.html +++ b/docs/functions/getCubicRoots.html @@ -42,7 +42,7 @@
    d: number

    Returns number[]

    +
  • Defined in core/math.ts:43
  • diff --git a/docs/functions/getQuadRoots.html b/docs/functions/getQuadRoots.html index 6aaf206..474b6c8 100644 --- a/docs/functions/getQuadRoots.html +++ b/docs/functions/getQuadRoots.html @@ -38,7 +38,7 @@
    c: number

    Returns number[]

    +
  • Defined in core/math.ts:23
  • diff --git a/docs/functions/getSegmentIndexAndT.html b/docs/functions/getSegmentIndexAndT.html index 62da13d..3cabebd 100644 --- a/docs/functions/getSegmentIndexAndT.html +++ b/docs/functions/getSegmentIndexAndT.html @@ -43,7 +43,7 @@
    index:
    weight: number
    +
  • Defined in core/spline-curve.ts:55
  • diff --git a/docs/functions/magnitude.html b/docs/functions/magnitude.html index 3c0a397..7b5e659 100644 --- a/docs/functions/magnitude.html +++ b/docs/functions/magnitude.html @@ -30,7 +30,7 @@
    v:

    Returns number

    +
  • Defined in core/math.ts:166
  • diff --git a/docs/functions/map.html b/docs/functions/map.html index d17b448..aa3e12d 100644 --- a/docs/functions/map.html +++ b/docs/functions/map.html @@ -47,7 +47,7 @@
    i: number

    Returns number

    Returns Vector

    +
  • Defined in core/utils.ts:20
  • diff --git a/docs/functions/normalize.html b/docs/functions/normalize.html index af755ee..6dd3076 100644 --- a/docs/functions/normalize.html +++ b/docs/functions/normalize.html @@ -36,7 +36,7 @@
    Optional target: Returns Vector
    +
  • Defined in core/math.ts:191
  • diff --git a/docs/functions/orthogonal.html b/docs/functions/orthogonal.html index 3a90bb1..e09ac84 100644 --- a/docs/functions/orthogonal.html +++ b/docs/functions/orthogonal.html @@ -34,7 +34,7 @@
    Optional target: Returns Vector
    +
  • Defined in core/math.ts:205
  • diff --git a/docs/functions/reduce.html b/docs/functions/reduce.html index b1708a0..01a4ef4 100644 --- a/docs/functions/reduce.html +++ b/docs/functions/reduce.html @@ -53,7 +53,7 @@
    r: numberReturns number
    +
  • Defined in core/utils.ts:33
  • diff --git a/docs/functions/rotate3d.html b/docs/functions/rotate3d.html new file mode 100644 index 0000000..c726364 --- /dev/null +++ b/docs/functions/rotate3d.html @@ -0,0 +1,108 @@ +rotate3d | curve-interpolator
    +
    + +
    +
    +
    +
    + +

    Function rotate3d

    +
    +
      + +
    • +

      Rotate a point around the given axis and angle

      + +

      Returns

      rotated vector

      +
      +
      +

      Parameters

      +
        +
      • +
        vector: Vector
        +

        vector to rotate

        +
      • +
      • +
        axis: Vector = ...
        +

        vector defining the rotation axis

        +
      • +
      • +
        angle: number = 0
        +

        angle of rotation in radians

        +
      • +
      • +
        Optional target: Vector
        +

        optional target

        +
      +

      Returns Vector

    +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/docs/functions/secondDerivativeAtT.html b/docs/functions/secondDerivativeAtT.html index 8aa3687..3bd2a97 100644 --- a/docs/functions/secondDerivativeAtT.html +++ b/docs/functions/secondDerivativeAtT.html @@ -36,7 +36,7 @@
    coefficients: Returns number
    +
  • Defined in core/spline-segment.ts:104
  • diff --git a/docs/functions/simplify2d.html b/docs/functions/simplify2d.html index 3517eec..06a42ff 100644 --- a/docs/functions/simplify2d.html +++ b/docs/functions/simplify2d.html @@ -40,7 +40,7 @@
    maxDistance: numberReturns number[][]
    +
  • Defined in core/utils.ts:62
  • diff --git a/docs/functions/sub.html b/docs/functions/sub.html new file mode 100644 index 0000000..10bef29 --- /dev/null +++ b/docs/functions/sub.html @@ -0,0 +1,104 @@ +sub | curve-interpolator
    +
    + +
    +
    +
    +
    + +

    Function sub

    +
    +
    +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/docs/functions/sumOfSquares.html b/docs/functions/sumOfSquares.html index 5c21fee..cc31ad6 100644 --- a/docs/functions/sumOfSquares.html +++ b/docs/functions/sumOfSquares.html @@ -34,7 +34,7 @@
    v2:

    Returns number

    +
  • Defined in core/math.ts:154
  • diff --git a/docs/functions/valueAtT.html b/docs/functions/valueAtT.html index c0fefd4..8daad98 100644 --- a/docs/functions/valueAtT.html +++ b/docs/functions/valueAtT.html @@ -36,7 +36,7 @@
    coefficients: Returns number
    +
  • Defined in core/spline-segment.ts:79
  • diff --git a/docs/interfaces/_internal_.BBox.html b/docs/interfaces/_internal_.BBox.html index 0a2d101..b79248a 100644 --- a/docs/interfaces/_internal_.BBox.html +++ b/docs/interfaces/_internal_.BBox.html @@ -24,7 +24,7 @@

    Hierarchy

    • BBox
    +
  • Defined in core/interfaces.ts:87
  • @@ -41,12 +41,12 @@

    Properties

    max: Vector
    +
  • Defined in core/interfaces.ts:89
  • min: Vector
    +
  • Defined in core/interfaces.ts:88
  • +
  • Defined in core/interfaces.ts:44
  • +
  • Defined in core/interfaces.ts:18
  • getCoefficients: ((idx: number) => NumArray4[])
    @@ -95,7 +95,7 @@

    Parameters

    idx: number

    Returns NumArray4[]

    +
  • Defined in core/interfaces.ts:22
  • getT: ((u: number) => number)
    @@ -113,7 +113,7 @@

    Parameters

    u: number

    Returns number

    +
  • Defined in core/interfaces.ts:20
  • getU: ((t: number) => number)
    @@ -131,7 +131,7 @@

    Parameters

    t: number

    Returns number

    +
  • Defined in core/interfaces.ts:21
  • lengthAt: ((u: number) => number)
    @@ -149,12 +149,12 @@

    Parameters

    u: number

    Returns number

    +
  • Defined in core/interfaces.ts:19
  • points: Vector[]
    +
  • Defined in core/interfaces.ts:15
  • reset: (() => void)
    @@ -167,12 +167,12 @@

    Type declaration

  • Returns void

  • +
  • Defined in core/interfaces.ts:23
  • tension: number
    +
  • Defined in core/interfaces.ts:14
  • +
  • Defined in core/interfaces.ts:44
  • diff --git a/docs/types/_internal_.NumArray4.html b/docs/types/_internal_.NumArray4.html index 1f103e9..5d6d74a 100644 --- a/docs/types/_internal_.NumArray4.html +++ b/docs/types/_internal_.NumArray4.html @@ -20,7 +20,7 @@

    Type alias NumArray4

    Array of four number items

    +
  • Defined in core/interfaces.ts:4
  • +
  • Defined in core/interfaces.ts:11
  • +
  • Defined in core/interfaces.ts:9
  • +
  • Defined in core/math.ts:6
  • diff --git a/package.json b/package.json index ada7bb4..d6b29db 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": false, "name": "curve-interpolator", - "version": "3.1.1", + "version": "3.2.0", "description": "Interpolate values on a Cardinal/Catmull-Rom spline curve", "repository": "https://github.com/kjerandp/curve-interpolator", "bugs": { diff --git a/src/core/interfaces.ts b/src/core/interfaces.ts index e8ca21c..9fb9a3d 100644 --- a/src/core/interfaces.ts +++ b/src/core/interfaces.ts @@ -42,7 +42,7 @@ export interface VectorType { export interface CurveParameters { /* curve tension (0 = Catmull-Rom curve, 1 = linear curve) */ tension?: number, - /* curve velocity vector modifier (0 = uniform, 0.5 = centrepetal, 1 = chordal */ + /* curve velocity vector modifier (0 = uniform, 0.5 = centripetal, 1 = chordal */ alpha?: number, } diff --git a/src/core/math.spec.ts b/src/core/math.spec.ts index b2943be..2636e15 100644 --- a/src/core/math.spec.ts +++ b/src/core/math.spec.ts @@ -8,6 +8,7 @@ import { sumOfSquares, magnitude, dot, + rotate3d, } from './math'; import { expect } from 'chai'; import { @@ -131,4 +132,11 @@ describe('math.ts', () => { expect(dot([0, 0], [2, 1])).to.eq(0); expect(dot([-1, 3, 6], [2, 6, -3])).to.eq(-2); }); + + it('should rotate a point at a given angle and rotation axis', () => { + compareNumArrays(rotate3d([1, 0, 0], [0, 1, 0], Math.PI), [-1, 0, 0], EPS); + compareNumArrays(rotate3d([1, 5, 0], [0, 1, 0], Math.PI), [-1, 5, 0], EPS); + compareNumArrays(rotate3d([1, -2, 0], [0, 0, 1], Math.PI / 2), [2, 1, 0], EPS); + compareNumArrays(rotate3d([1, -2, 0], [0, 0, 1], Math.PI / 3), [2.23205080, -0.1339746, 0], EPS); + }); }); diff --git a/src/core/math.ts b/src/core/math.ts index 6bc3ae6..e698a31 100644 --- a/src/core/math.ts +++ b/src/core/math.ts @@ -100,7 +100,7 @@ export function dot(v1:Vector, v2:Vector) : number { * @param target optional target * @returns Vector perpendicular to p1 and p2 */ -export function cross(v1:Vector, v2:Vector, target? : Vector) : Vector { +export function cross(v1:Vector, v2:Vector, target?:Vector) : Vector { if (v1.length > 3) return undefined; target = target || new Array(3); @@ -114,6 +114,38 @@ export function cross(v1:Vector, v2:Vector, target? : Vector) : Vector { return target; } +/** + * Add two vectors + * @param v1 Vector + * @param v2 Vector + * @param target optional target + * @returns Sum of v1 and v2 + */ +export function add(v1:Vector, v2:Vector, target?:Vector) : Vector { + target = target || new Array(v1.length); + + for (let k = 0; k < v1.length; k++) { + target[k] = v1[k] + v2[k]; + } + return target; +} + +/** + * Subtract two vectors + * @param v1 Vector + * @param v2 Vector + * @param target optional target + * @returns Difference of v1 and v2 + */ +export function sub(v1:Vector, v2:Vector, target?:Vector) : Vector { + target = target || new Array(v1.length); + + for (let k = 0; k < v1.length; k++) { + target[k] = v1[k] - v2[k]; + } + return target; +} + /** * Calculate the sum of squares between two points * @param v1 coordinates of point 1 @@ -178,3 +210,36 @@ export function orthogonal(v:Vector, target?: Vector) : Vector { u[0] = x; return u; } + +/** + * Rotate a point around the given axis and angle + * @param vector vector to rotate + * @param axis vector defining the rotation axis + * @param angle angle of rotation in radians + * @param target optional target + * @returns rotated vector + */ +export function rotate3d(vector:Vector, axis:Vector = [0, 1, 0], angle = 0, target?: Vector) : Vector { + const c = Math.cos(angle); + const s = Math.sin(angle); + + const t = 1 - c; + + const vx = vector[0]; + const vy = vector[1]; + const vz = vector[2]; + + const ax = axis[0]; + const ay = axis[1]; + const az = axis[2]; + + const tx = t * ax, ty = t * ay; + + target = target || vector; + + target[0] = (tx * ax + c) * vx + (tx * ay - s * az) * vy + (tx * az + s * ay) * vz; + target[1] = (tx * ay + s * az) * vx + (ty * ay + c) * vy + (ty * az - s * ax) * vz; + target[2] = (tx * az - s * ay) * vx + (ty * az + s * ax) * vy + (t * az * az + c) * vz; + + return target; +} diff --git a/src/curve-interpolator.spec.ts b/src/curve-interpolator.spec.ts index 9cefb5c..889cfd6 100644 --- a/src/curve-interpolator.spec.ts +++ b/src/curve-interpolator.spec.ts @@ -273,5 +273,36 @@ describe('curve-interpolator.ts', () => { const mapped = lerp.reduce(({ acc, i }) => acc + i, 0, 10); expect(mapped).to.deep.eq(45); }); + + it('should return the Frenet-frames in 3d given a number of segments', () => { + const lerp2d = new CurveInterpolator(points, { tension: 0, alpha: 1, arcDivisions: 0 }); + expect(lerp2d.getFrenetFrames(10)).to.be.undefined; + + const lerp3d = new CurveInterpolator(points3d, { tension: 0, alpha: 1, arcDivisions: 0 }); + + const result = lerp3d.getFrenetFrames(10); + + expect(result.tangents.length).to.eq(11); + expect(result.normals.length).to.eq(11); + expect(result.binormals.length).to.eq(11); + + const normals = [ + [-0, -0, -1], + [0.009241715900917333, -0.22355726615559307, -0.9746469819561563], + [0.07519649382870604, -0.8430999136085097, -0.5324734951048672], + [0.10569030233723536, -0.9503013780798257, -0.29284270660449757], + [-0.09322439048956332, -0.8727842582591987, -0.47912091537814344], + [-0.10768487787795038, -0.8718360628865027, -0.47781361065479616], + [-0.03967909137676523, -0.8677655638926591, -0.49538721807245867], + [0.26821056388630016, -0.8510664650835947, -0.4513856061394822], + [0.4323086396065564, -0.849148468493959, -0.30340751239198555], + [0.4192160009210173, -0.8256141926158265, 0.3776495061867643], + [0.4078956847626701, -0.8244649304232898, 0.39227374224400063], + ]; + + result.normals.forEach((actual, i) => { + expect(actual).to.deep.eq(normals[i]); + }); + }); }); diff --git a/src/curve-interpolator.ts b/src/curve-interpolator.ts index d8b9410..bbdd281 100644 --- a/src/curve-interpolator.ts +++ b/src/curve-interpolator.ts @@ -10,6 +10,7 @@ import { getQuadRoots, magnitude, normalize, + rotate3d, } from './core/math'; import { @@ -218,6 +219,84 @@ export default class CurveInterpolator { return normalize(cross(cross(dt, ddt), dt), normal); } + + /** + * Calculate the Frenet-Serret frames for a 3d curve, using the concept of parallel transport. + * The implementation used here is basically a copy of the function used in THREE.js (https://github.com/mrdoob/three.js), + * which in turn is based on the the paper "Parallel Transport Approach to Curve Framing" by Hanson and Ma + * (https://legacy.cs.indiana.edu/ftp/techreports/TR425.pdf) + * @param segments number of samples (segments) along the curve (will return segments + 1 frames) + * @returns object containing arrays for tangents, normals and binormals + */ + getFrenetFrames(segments:number) : { tangents:Vector[], normals:Vector[], binormals:Vector[]} { + if (this.points[0].length !== 3) return undefined; + + const tangents = new Array(segments + 1); + const normals = new Array(segments + 1); + const binormals = new Array(segments + 1); + + for (let i = 0; i <= segments; i++) { + tangents[i] = this.getTangentAt(i / segments); + } + + // select an initial normal vector perpendicular to the first tangent vector, and in the + // direction of the minimum tangent xyz component + let normal: Vector; + + let min = Number.MAX_VALUE; + const tx = Math.abs(tangents[0][0]); + const ty = Math.abs(tangents[0][1]); + const tz = Math.abs(tangents[0][2]); + + if (tx <= min) { + min = tx; + normal = [1, 0, 0]; + } + + if (ty <= min) { + min = ty; + normal = [0, 1, 0]; + } + + if (tz <= min) { + normal = [0, 0, 1]; + } + + let vec = normalize(cross(tangents[0], normal)); + + + normals[0] = cross(tangents[0], vec); + binormals[0] = cross(tangents[0], normals[0]); + + for (let i = 1; i <= segments; i++) { + vec = cross(tangents[i - 1], tangents[i]); + normals[i] = copyValues(normals[i - 1]); + if (magnitude(vec) > EPS) { + normalize(vec); + const theta = Math.acos(clamp(dot(tangents[i - 1], tangents[i]), -1, 1)); // clamp for floating pt errors + rotate3d(normals[i - 1], vec, theta, normals[i]); + } + binormals[i] = cross(tangents[i], normals[i]); + } + + // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same + if (this.closed === true) { + let theta = Math.acos(clamp(dot(normals[0], normals[segments]), -1, 1)) / segments; + + if (dot(tangents[0], cross(normals[0], normals[segments])) > 0) { + theta = -theta; + } + + for (let i = 1; i <= segments; i++) { + // twist a little... + rotate3d(normals[i], tangents[i], theta * i, normals[i]); + binormals[i] = cross(tangents[i], normals[i]); + } + } + + return { tangents, normals, binormals }; + } + /** * Finds the curvature and radius at the specified position (0..1) on the curve. The unsigned curvature * is returned along with radius, tangent vector and, for 2D and 3D curves, a direction vector is included @@ -521,14 +600,15 @@ export default class CurveInterpolator { * Create and cache a lookup table of n=samples points, indexed by position (u) * @param func function generating lookup table value * @param samples number of samples (segments) - * @param options object of { from, to, cacheKey } - if cacheKey is included, the map will be stored in the internal cache + * @param options object of \{ from, to, cacheKey \} - if cacheKey is included, the map will be stored in the internal cache * @returns Map of positions -> points */ - createLookupTable(func: (u:number) => T, samples: number, options?: { from?: number, to?: number, cacheKey?: string }) : Map { + createLookupTable(func: (u:number) => T, samples: number, options?: { from?: number, to?: number, cacheKey?: string, cacheForceUpdate?: boolean }) : Map { if (!samples || samples <= 1) throw Error('Invalid arguments passed to createLookupTable(). You must specify at least 2 samples.') - const { from, to, cacheKey } = { + const { from, to, cacheKey, cacheForceUpdate } = { from: 0, to: 1, + cacheForceUpdate: false, ...options, }; @@ -536,7 +616,7 @@ export default class CurveInterpolator { let lut = null; - if (!cacheKey || !this._cache.has(cacheKey)) { + if (!cacheKey || cacheForceUpdate || !this._cache.has(cacheKey)) { lut = new Map(); for (let d = 0; d < samples; d++) { @@ -566,9 +646,10 @@ export default class CurveInterpolator { forEach(func: ({ u, t, i, prev }) => T, samples: (number | number[]), from = 0, to = 1) : void { let positions = []; if (Number.isFinite(samples)) { - if (samples <= 1) throw Error('Invalid arguments passed to forEach(). You must specify at least 2 samples.') const nSamples = samples as number; - for (let i = 0; i < samples; i++) { + if (nSamples <= 1) throw Error('Invalid arguments passed to forEach(). You must specify at least 2 samples.') + + for (let i = 0; i < nSamples; i++) { const u = from === 0 && to === 1 ? i / (nSamples - 1) : from + ((i / (nSamples - 1)) * (to - from)); positions.push(u); @@ -599,9 +680,10 @@ export default class CurveInterpolator { map(func: ({ u, t, i, prev }) => T, samples: (number | number[]), from = 0, to = 1) : T[] { let positions = []; if (Number.isFinite(samples)) { - if (samples <= 1) throw Error('Invalid arguments passed to map(). You must specify at least 2 samples.') const nSamples = samples as number; - for (let i = 0; i < samples; i++) { + if (nSamples <= 1) throw Error('Invalid arguments passed to map(). You must specify at least 2 samples.') + + for (let i = 0; i < nSamples; i++) { const u = from === 0 && to === 1 ? i / (nSamples - 1) : from + ((i / (nSamples - 1)) * (to - from)); positions.push(u); @@ -634,9 +716,10 @@ export default class CurveInterpolator { reduce(func: ({ acc, u, t, i }) => T, initialValue:T, samples: (number | number[]), from = 0, to = 1) : T { let positions = []; if (Number.isFinite(samples)) { - if (samples <= 1) throw Error('Invalid arguments passed to map(). You must specify at least 2 samples.') const nSamples = samples as number; - for (let i = 0; i < samples; i++) { + if (nSamples <= 1) throw Error('Invalid arguments passed to map(). You must specify at least 2 samples.') + + for (let i = 0; i < nSamples; i++) { const u = from === 0 && to === 1 ? i / (nSamples - 1) : from + ((i / (nSamples - 1)) * (to - from)); positions.push(u);