@antv/layout 2.0.0-beta.2 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +135 -196
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/esm/algorithm/antv-dagre/acyclic.js +40 -0
- package/esm/algorithm/antv-dagre/acyclic.js.map +1 -0
- package/esm/algorithm/antv-dagre/add-border-segments.js +42 -0
- package/esm/algorithm/antv-dagre/add-border-segments.js.map +1 -0
- package/esm/algorithm/antv-dagre/coordinate-system.js +66 -0
- package/esm/algorithm/antv-dagre/coordinate-system.js.map +1 -0
- package/esm/algorithm/antv-dagre/data/list.js +50 -0
- package/esm/algorithm/antv-dagre/data/list.js.map +1 -0
- package/esm/algorithm/antv-dagre/graph.js +429 -0
- package/esm/algorithm/antv-dagre/graph.js.map +1 -0
- package/esm/algorithm/antv-dagre/greedy-fas.js +139 -0
- package/esm/algorithm/antv-dagre/greedy-fas.js.map +1 -0
- package/esm/algorithm/antv-dagre/index.js +340 -0
- package/esm/algorithm/antv-dagre/index.js.map +1 -0
- package/esm/algorithm/antv-dagre/layout.js +471 -0
- package/esm/algorithm/antv-dagre/layout.js.map +1 -0
- package/esm/algorithm/antv-dagre/nesting-graph.js +154 -0
- package/esm/algorithm/antv-dagre/nesting-graph.js.map +1 -0
- package/esm/algorithm/antv-dagre/normalize.js +100 -0
- package/esm/algorithm/antv-dagre/normalize.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/add-subgraph-constraints.js +47 -0
- package/esm/algorithm/antv-dagre/order/add-subgraph-constraints.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/barycenter.js +25 -0
- package/esm/algorithm/antv-dagre/order/barycenter.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/build-layer-graph.js +89 -0
- package/esm/algorithm/antv-dagre/order/build-layer-graph.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/cross-count.js +66 -0
- package/esm/algorithm/antv-dagre/order/cross-count.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/index.js +94 -0
- package/esm/algorithm/antv-dagre/order/index.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/init-data-order.js +29 -0
- package/esm/algorithm/antv-dagre/order/init-data-order.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/init-order.js +49 -0
- package/esm/algorithm/antv-dagre/order/init-order.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/resolve-conflicts.js +119 -0
- package/esm/algorithm/antv-dagre/order/resolve-conflicts.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/sort-subgraph.js +87 -0
- package/esm/algorithm/antv-dagre/order/sort-subgraph.js.map +1 -0
- package/esm/algorithm/antv-dagre/order/sort.js +77 -0
- package/esm/algorithm/antv-dagre/order/sort.js.map +1 -0
- package/esm/algorithm/antv-dagre/parent-dummy-chains.js +82 -0
- package/esm/algorithm/antv-dagre/parent-dummy-chains.js.map +1 -0
- package/esm/algorithm/antv-dagre/position/bk.js +366 -0
- package/esm/algorithm/antv-dagre/position/bk.js.map +1 -0
- package/esm/algorithm/antv-dagre/position/index.js +54 -0
- package/esm/algorithm/antv-dagre/position/index.js.map +1 -0
- package/esm/algorithm/antv-dagre/rank/feasible-tree.js +166 -0
- package/esm/algorithm/antv-dagre/rank/feasible-tree.js.map +1 -0
- package/esm/algorithm/antv-dagre/rank/index.js +51 -0
- package/esm/algorithm/antv-dagre/rank/index.js.map +1 -0
- package/esm/algorithm/antv-dagre/rank/network-simplex.js +234 -0
- package/esm/algorithm/antv-dagre/rank/network-simplex.js.map +1 -0
- package/esm/algorithm/antv-dagre/rank/util.js +139 -0
- package/esm/algorithm/antv-dagre/rank/util.js.map +1 -0
- package/esm/algorithm/antv-dagre/util.js +265 -0
- package/esm/algorithm/antv-dagre/util.js.map +1 -0
- package/esm/algorithm/base-layout.js +89 -0
- package/esm/algorithm/base-layout.js.map +1 -0
- package/esm/algorithm/base-simulation.js +75 -0
- package/esm/algorithm/base-simulation.js.map +1 -0
- package/esm/algorithm/circular/index.js +110 -0
- package/esm/algorithm/circular/index.js.map +1 -0
- package/esm/algorithm/combo-combined/index.js +306 -0
- package/esm/algorithm/combo-combined/index.js.map +1 -0
- package/esm/algorithm/concentric/index.js +187 -0
- package/esm/algorithm/concentric/index.js.map +1 -0
- package/esm/algorithm/d3-force/force-in-a-box.js +340 -0
- package/esm/algorithm/d3-force/force-in-a-box.js.map +1 -0
- package/esm/algorithm/d3-force/index.js +505 -0
- package/esm/algorithm/d3-force/index.js.map +1 -0
- package/esm/algorithm/d3-force-3d/index.js +65 -0
- package/esm/algorithm/d3-force-3d/index.js.map +1 -0
- package/esm/algorithm/dagre/index.js +143 -0
- package/esm/algorithm/dagre/index.js.map +1 -0
- package/esm/algorithm/force/attractive.js +60 -0
- package/esm/algorithm/force/attractive.js.map +1 -0
- package/esm/algorithm/force/centripetal.js +87 -0
- package/esm/algorithm/force/centripetal.js.map +1 -0
- package/esm/algorithm/force/collide.js +172 -0
- package/esm/algorithm/force/collide.js.map +1 -0
- package/esm/algorithm/force/gravity.js +50 -0
- package/esm/algorithm/force/gravity.js.map +1 -0
- package/esm/algorithm/force/index.js +462 -0
- package/esm/algorithm/force/index.js.map +1 -0
- package/esm/algorithm/force/repulsive.js +142 -0
- package/esm/algorithm/force/repulsive.js.map +1 -0
- package/esm/algorithm/force/simulation.js +137 -0
- package/esm/algorithm/force/simulation.js.map +1 -0
- package/esm/algorithm/force-atlas2/body.js +91 -0
- package/esm/algorithm/force-atlas2/body.js.map +1 -0
- package/esm/algorithm/force-atlas2/index.js +157 -0
- package/esm/algorithm/force-atlas2/index.js.map +1 -0
- package/esm/algorithm/force-atlas2/quad-tree.js +106 -0
- package/esm/algorithm/force-atlas2/quad-tree.js.map +1 -0
- package/esm/algorithm/force-atlas2/quad.js +98 -0
- package/esm/algorithm/force-atlas2/quad.js.map +1 -0
- package/esm/algorithm/force-atlas2/simulation.js +388 -0
- package/esm/algorithm/force-atlas2/simulation.js.map +1 -0
- package/esm/algorithm/fruchterman/index.js +92 -0
- package/esm/algorithm/fruchterman/index.js.map +1 -0
- package/esm/algorithm/fruchterman/simulation.js +357 -0
- package/esm/algorithm/fruchterman/simulation.js.map +1 -0
- package/esm/algorithm/grid/index.js +239 -0
- package/esm/algorithm/grid/index.js.map +1 -0
- package/esm/algorithm/mds/index.js +129 -0
- package/esm/algorithm/mds/index.js.map +1 -0
- package/esm/algorithm/radial/index.js +279 -0
- package/esm/algorithm/radial/index.js.map +1 -0
- package/esm/algorithm/radial/radial-nonoverlap-force.js +127 -0
- package/esm/algorithm/radial/radial-nonoverlap-force.js.map +1 -0
- package/esm/algorithm/random/index.js +43 -0
- package/esm/algorithm/random/index.js.map +1 -0
- package/esm/index.js +30 -0
- package/{lib/_virtual → esm}/index.js.map +1 -1
- package/esm/model/data.js +281 -0
- package/esm/model/data.js.map +1 -0
- package/esm/registry.js +32 -0
- package/esm/registry.js.map +1 -0
- package/esm/runtime/context.js +29 -0
- package/esm/runtime/context.js.map +1 -0
- package/esm/runtime/supervisor.js +89 -0
- package/esm/runtime/supervisor.js.map +1 -0
- package/esm/util/array.js +4 -0
- package/esm/util/array.js.map +1 -0
- package/esm/util/common.js +20 -0
- package/esm/util/common.js.map +1 -0
- package/esm/util/expr.js +26 -0
- package/esm/util/expr.js.map +1 -0
- package/esm/util/format.js +113 -0
- package/esm/util/format.js.map +1 -0
- package/esm/util/math.js +272 -0
- package/esm/util/math.js.map +1 -0
- package/esm/util/object.js +44 -0
- package/esm/util/object.js.map +1 -0
- package/esm/util/order.js +109 -0
- package/esm/util/order.js.map +1 -0
- package/esm/util/point.js +11 -0
- package/esm/util/point.js.map +1 -0
- package/esm/util/size.js +23 -0
- package/esm/util/size.js.map +1 -0
- package/esm/util/viewport.js +17 -0
- package/esm/util/viewport.js.map +1 -0
- package/esm/worker.js +9170 -0
- package/esm/worker.js.map +1 -0
- package/lib/algorithm/antv-dagre/acyclic.js +3 -3
- package/lib/algorithm/antv-dagre/acyclic.js.map +1 -1
- package/lib/algorithm/antv-dagre/coordinate-system.js +2 -2
- package/lib/algorithm/antv-dagre/coordinate-system.js.map +1 -1
- package/lib/algorithm/antv-dagre/index.js +7 -7
- package/lib/algorithm/antv-dagre/index.js.map +1 -1
- package/lib/algorithm/antv-dagre/layout.js +1 -1
- package/lib/algorithm/antv-dagre/nesting-graph.js +2 -2
- package/lib/algorithm/antv-dagre/nesting-graph.js.map +1 -1
- package/lib/algorithm/antv-dagre/order/index.js +1 -1
- package/lib/algorithm/antv-dagre/util.js +4 -4
- package/lib/algorithm/antv-dagre/util.js.map +1 -1
- package/lib/algorithm/base-layout.js +1 -1
- package/lib/algorithm/base-simulation.js +1 -1
- package/lib/algorithm/circular/index.js +6 -5
- package/lib/algorithm/circular/index.js.map +1 -1
- package/lib/algorithm/combo-combined/index.js +3 -2
- package/lib/algorithm/combo-combined/index.js.map +1 -1
- package/lib/algorithm/concentric/index.js +7 -6
- package/lib/algorithm/concentric/index.js.map +1 -1
- package/lib/algorithm/d3-force/force-in-a-box.js +9 -12
- package/lib/algorithm/d3-force/force-in-a-box.js.map +1 -1
- package/lib/algorithm/d3-force/index.js +18 -25
- package/lib/algorithm/d3-force/index.js.map +1 -1
- package/lib/algorithm/d3-force-3d/index.js +1 -9
- package/lib/algorithm/d3-force-3d/index.js.map +1 -1
- package/lib/algorithm/dagre/index.js +5 -7
- package/lib/algorithm/dagre/index.js.map +1 -1
- package/lib/algorithm/force/centripetal.js +1 -1
- package/lib/algorithm/force/collide.js +2 -2
- package/lib/algorithm/force/index.js +5 -5
- package/lib/algorithm/force/index.js.map +1 -1
- package/lib/algorithm/force/repulsive.js +2 -2
- package/lib/algorithm/force/simulation.js +1 -1
- package/lib/algorithm/force-atlas2/index.js +6 -5
- package/lib/algorithm/force-atlas2/index.js.map +1 -1
- package/lib/algorithm/force-atlas2/simulation.js +4 -4
- package/lib/algorithm/force-atlas2/simulation.js.map +1 -1
- package/lib/algorithm/fruchterman/index.js +5 -4
- package/lib/algorithm/fruchterman/index.js.map +1 -1
- package/lib/algorithm/fruchterman/simulation.js +4 -4
- package/lib/algorithm/fruchterman/simulation.js.map +1 -1
- package/lib/algorithm/grid/index.js +3 -2
- package/lib/algorithm/grid/index.js.map +1 -1
- package/lib/algorithm/mds/index.js +10 -9
- package/lib/algorithm/mds/index.js.map +1 -1
- package/lib/algorithm/radial/index.js +3 -2
- package/lib/algorithm/radial/index.js.map +1 -1
- package/lib/algorithm/radial/radial-nonoverlap-force.js +3 -3
- package/lib/algorithm/radial/radial-nonoverlap-force.js.map +1 -1
- package/lib/algorithm/random/index.js +3 -2
- package/lib/algorithm/random/index.js.map +1 -1
- package/lib/model/data.js +1 -1
- package/lib/runtime/supervisor.js +2 -2
- package/lib/util/expr.js +3 -3
- package/lib/util/expr.js.map +1 -1
- package/lib/util/format.js +1 -4
- package/lib/util/format.js.map +1 -1
- package/lib/util/math.js +1 -1
- package/lib/util/object.js +1 -2
- package/lib/util/object.js.map +1 -1
- package/lib/util/order.js +4 -4
- package/lib/util/order.js.map +1 -1
- package/lib/util/size.js +1 -1
- package/lib/worker.js +3002 -26176
- package/lib/worker.js.map +1 -1
- package/package.json +7 -3
- package/lib/_virtual/_cloneBuffer.js +0 -4
- package/lib/_virtual/_cloneBuffer.js.map +0 -1
- package/lib/_virtual/_commonjs-dynamic-modules.js +0 -6
- package/lib/_virtual/_commonjs-dynamic-modules.js.map +0 -1
- package/lib/_virtual/_commonjsHelpers.js +0 -37
- package/lib/_virtual/_commonjsHelpers.js.map +0 -1
- package/lib/_virtual/_nodeUtil.js +0 -4
- package/lib/_virtual/_nodeUtil.js.map +0 -1
- package/lib/_virtual/index.js +0 -8
- package/lib/_virtual/index2.js +0 -7
- package/lib/_virtual/index2.js.map +0 -1
- package/lib/_virtual/index3.js +0 -7
- package/lib/_virtual/index3.js.map +0 -1
- package/lib/_virtual/isBuffer.js +0 -4
- package/lib/_virtual/isBuffer.js.map +0 -1
- package/lib/_virtual/matrix.js +0 -8
- package/lib/_virtual/matrix.js.map +0 -1
- package/lib/_virtual/matrix2.js +0 -4
- package/lib/_virtual/matrix2.js.map +0 -1
- package/lib/node_modules/@antv/event-emitter/esm/index.js +0 -107
- package/lib/node_modules/@antv/event-emitter/esm/index.js.map +0 -1
- package/lib/node_modules/@antv/expr/dist/index.esm.js +0 -4
- package/lib/node_modules/@antv/expr/dist/index.esm.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/clone.js +0 -34
- package/lib/node_modules/@antv/util/esm/lodash/clone.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/deep-mix.js +0 -54
- package/lib/node_modules/@antv/util/esm/lodash/deep-mix.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/each.js +0 -30
- package/lib/node_modules/@antv/util/esm/lodash/each.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/get-type.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/get-type.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/get.js +0 -19
- package/lib/node_modules/@antv/util/esm/lodash/get.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-array-like.js +0 -12
- package/lib/node_modules/@antv/util/esm/lodash/is-array-like.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-array.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/is-array.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-boolean.js +0 -14
- package/lib/node_modules/@antv/util/esm/lodash/is-boolean.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-empty.js +0 -39
- package/lib/node_modules/@antv/util/esm/lodash/is-empty.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-function.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/is-function.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-nil.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/is-nil.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-number.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/is-number.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-object-like.js +0 -12
- package/lib/node_modules/@antv/util/esm/lodash/is-object-like.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-object.js +0 -13
- package/lib/node_modules/@antv/util/esm/lodash/is-object.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-plain-object.js +0 -25
- package/lib/node_modules/@antv/util/esm/lodash/is-plain-object.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-prototype.js +0 -9
- package/lib/node_modules/@antv/util/esm/lodash/is-prototype.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-string.js +0 -10
- package/lib/node_modules/@antv/util/esm/lodash/is-string.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/is-type.js +0 -5
- package/lib/node_modules/@antv/util/esm/lodash/is-type.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/pick.js +0 -19
- package/lib/node_modules/@antv/util/esm/lodash/pick.js.map +0 -1
- package/lib/node_modules/@antv/util/esm/lodash/set.js +0 -30
- package/lib/node_modules/@antv/util/esm/lodash/set.js.map +0 -1
- package/lib/node_modules/comlink/dist/esm/comlink.js +0 -351
- package/lib/node_modules/comlink/dist/esm/comlink.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/add.js +0 -71
- package/lib/node_modules/d3-binarytree/src/add.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/binarytree.js +0 -71
- package/lib/node_modules/d3-binarytree/src/binarytree.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/cover.js +0 -39
- package/lib/node_modules/d3-binarytree/src/cover.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/data.js +0 -10
- package/lib/node_modules/d3-binarytree/src/data.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/extent.js +0 -8
- package/lib/node_modules/d3-binarytree/src/extent.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/find.js +0 -61
- package/lib/node_modules/d3-binarytree/src/find.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/half.js +0 -8
- package/lib/node_modules/d3-binarytree/src/half.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/remove.js +0 -59
- package/lib/node_modules/d3-binarytree/src/remove.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/root.js +0 -6
- package/lib/node_modules/d3-binarytree/src/root.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/size.js +0 -10
- package/lib/node_modules/d3-binarytree/src/size.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/visit.js +0 -17
- package/lib/node_modules/d3-binarytree/src/visit.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/visitAfter.js +0 -22
- package/lib/node_modules/d3-binarytree/src/visitAfter.js.map +0 -1
- package/lib/node_modules/d3-binarytree/src/x.js +0 -10
- package/lib/node_modules/d3-binarytree/src/x.js.map +0 -1
- package/lib/node_modules/d3-dispatch/src/dispatch.js +0 -85
- package/lib/node_modules/d3-dispatch/src/dispatch.js.map +0 -1
- package/lib/node_modules/d3-force/src/center.js +0 -43
- package/lib/node_modules/d3-force/src/center.js.map +0 -1
- package/lib/node_modules/d3-force/src/collide.js +0 -103
- package/lib/node_modules/d3-force/src/collide.js.map +0 -1
- package/lib/node_modules/d3-force/src/constant.js +0 -8
- package/lib/node_modules/d3-force/src/constant.js.map +0 -1
- package/lib/node_modules/d3-force/src/jiggle.js +0 -6
- package/lib/node_modules/d3-force/src/jiggle.js.map +0 -1
- package/lib/node_modules/d3-force/src/lcg.js +0 -12
- package/lib/node_modules/d3-force/src/lcg.js.map +0 -1
- package/lib/node_modules/d3-force/src/link.js +0 -120
- package/lib/node_modules/d3-force/src/link.js.map +0 -1
- package/lib/node_modules/d3-force/src/manyBody.js +0 -119
- package/lib/node_modules/d3-force/src/manyBody.js.map +0 -1
- package/lib/node_modules/d3-force/src/radial.js +0 -60
- package/lib/node_modules/d3-force/src/radial.js.map +0 -1
- package/lib/node_modules/d3-force/src/simulation.js +0 -159
- package/lib/node_modules/d3-force/src/simulation.js.map +0 -1
- package/lib/node_modules/d3-force/src/x.js +0 -44
- package/lib/node_modules/d3-force/src/x.js.map +0 -1
- package/lib/node_modules/d3-force/src/y.js +0 -44
- package/lib/node_modules/d3-force/src/y.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/center.js +0 -52
- package/lib/node_modules/d3-force-3d/src/center.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/collide.js +0 -135
- package/lib/node_modules/d3-force-3d/src/collide.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/constant.js +0 -8
- package/lib/node_modules/d3-force-3d/src/constant.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/jiggle.js +0 -6
- package/lib/node_modules/d3-force-3d/src/jiggle.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/lcg.js +0 -12
- package/lib/node_modules/d3-force-3d/src/lcg.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/link.js +0 -127
- package/lib/node_modules/d3-force-3d/src/link.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/manyBody.js +0 -142
- package/lib/node_modules/d3-force-3d/src/manyBody.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/radial.js +0 -70
- package/lib/node_modules/d3-force-3d/src/radial.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/simulation.js +0 -202
- package/lib/node_modules/d3-force-3d/src/simulation.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/x.js +0 -44
- package/lib/node_modules/d3-force-3d/src/x.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/y.js +0 -44
- package/lib/node_modules/d3-force-3d/src/y.js.map +0 -1
- package/lib/node_modules/d3-force-3d/src/z.js +0 -44
- package/lib/node_modules/d3-force-3d/src/z.js.map +0 -1
- package/lib/node_modules/d3-octree/src/add.js +0 -101
- package/lib/node_modules/d3-octree/src/add.js.map +0 -1
- package/lib/node_modules/d3-octree/src/cover.js +0 -55
- package/lib/node_modules/d3-octree/src/cover.js.map +0 -1
- package/lib/node_modules/d3-octree/src/data.js +0 -10
- package/lib/node_modules/d3-octree/src/data.js.map +0 -1
- package/lib/node_modules/d3-octree/src/extent.js +0 -8
- package/lib/node_modules/d3-octree/src/extent.js.map +0 -1
- package/lib/node_modules/d3-octree/src/find.js +0 -85
- package/lib/node_modules/d3-octree/src/find.js.map +0 -1
- package/lib/node_modules/d3-octree/src/findAll.js +0 -29
- package/lib/node_modules/d3-octree/src/findAll.js.map +0 -1
- package/lib/node_modules/d3-octree/src/octant.js +0 -12
- package/lib/node_modules/d3-octree/src/octant.js.map +0 -1
- package/lib/node_modules/d3-octree/src/octree.js +0 -83
- package/lib/node_modules/d3-octree/src/octree.js.map +0 -1
- package/lib/node_modules/d3-octree/src/remove.js +0 -71
- package/lib/node_modules/d3-octree/src/remove.js.map +0 -1
- package/lib/node_modules/d3-octree/src/root.js +0 -6
- package/lib/node_modules/d3-octree/src/root.js.map +0 -1
- package/lib/node_modules/d3-octree/src/size.js +0 -10
- package/lib/node_modules/d3-octree/src/size.js.map +0 -1
- package/lib/node_modules/d3-octree/src/visit.js +0 -23
- package/lib/node_modules/d3-octree/src/visit.js.map +0 -1
- package/lib/node_modules/d3-octree/src/visitAfter.js +0 -28
- package/lib/node_modules/d3-octree/src/visitAfter.js.map +0 -1
- package/lib/node_modules/d3-octree/src/x.js +0 -10
- package/lib/node_modules/d3-octree/src/x.js.map +0 -1
- package/lib/node_modules/d3-octree/src/y.js +0 -10
- package/lib/node_modules/d3-octree/src/y.js.map +0 -1
- package/lib/node_modules/d3-octree/src/z.js +0 -10
- package/lib/node_modules/d3-octree/src/z.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/add.js +0 -87
- package/lib/node_modules/d3-quadtree/src/add.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/cover.js +0 -46
- package/lib/node_modules/d3-quadtree/src/cover.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/data.js +0 -10
- package/lib/node_modules/d3-quadtree/src/data.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/extent.js +0 -8
- package/lib/node_modules/d3-quadtree/src/extent.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/find.js +0 -73
- package/lib/node_modules/d3-quadtree/src/find.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/quad.js +0 -10
- package/lib/node_modules/d3-quadtree/src/quad.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/quadtree.js +0 -76
- package/lib/node_modules/d3-quadtree/src/quadtree.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/remove.js +0 -65
- package/lib/node_modules/d3-quadtree/src/remove.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/root.js +0 -6
- package/lib/node_modules/d3-quadtree/src/root.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/size.js +0 -10
- package/lib/node_modules/d3-quadtree/src/size.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/visit.js +0 -19
- package/lib/node_modules/d3-quadtree/src/visit.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/visitAfter.js +0 -24
- package/lib/node_modules/d3-quadtree/src/visitAfter.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/x.js +0 -10
- package/lib/node_modules/d3-quadtree/src/x.js.map +0 -1
- package/lib/node_modules/d3-quadtree/src/y.js +0 -10
- package/lib/node_modules/d3-quadtree/src/y.js.map +0 -1
- package/lib/node_modules/d3-timer/src/timer.js +0 -113
- package/lib/node_modules/d3-timer/src/timer.js.map +0 -1
- package/lib/node_modules/dagre/index.js +0 -50
- package/lib/node_modules/dagre/index.js.map +0 -1
- package/lib/node_modules/dagre/lib/acyclic.js +0 -80
- package/lib/node_modules/dagre/lib/acyclic.js.map +0 -1
- package/lib/node_modules/dagre/lib/add-border-segments.js +0 -52
- package/lib/node_modules/dagre/lib/add-border-segments.js.map +0 -1
- package/lib/node_modules/dagre/lib/coordinate-system.js +0 -84
- package/lib/node_modules/dagre/lib/coordinate-system.js.map +0 -1
- package/lib/node_modules/dagre/lib/data/list.js +0 -67
- package/lib/node_modules/dagre/lib/data/list.js.map +0 -1
- package/lib/node_modules/dagre/lib/debug.js +0 -49
- package/lib/node_modules/dagre/lib/debug.js.map +0 -1
- package/lib/node_modules/dagre/lib/graphlib.js +0 -31
- package/lib/node_modules/dagre/lib/graphlib.js.map +0 -1
- package/lib/node_modules/dagre/lib/greedy-fas.js +0 -133
- package/lib/node_modules/dagre/lib/greedy-fas.js.map +0 -1
- package/lib/node_modules/dagre/lib/layout.js +0 -415
- package/lib/node_modules/dagre/lib/layout.js.map +0 -1
- package/lib/node_modules/dagre/lib/lodash.js +0 -83
- package/lib/node_modules/dagre/lib/lodash.js.map +0 -1
- package/lib/node_modules/dagre/lib/nesting-graph.js +0 -146
- package/lib/node_modules/dagre/lib/nesting-graph.js.map +0 -1
- package/lib/node_modules/dagre/lib/normalize.js +0 -103
- package/lib/node_modules/dagre/lib/normalize.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/add-subgraph-constraints.js +0 -66
- package/lib/node_modules/dagre/lib/order/add-subgraph-constraints.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/barycenter.js +0 -40
- package/lib/node_modules/dagre/lib/order/barycenter.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/build-layer-graph.js +0 -87
- package/lib/node_modules/dagre/lib/order/build-layer-graph.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/cross-count.js +0 -79
- package/lib/node_modules/dagre/lib/order/cross-count.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/index.js +0 -98
- package/lib/node_modules/dagre/lib/order/index.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/init-order.js +0 -50
- package/lib/node_modules/dagre/lib/order/init-order.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/resolve-conflicts.js +0 -134
- package/lib/node_modules/dagre/lib/order/resolve-conflicts.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/sort-subgraph.js +0 -92
- package/lib/node_modules/dagre/lib/order/sort-subgraph.js.map +0 -1
- package/lib/node_modules/dagre/lib/order/sort.js +0 -71
- package/lib/node_modules/dagre/lib/order/sort.js.map +0 -1
- package/lib/node_modules/dagre/lib/parent-dummy-chains.js +0 -99
- package/lib/node_modules/dagre/lib/parent-dummy-chains.js.map +0 -1
- package/lib/node_modules/dagre/lib/position/bk.js +0 -433
- package/lib/node_modules/dagre/lib/position/bk.js.map +0 -1
- package/lib/node_modules/dagre/lib/position/index.js +0 -43
- package/lib/node_modules/dagre/lib/position/index.js.map +0 -1
- package/lib/node_modules/dagre/lib/rank/feasible-tree.js +0 -103
- package/lib/node_modules/dagre/lib/rank/feasible-tree.js.map +0 -1
- package/lib/node_modules/dagre/lib/rank/index.js +0 -62
- package/lib/node_modules/dagre/lib/rank/index.js.map +0 -1
- package/lib/node_modules/dagre/lib/rank/network-simplex.js +0 -250
- package/lib/node_modules/dagre/lib/rank/network-simplex.js.map +0 -1
- package/lib/node_modules/dagre/lib/rank/util.js +0 -75
- package/lib/node_modules/dagre/lib/rank/util.js.map +0 -1
- package/lib/node_modules/dagre/lib/util.js +0 -251
- package/lib/node_modules/dagre/lib/util.js.map +0 -1
- package/lib/node_modules/dagre/lib/version.js +0 -12
- package/lib/node_modules/dagre/lib/version.js.map +0 -1
- package/lib/node_modules/graphlib/index.js +0 -53
- package/lib/node_modules/graphlib/index.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/components.js +0 -40
- package/lib/node_modules/graphlib/lib/alg/components.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/dfs.js +0 -55
- package/lib/node_modules/graphlib/lib/alg/dfs.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/dijkstra-all.js +0 -24
- package/lib/node_modules/graphlib/lib/alg/dijkstra-all.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/dijkstra.js +0 -68
- package/lib/node_modules/graphlib/lib/alg/dijkstra.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/find-cycles.js +0 -24
- package/lib/node_modules/graphlib/lib/alg/find-cycles.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/floyd-warshall.js +0 -63
- package/lib/node_modules/graphlib/lib/alg/floyd-warshall.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/index.js +0 -36
- package/lib/node_modules/graphlib/lib/alg/index.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/is-acyclic.js +0 -28
- package/lib/node_modules/graphlib/lib/alg/is-acyclic.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/postorder.js +0 -20
- package/lib/node_modules/graphlib/lib/alg/postorder.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/preorder.js +0 -20
- package/lib/node_modules/graphlib/lib/alg/preorder.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/prim.js +0 -67
- package/lib/node_modules/graphlib/lib/alg/prim.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/tarjan.js +0 -60
- package/lib/node_modules/graphlib/lib/alg/tarjan.js.map +0 -1
- package/lib/node_modules/graphlib/lib/alg/topsort.js +0 -48
- package/lib/node_modules/graphlib/lib/alg/topsort.js.map +0 -1
- package/lib/node_modules/graphlib/lib/data/priority-queue.js +0 -165
- package/lib/node_modules/graphlib/lib/data/priority-queue.js.map +0 -1
- package/lib/node_modules/graphlib/lib/graph.js +0 -544
- package/lib/node_modules/graphlib/lib/graph.js.map +0 -1
- package/lib/node_modules/graphlib/lib/index.js +0 -19
- package/lib/node_modules/graphlib/lib/index.js.map +0 -1
- package/lib/node_modules/graphlib/lib/json.js +0 -80
- package/lib/node_modules/graphlib/lib/json.js.map +0 -1
- package/lib/node_modules/graphlib/lib/lodash.js +0 -63
- package/lib/node_modules/graphlib/lib/lodash.js.map +0 -1
- package/lib/node_modules/graphlib/lib/version.js +0 -12
- package/lib/node_modules/graphlib/lib/version.js.map +0 -1
- package/lib/node_modules/is-any-array/lib-esm/index.js +0 -15
- package/lib/node_modules/is-any-array/lib-esm/index.js.map +0 -1
- package/lib/node_modules/lodash/_DataView.js +0 -21
- package/lib/node_modules/lodash/_DataView.js.map +0 -1
- package/lib/node_modules/lodash/_Hash.js +0 -49
- package/lib/node_modules/lodash/_Hash.js.map +0 -1
- package/lib/node_modules/lodash/_ListCache.js +0 -49
- package/lib/node_modules/lodash/_ListCache.js.map +0 -1
- package/lib/node_modules/lodash/_Map.js +0 -21
- package/lib/node_modules/lodash/_Map.js.map +0 -1
- package/lib/node_modules/lodash/_MapCache.js +0 -49
- package/lib/node_modules/lodash/_MapCache.js.map +0 -1
- package/lib/node_modules/lodash/_Promise.js +0 -21
- package/lib/node_modules/lodash/_Promise.js.map +0 -1
- package/lib/node_modules/lodash/_Set.js +0 -21
- package/lib/node_modules/lodash/_Set.js.map +0 -1
- package/lib/node_modules/lodash/_SetCache.js +0 -42
- package/lib/node_modules/lodash/_SetCache.js.map +0 -1
- package/lib/node_modules/lodash/_Stack.js +0 -45
- package/lib/node_modules/lodash/_Stack.js.map +0 -1
- package/lib/node_modules/lodash/_Symbol.js +0 -19
- package/lib/node_modules/lodash/_Symbol.js.map +0 -1
- package/lib/node_modules/lodash/_Uint8Array.js +0 -19
- package/lib/node_modules/lodash/_Uint8Array.js.map +0 -1
- package/lib/node_modules/lodash/_WeakMap.js +0 -21
- package/lib/node_modules/lodash/_WeakMap.js.map +0 -1
- package/lib/node_modules/lodash/_apply.js +0 -33
- package/lib/node_modules/lodash/_apply.js.map +0 -1
- package/lib/node_modules/lodash/_arrayEach.js +0 -34
- package/lib/node_modules/lodash/_arrayEach.js.map +0 -1
- package/lib/node_modules/lodash/_arrayFilter.js +0 -37
- package/lib/node_modules/lodash/_arrayFilter.js.map +0 -1
- package/lib/node_modules/lodash/_arrayIncludes.js +0 -30
- package/lib/node_modules/lodash/_arrayIncludes.js.map +0 -1
- package/lib/node_modules/lodash/_arrayIncludesWith.js +0 -34
- package/lib/node_modules/lodash/_arrayIncludesWith.js.map +0 -1
- package/lib/node_modules/lodash/_arrayLikeKeys.js +0 -67
- package/lib/node_modules/lodash/_arrayLikeKeys.js.map +0 -1
- package/lib/node_modules/lodash/_arrayMap.js +0 -33
- package/lib/node_modules/lodash/_arrayMap.js.map +0 -1
- package/lib/node_modules/lodash/_arrayPush.js +0 -32
- package/lib/node_modules/lodash/_arrayPush.js.map +0 -1
- package/lib/node_modules/lodash/_arrayReduce.js +0 -38
- package/lib/node_modules/lodash/_arrayReduce.js.map +0 -1
- package/lib/node_modules/lodash/_arraySome.js +0 -35
- package/lib/node_modules/lodash/_arraySome.js.map +0 -1
- package/lib/node_modules/lodash/_asciiSize.js +0 -25
- package/lib/node_modules/lodash/_asciiSize.js.map +0 -1
- package/lib/node_modules/lodash/_assignMergeValue.js +0 -34
- package/lib/node_modules/lodash/_assignMergeValue.js.map +0 -1
- package/lib/node_modules/lodash/_assignValue.js +0 -42
- package/lib/node_modules/lodash/_assignValue.js.map +0 -1
- package/lib/node_modules/lodash/_assocIndexOf.js +0 -34
- package/lib/node_modules/lodash/_assocIndexOf.js.map +0 -1
- package/lib/node_modules/lodash/_baseAssign.js +0 -31
- package/lib/node_modules/lodash/_baseAssign.js.map +0 -1
- package/lib/node_modules/lodash/_baseAssignIn.js +0 -31
- package/lib/node_modules/lodash/_baseAssignIn.js.map +0 -1
- package/lib/node_modules/lodash/_baseAssignValue.js +0 -38
- package/lib/node_modules/lodash/_baseAssignValue.js.map +0 -1
- package/lib/node_modules/lodash/_baseClone.js +0 -200
- package/lib/node_modules/lodash/_baseClone.js.map +0 -1
- package/lib/node_modules/lodash/_baseCreate.js +0 -43
- package/lib/node_modules/lodash/_baseCreate.js.map +0 -1
- package/lib/node_modules/lodash/_baseEach.js +0 -28
- package/lib/node_modules/lodash/_baseEach.js.map +0 -1
- package/lib/node_modules/lodash/_baseExtremum.js +0 -45
- package/lib/node_modules/lodash/_baseExtremum.js.map +0 -1
- package/lib/node_modules/lodash/_baseFilter.js +0 -34
- package/lib/node_modules/lodash/_baseFilter.js.map +0 -1
- package/lib/node_modules/lodash/_baseFindIndex.js +0 -36
- package/lib/node_modules/lodash/_baseFindIndex.js.map +0 -1
- package/lib/node_modules/lodash/_baseFlatten.js +0 -52
- package/lib/node_modules/lodash/_baseFlatten.js.map +0 -1
- package/lib/node_modules/lodash/_baseFor.js +0 -29
- package/lib/node_modules/lodash/_baseFor.js.map +0 -1
- package/lib/node_modules/lodash/_baseForOwn.js +0 -30
- package/lib/node_modules/lodash/_baseForOwn.js.map +0 -1
- package/lib/node_modules/lodash/_baseGet.js +0 -38
- package/lib/node_modules/lodash/_baseGet.js.map +0 -1
- package/lib/node_modules/lodash/_baseGetAllKeys.js +0 -34
- package/lib/node_modules/lodash/_baseGetAllKeys.js.map +0 -1
- package/lib/node_modules/lodash/_baseGetTag.js +0 -43
- package/lib/node_modules/lodash/_baseGetTag.js.map +0 -1
- package/lib/node_modules/lodash/_baseGt.js +0 -26
- package/lib/node_modules/lodash/_baseGt.js.map +0 -1
- package/lib/node_modules/lodash/_baseHas.js +0 -31
- package/lib/node_modules/lodash/_baseHas.js.map +0 -1
- package/lib/node_modules/lodash/_baseHasIn.js +0 -25
- package/lib/node_modules/lodash/_baseHasIn.js.map +0 -1
- package/lib/node_modules/lodash/_baseIndexOf.js +0 -35
- package/lib/node_modules/lodash/_baseIndexOf.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsArguments.js +0 -32
- package/lib/node_modules/lodash/_baseIsArguments.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsEqual.js +0 -42
- package/lib/node_modules/lodash/_baseIsEqual.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsEqualDeep.js +0 -103
- package/lib/node_modules/lodash/_baseIsEqualDeep.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsMap.js +0 -32
- package/lib/node_modules/lodash/_baseIsMap.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsMatch.js +0 -76
- package/lib/node_modules/lodash/_baseIsMatch.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsNaN.js +0 -24
- package/lib/node_modules/lodash/_baseIsNaN.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsNative.js +0 -63
- package/lib/node_modules/lodash/_baseIsNative.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsSet.js +0 -32
- package/lib/node_modules/lodash/_baseIsSet.js.map +0 -1
- package/lib/node_modules/lodash/_baseIsTypedArray.js +0 -75
- package/lib/node_modules/lodash/_baseIsTypedArray.js.map +0 -1
- package/lib/node_modules/lodash/_baseIteratee.js +0 -48
- package/lib/node_modules/lodash/_baseIteratee.js.map +0 -1
- package/lib/node_modules/lodash/_baseKeys.js +0 -44
- package/lib/node_modules/lodash/_baseKeys.js.map +0 -1
- package/lib/node_modules/lodash/_baseKeysIn.js +0 -48
- package/lib/node_modules/lodash/_baseKeysIn.js.map +0 -1
- package/lib/node_modules/lodash/_baseLt.js +0 -26
- package/lib/node_modules/lodash/_baseLt.js.map +0 -1
- package/lib/node_modules/lodash/_baseMap.js +0 -36
- package/lib/node_modules/lodash/_baseMap.js.map +0 -1
- package/lib/node_modules/lodash/_baseMatches.js +0 -37
- package/lib/node_modules/lodash/_baseMatches.js.map +0 -1
- package/lib/node_modules/lodash/_baseMatchesProperty.js +0 -52
- package/lib/node_modules/lodash/_baseMatchesProperty.js.map +0 -1
- package/lib/node_modules/lodash/_baseMerge.js +0 -61
- package/lib/node_modules/lodash/_baseMerge.js.map +0 -1
- package/lib/node_modules/lodash/_baseMergeDeep.js +0 -121
- package/lib/node_modules/lodash/_baseMergeDeep.js.map +0 -1
- package/lib/node_modules/lodash/_baseOrderBy.js +0 -70
- package/lib/node_modules/lodash/_baseOrderBy.js.map +0 -1
- package/lib/node_modules/lodash/_basePick.js +0 -33
- package/lib/node_modules/lodash/_basePick.js.map +0 -1
- package/lib/node_modules/lodash/_basePickBy.js +0 -45
- package/lib/node_modules/lodash/_basePickBy.js.map +0 -1
- package/lib/node_modules/lodash/_baseProperty.js +0 -26
- package/lib/node_modules/lodash/_baseProperty.js.map +0 -1
- package/lib/node_modules/lodash/_basePropertyDeep.js +0 -29
- package/lib/node_modules/lodash/_basePropertyDeep.js.map +0 -1
- package/lib/node_modules/lodash/_baseRange.js +0 -40
- package/lib/node_modules/lodash/_baseRange.js.map +0 -1
- package/lib/node_modules/lodash/_baseReduce.js +0 -35
- package/lib/node_modules/lodash/_baseReduce.js.map +0 -1
- package/lib/node_modules/lodash/_baseRest.js +0 -32
- package/lib/node_modules/lodash/_baseRest.js.map +0 -1
- package/lib/node_modules/lodash/_baseSet.js +0 -68
- package/lib/node_modules/lodash/_baseSet.js.map +0 -1
- package/lib/node_modules/lodash/_baseSetToString.js +0 -37
- package/lib/node_modules/lodash/_baseSetToString.js.map +0 -1
- package/lib/node_modules/lodash/_baseSortBy.js +0 -33
- package/lib/node_modules/lodash/_baseSortBy.js.map +0 -1
- package/lib/node_modules/lodash/_baseTimes.js +0 -32
- package/lib/node_modules/lodash/_baseTimes.js.map +0 -1
- package/lib/node_modules/lodash/_baseToString.js +0 -50
- package/lib/node_modules/lodash/_baseToString.js.map +0 -1
- package/lib/node_modules/lodash/_baseTrim.js +0 -32
- package/lib/node_modules/lodash/_baseTrim.js.map +0 -1
- package/lib/node_modules/lodash/_baseUnary.js +0 -26
- package/lib/node_modules/lodash/_baseUnary.js.map +0 -1
- package/lib/node_modules/lodash/_baseUniq.js +0 -90
- package/lib/node_modules/lodash/_baseUniq.js.map +0 -1
- package/lib/node_modules/lodash/_baseValues.js +0 -32
- package/lib/node_modules/lodash/_baseValues.js.map +0 -1
- package/lib/node_modules/lodash/_baseZipObject.js +0 -35
- package/lib/node_modules/lodash/_baseZipObject.js.map +0 -1
- package/lib/node_modules/lodash/_cacheHas.js +0 -25
- package/lib/node_modules/lodash/_cacheHas.js.map +0 -1
- package/lib/node_modules/lodash/_castFunction.js +0 -27
- package/lib/node_modules/lodash/_castFunction.js.map +0 -1
- package/lib/node_modules/lodash/_castPath.js +0 -37
- package/lib/node_modules/lodash/_castPath.js.map +0 -1
- package/lib/node_modules/lodash/_cloneArrayBuffer.js +0 -29
- package/lib/node_modules/lodash/_cloneArrayBuffer.js.map +0 -1
- package/lib/node_modules/lodash/_cloneBuffer.js +0 -52
- package/lib/node_modules/lodash/_cloneBuffer.js.map +0 -1
- package/lib/node_modules/lodash/_cloneDataView.js +0 -29
- package/lib/node_modules/lodash/_cloneDataView.js.map +0 -1
- package/lib/node_modules/lodash/_cloneRegExp.js +0 -29
- package/lib/node_modules/lodash/_cloneRegExp.js.map +0 -1
- package/lib/node_modules/lodash/_cloneSymbol.js +0 -31
- package/lib/node_modules/lodash/_cloneSymbol.js.map +0 -1
- package/lib/node_modules/lodash/_cloneTypedArray.js +0 -29
- package/lib/node_modules/lodash/_cloneTypedArray.js.map +0 -1
- package/lib/node_modules/lodash/_compareAscending.js +0 -54
- package/lib/node_modules/lodash/_compareAscending.js.map +0 -1
- package/lib/node_modules/lodash/_compareMultiple.js +0 -57
- package/lib/node_modules/lodash/_compareMultiple.js.map +0 -1
- package/lib/node_modules/lodash/_copyArray.js +0 -32
- package/lib/node_modules/lodash/_copyArray.js.map +0 -1
- package/lib/node_modules/lodash/_copyObject.js +0 -54
- package/lib/node_modules/lodash/_copyObject.js.map +0 -1
- package/lib/node_modules/lodash/_copySymbols.js +0 -30
- package/lib/node_modules/lodash/_copySymbols.js.map +0 -1
- package/lib/node_modules/lodash/_copySymbolsIn.js +0 -30
- package/lib/node_modules/lodash/_copySymbolsIn.js.map +0 -1
- package/lib/node_modules/lodash/_coreJsData.js +0 -19
- package/lib/node_modules/lodash/_coreJsData.js.map +0 -1
- package/lib/node_modules/lodash/_createAssigner.js +0 -51
- package/lib/node_modules/lodash/_createAssigner.js.map +0 -1
- package/lib/node_modules/lodash/_createBaseEach.js +0 -45
- package/lib/node_modules/lodash/_createBaseEach.js.map +0 -1
- package/lib/node_modules/lodash/_createBaseFor.js +0 -37
- package/lib/node_modules/lodash/_createBaseFor.js.map +0 -1
- package/lib/node_modules/lodash/_createFind.js +0 -40
- package/lib/node_modules/lodash/_createFind.js.map +0 -1
- package/lib/node_modules/lodash/_createRange.js +0 -45
- package/lib/node_modules/lodash/_createRange.js.map +0 -1
- package/lib/node_modules/lodash/_createSet.js +0 -34
- package/lib/node_modules/lodash/_createSet.js.map +0 -1
- package/lib/node_modules/lodash/_defineProperty.js +0 -24
- package/lib/node_modules/lodash/_defineProperty.js.map +0 -1
- package/lib/node_modules/lodash/_equalArrays.js +0 -99
- package/lib/node_modules/lodash/_equalArrays.js.map +0 -1
- package/lib/node_modules/lodash/_equalByTag.js +0 -130
- package/lib/node_modules/lodash/_equalByTag.js.map +0 -1
- package/lib/node_modules/lodash/_equalObjects.js +0 -103
- package/lib/node_modules/lodash/_equalObjects.js.map +0 -1
- package/lib/node_modules/lodash/_flatRest.js +0 -31
- package/lib/node_modules/lodash/_flatRest.js.map +0 -1
- package/lib/node_modules/lodash/_freeGlobal.js +0 -18
- package/lib/node_modules/lodash/_freeGlobal.js.map +0 -1
- package/lib/node_modules/lodash/_getAllKeys.js +0 -31
- package/lib/node_modules/lodash/_getAllKeys.js.map +0 -1
- package/lib/node_modules/lodash/_getAllKeysIn.js +0 -32
- package/lib/node_modules/lodash/_getAllKeysIn.js.map +0 -1
- package/lib/node_modules/lodash/_getMapData.js +0 -31
- package/lib/node_modules/lodash/_getMapData.js.map +0 -1
- package/lib/node_modules/lodash/_getMatchData.js +0 -38
- package/lib/node_modules/lodash/_getMatchData.js.map +0 -1
- package/lib/node_modules/lodash/_getNative.js +0 -31
- package/lib/node_modules/lodash/_getNative.js.map +0 -1
- package/lib/node_modules/lodash/_getPrototype.js +0 -19
- package/lib/node_modules/lodash/_getPrototype.js.map +0 -1
- package/lib/node_modules/lodash/_getRawTag.js +0 -59
- package/lib/node_modules/lodash/_getRawTag.js.map +0 -1
- package/lib/node_modules/lodash/_getSymbols.js +0 -44
- package/lib/node_modules/lodash/_getSymbols.js.map +0 -1
- package/lib/node_modules/lodash/_getSymbolsIn.js +0 -41
- package/lib/node_modules/lodash/_getSymbolsIn.js.map +0 -1
- package/lib/node_modules/lodash/_getTag.js +0 -77
- package/lib/node_modules/lodash/_getTag.js.map +0 -1
- package/lib/node_modules/lodash/_getValue.js +0 -25
- package/lib/node_modules/lodash/_getValue.js.map +0 -1
- package/lib/node_modules/lodash/_hasPath.js +0 -57
- package/lib/node_modules/lodash/_hasPath.js.map +0 -1
- package/lib/node_modules/lodash/_hasUnicode.js +0 -38
- package/lib/node_modules/lodash/_hasUnicode.js.map +0 -1
- package/lib/node_modules/lodash/_hashClear.js +0 -28
- package/lib/node_modules/lodash/_hashClear.js.map +0 -1
- package/lib/node_modules/lodash/_hashDelete.js +0 -29
- package/lib/node_modules/lodash/_hashDelete.js.map +0 -1
- package/lib/node_modules/lodash/_hashGet.js +0 -43
- package/lib/node_modules/lodash/_hashGet.js.map +0 -1
- package/lib/node_modules/lodash/_hashHas.js +0 -36
- package/lib/node_modules/lodash/_hashHas.js.map +0 -1
- package/lib/node_modules/lodash/_hashSet.js +0 -36
- package/lib/node_modules/lodash/_hashSet.js.map +0 -1
- package/lib/node_modules/lodash/_initCloneArray.js +0 -38
- package/lib/node_modules/lodash/_initCloneArray.js.map +0 -1
- package/lib/node_modules/lodash/_initCloneByTag.js +0 -94
- package/lib/node_modules/lodash/_initCloneByTag.js.map +0 -1
- package/lib/node_modules/lodash/_initCloneObject.js +0 -33
- package/lib/node_modules/lodash/_initCloneObject.js.map +0 -1
- package/lib/node_modules/lodash/_isFlattenable.js +0 -35
- package/lib/node_modules/lodash/_isFlattenable.js.map +0 -1
- package/lib/node_modules/lodash/_isIndex.js +0 -37
- package/lib/node_modules/lodash/_isIndex.js.map +0 -1
- package/lib/node_modules/lodash/_isIterateeCall.js +0 -46
- package/lib/node_modules/lodash/_isIterateeCall.js.map +0 -1
- package/lib/node_modules/lodash/_isKey.js +0 -43
- package/lib/node_modules/lodash/_isKey.js.map +0 -1
- package/lib/node_modules/lodash/_isKeyable.js +0 -27
- package/lib/node_modules/lodash/_isKeyable.js.map +0 -1
- package/lib/node_modules/lodash/_isMasked.js +0 -33
- package/lib/node_modules/lodash/_isMasked.js.map +0 -1
- package/lib/node_modules/lodash/_isPrototype.js +0 -30
- package/lib/node_modules/lodash/_isPrototype.js.map +0 -1
- package/lib/node_modules/lodash/_isStrictComparable.js +0 -28
- package/lib/node_modules/lodash/_isStrictComparable.js.map +0 -1
- package/lib/node_modules/lodash/_listCacheClear.js +0 -25
- package/lib/node_modules/lodash/_listCacheClear.js.map +0 -1
- package/lib/node_modules/lodash/_listCacheDelete.js +0 -48
- package/lib/node_modules/lodash/_listCacheDelete.js.map +0 -1
- package/lib/node_modules/lodash/_listCacheGet.js +0 -32
- package/lib/node_modules/lodash/_listCacheGet.js.map +0 -1
- package/lib/node_modules/lodash/_listCacheHas.js +0 -29
- package/lib/node_modules/lodash/_listCacheHas.js.map +0 -1
- package/lib/node_modules/lodash/_listCacheSet.js +0 -39
- package/lib/node_modules/lodash/_listCacheSet.js.map +0 -1
- package/lib/node_modules/lodash/_mapCacheClear.js +0 -36
- package/lib/node_modules/lodash/_mapCacheClear.js.map +0 -1
- package/lib/node_modules/lodash/_mapCacheDelete.js +0 -31
- package/lib/node_modules/lodash/_mapCacheDelete.js.map +0 -1
- package/lib/node_modules/lodash/_mapCacheGet.js +0 -29
- package/lib/node_modules/lodash/_mapCacheGet.js.map +0 -1
- package/lib/node_modules/lodash/_mapCacheHas.js +0 -29
- package/lib/node_modules/lodash/_mapCacheHas.js.map +0 -1
- package/lib/node_modules/lodash/_mapCacheSet.js +0 -35
- package/lib/node_modules/lodash/_mapCacheSet.js.map +0 -1
- package/lib/node_modules/lodash/_mapToArray.js +0 -30
- package/lib/node_modules/lodash/_mapToArray.js.map +0 -1
- package/lib/node_modules/lodash/_matchesStrictComparable.js +0 -32
- package/lib/node_modules/lodash/_matchesStrictComparable.js.map +0 -1
- package/lib/node_modules/lodash/_memoizeCapped.js +0 -39
- package/lib/node_modules/lodash/_memoizeCapped.js.map +0 -1
- package/lib/node_modules/lodash/_nativeCreate.js +0 -19
- package/lib/node_modules/lodash/_nativeCreate.js.map +0 -1
- package/lib/node_modules/lodash/_nativeKeys.js +0 -19
- package/lib/node_modules/lodash/_nativeKeys.js.map +0 -1
- package/lib/node_modules/lodash/_nativeKeysIn.js +0 -32
- package/lib/node_modules/lodash/_nativeKeysIn.js.map +0 -1
- package/lib/node_modules/lodash/_nodeUtil.js +0 -47
- package/lib/node_modules/lodash/_nodeUtil.js.map +0 -1
- package/lib/node_modules/lodash/_objectToString.js +0 -34
- package/lib/node_modules/lodash/_objectToString.js.map +0 -1
- package/lib/node_modules/lodash/_overArg.js +0 -27
- package/lib/node_modules/lodash/_overArg.js.map +0 -1
- package/lib/node_modules/lodash/_overRest.js +0 -49
- package/lib/node_modules/lodash/_overRest.js.map +0 -1
- package/lib/node_modules/lodash/_root.js +0 -22
- package/lib/node_modules/lodash/_root.js.map +0 -1
- package/lib/node_modules/lodash/_safeGet.js +0 -33
- package/lib/node_modules/lodash/_safeGet.js.map +0 -1
- package/lib/node_modules/lodash/_setCacheAdd.js +0 -31
- package/lib/node_modules/lodash/_setCacheAdd.js.map +0 -1
- package/lib/node_modules/lodash/_setCacheHas.js +0 -26
- package/lib/node_modules/lodash/_setCacheHas.js.map +0 -1
- package/lib/node_modules/lodash/_setToArray.js +0 -30
- package/lib/node_modules/lodash/_setToArray.js.map +0 -1
- package/lib/node_modules/lodash/_setToString.js +0 -28
- package/lib/node_modules/lodash/_setToString.js.map +0 -1
- package/lib/node_modules/lodash/_shortOut.js +0 -49
- package/lib/node_modules/lodash/_shortOut.js.map +0 -1
- package/lib/node_modules/lodash/_stackClear.js +0 -28
- package/lib/node_modules/lodash/_stackClear.js.map +0 -1
- package/lib/node_modules/lodash/_stackDelete.js +0 -30
- package/lib/node_modules/lodash/_stackDelete.js.map +0 -1
- package/lib/node_modules/lodash/_stackGet.js +0 -26
- package/lib/node_modules/lodash/_stackGet.js.map +0 -1
- package/lib/node_modules/lodash/_stackHas.js +0 -26
- package/lib/node_modules/lodash/_stackHas.js.map +0 -1
- package/lib/node_modules/lodash/_stackSet.js +0 -49
- package/lib/node_modules/lodash/_stackSet.js.map +0 -1
- package/lib/node_modules/lodash/_strictIndexOf.js +0 -35
- package/lib/node_modules/lodash/_strictIndexOf.js.map +0 -1
- package/lib/node_modules/lodash/_stringSize.js +0 -33
- package/lib/node_modules/lodash/_stringSize.js.map +0 -1
- package/lib/node_modules/lodash/_stringToPath.js +0 -40
- package/lib/node_modules/lodash/_stringToPath.js.map +0 -1
- package/lib/node_modules/lodash/_toKey.js +0 -31
- package/lib/node_modules/lodash/_toKey.js.map +0 -1
- package/lib/node_modules/lodash/_toSource.js +0 -38
- package/lib/node_modules/lodash/_toSource.js.map +0 -1
- package/lib/node_modules/lodash/_trimmedEndIndex.js +0 -31
- package/lib/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
- package/lib/node_modules/lodash/_unicodeSize.js +0 -56
- package/lib/node_modules/lodash/_unicodeSize.js.map +0 -1
- package/lib/node_modules/lodash/clone.js +0 -49
- package/lib/node_modules/lodash/clone.js.map +0 -1
- package/lib/node_modules/lodash/cloneDeep.js +0 -42
- package/lib/node_modules/lodash/cloneDeep.js.map +0 -1
- package/lib/node_modules/lodash/constant.js +0 -38
- package/lib/node_modules/lodash/constant.js.map +0 -1
- package/lib/node_modules/lodash/defaults.js +0 -80
- package/lib/node_modules/lodash/defaults.js.map +0 -1
- package/lib/node_modules/lodash/each.js +0 -14
- package/lib/node_modules/lodash/each.js.map +0 -1
- package/lib/node_modules/lodash/eq.js +0 -49
- package/lib/node_modules/lodash/eq.js.map +0 -1
- package/lib/node_modules/lodash/filter.js +0 -68
- package/lib/node_modules/lodash/filter.js.map +0 -1
- package/lib/node_modules/lodash/find.js +0 -56
- package/lib/node_modules/lodash/find.js.map +0 -1
- package/lib/node_modules/lodash/findIndex.js +0 -70
- package/lib/node_modules/lodash/findIndex.js.map +0 -1
- package/lib/node_modules/lodash/flatten.js +0 -35
- package/lib/node_modules/lodash/flatten.js.map +0 -1
- package/lib/node_modules/lodash/forEach.js +0 -57
- package/lib/node_modules/lodash/forEach.js.map +0 -1
- package/lib/node_modules/lodash/forIn.js +0 -54
- package/lib/node_modules/lodash/forIn.js.map +0 -1
- package/lib/node_modules/lodash/get.js +0 -46
- package/lib/node_modules/lodash/get.js.map +0 -1
- package/lib/node_modules/lodash/has.js +0 -49
- package/lib/node_modules/lodash/has.js.map +0 -1
- package/lib/node_modules/lodash/hasIn.js +0 -48
- package/lib/node_modules/lodash/hasIn.js.map +0 -1
- package/lib/node_modules/lodash/identity.js +0 -33
- package/lib/node_modules/lodash/identity.js.map +0 -1
- package/lib/node_modules/lodash/isArguments.js +0 -50
- package/lib/node_modules/lodash/isArguments.js.map +0 -1
- package/lib/node_modules/lodash/isArray.js +0 -38
- package/lib/node_modules/lodash/isArray.js.map +0 -1
- package/lib/node_modules/lodash/isArrayLike.js +0 -47
- package/lib/node_modules/lodash/isArrayLike.js.map +0 -1
- package/lib/node_modules/lodash/isArrayLikeObject.js +0 -47
- package/lib/node_modules/lodash/isArrayLikeObject.js.map +0 -1
- package/lib/node_modules/lodash/isBuffer.js +0 -56
- package/lib/node_modules/lodash/isBuffer.js.map +0 -1
- package/lib/node_modules/lodash/isEmpty.js +0 -97
- package/lib/node_modules/lodash/isEmpty.js.map +0 -1
- package/lib/node_modules/lodash/isFunction.js +0 -51
- package/lib/node_modules/lodash/isFunction.js.map +0 -1
- package/lib/node_modules/lodash/isLength.js +0 -47
- package/lib/node_modules/lodash/isLength.js.map +0 -1
- package/lib/node_modules/lodash/isMap.js +0 -42
- package/lib/node_modules/lodash/isMap.js.map +0 -1
- package/lib/node_modules/lodash/isObject.js +0 -43
- package/lib/node_modules/lodash/isObject.js.map +0 -1
- package/lib/node_modules/lodash/isObjectLike.js +0 -41
- package/lib/node_modules/lodash/isObjectLike.js.map +0 -1
- package/lib/node_modules/lodash/isPlainObject.js +0 -77
- package/lib/node_modules/lodash/isPlainObject.js.map +0 -1
- package/lib/node_modules/lodash/isSet.js +0 -42
- package/lib/node_modules/lodash/isSet.js.map +0 -1
- package/lib/node_modules/lodash/isString.js +0 -45
- package/lib/node_modules/lodash/isString.js.map +0 -1
- package/lib/node_modules/lodash/isSymbol.js +0 -43
- package/lib/node_modules/lodash/isSymbol.js.map +0 -1
- package/lib/node_modules/lodash/isTypedArray.js +0 -42
- package/lib/node_modules/lodash/isTypedArray.js.map +0 -1
- package/lib/node_modules/lodash/isUndefined.js +0 -34
- package/lib/node_modules/lodash/isUndefined.js.map +0 -1
- package/lib/node_modules/lodash/keys.js +0 -52
- package/lib/node_modules/lodash/keys.js.map +0 -1
- package/lib/node_modules/lodash/keysIn.js +0 -47
- package/lib/node_modules/lodash/keysIn.js.map +0 -1
- package/lib/node_modules/lodash/last.js +0 -32
- package/lib/node_modules/lodash/last.js.map +0 -1
- package/lib/node_modules/lodash/map.js +0 -69
- package/lib/node_modules/lodash/map.js.map +0 -1
- package/lib/node_modules/lodash/mapValues.js +0 -58
- package/lib/node_modules/lodash/mapValues.js.map +0 -1
- package/lib/node_modules/lodash/max.js +0 -44
- package/lib/node_modules/lodash/max.js.map +0 -1
- package/lib/node_modules/lodash/memoize.js +0 -86
- package/lib/node_modules/lodash/memoize.js.map +0 -1
- package/lib/node_modules/lodash/merge.js +0 -53
- package/lib/node_modules/lodash/merge.js.map +0 -1
- package/lib/node_modules/lodash/min.js +0 -44
- package/lib/node_modules/lodash/min.js.map +0 -1
- package/lib/node_modules/lodash/minBy.js +0 -49
- package/lib/node_modules/lodash/minBy.js.map +0 -1
- package/lib/node_modules/lodash/noop.js +0 -29
- package/lib/node_modules/lodash/noop.js.map +0 -1
- package/lib/node_modules/lodash/now.js +0 -36
- package/lib/node_modules/lodash/now.js.map +0 -1
- package/lib/node_modules/lodash/pick.js +0 -39
- package/lib/node_modules/lodash/pick.js.map +0 -1
- package/lib/node_modules/lodash/property.js +0 -48
- package/lib/node_modules/lodash/property.js.map +0 -1
- package/lib/node_modules/lodash/range.js +0 -59
- package/lib/node_modules/lodash/range.js.map +0 -1
- package/lib/node_modules/lodash/reduce.js +0 -68
- package/lib/node_modules/lodash/reduce.js.map +0 -1
- package/lib/node_modules/lodash/size.js +0 -63
- package/lib/node_modules/lodash/size.js.map +0 -1
- package/lib/node_modules/lodash/sortBy.js +0 -64
- package/lib/node_modules/lodash/sortBy.js.map +0 -1
- package/lib/node_modules/lodash/stubArray.js +0 -35
- package/lib/node_modules/lodash/stubArray.js.map +0 -1
- package/lib/node_modules/lodash/stubFalse.js +0 -30
- package/lib/node_modules/lodash/stubFalse.js.map +0 -1
- package/lib/node_modules/lodash/toFinite.js +0 -55
- package/lib/node_modules/lodash/toFinite.js.map +0 -1
- package/lib/node_modules/lodash/toInteger.js +0 -49
- package/lib/node_modules/lodash/toInteger.js.map +0 -1
- package/lib/node_modules/lodash/toNumber.js +0 -79
- package/lib/node_modules/lodash/toNumber.js.map +0 -1
- package/lib/node_modules/lodash/toPlainObject.js +0 -46
- package/lib/node_modules/lodash/toPlainObject.js.map +0 -1
- package/lib/node_modules/lodash/toString.js +0 -41
- package/lib/node_modules/lodash/toString.js.map +0 -1
- package/lib/node_modules/lodash/transform.js +0 -87
- package/lib/node_modules/lodash/transform.js.map +0 -1
- package/lib/node_modules/lodash/union.js +0 -42
- package/lib/node_modules/lodash/union.js.map +0 -1
- package/lib/node_modules/lodash/uniqueId.js +0 -41
- package/lib/node_modules/lodash/uniqueId.js.map +0 -1
- package/lib/node_modules/lodash/values.js +0 -48
- package/lib/node_modules/lodash/values.js.map +0 -1
- package/lib/node_modules/lodash/zipObject.js +0 -38
- package/lib/node_modules/lodash/zipObject.js.map +0 -1
- package/lib/node_modules/ml-array-max/lib-es6/index.js +0 -37
- package/lib/node_modules/ml-array-max/lib-es6/index.js.map +0 -1
- package/lib/node_modules/ml-array-min/lib-es6/index.js +0 -37
- package/lib/node_modules/ml-array-min/lib-es6/index.js.map +0 -1
- package/lib/node_modules/ml-array-rescale/lib-es6/index.js +0 -52
- package/lib/node_modules/ml-array-rescale/lib-es6/index.js.map +0 -1
- package/lib/node_modules/ml-matrix/matrix.js +0 -8
- package/lib/node_modules/ml-matrix/matrix.js.map +0 -1
- package/lib/node_modules/ml-matrix/matrix2.js +0 -5660
- package/lib/node_modules/ml-matrix/matrix2.js.map +0 -1
- package/lib/node_modules/tslib/tslib.es6.js +0 -46
- package/lib/node_modules/tslib/tslib.es6.js.map +0 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { isNumber } from '@antv/util';
|
|
2
|
+
import { BaseSimulation } from '../base-simulation.js';
|
|
3
|
+
|
|
4
|
+
class ForceSimulation extends BaseSimulation {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.forces = new Map();
|
|
8
|
+
this.velMap = {};
|
|
9
|
+
}
|
|
10
|
+
data(model) {
|
|
11
|
+
this.model = model;
|
|
12
|
+
model.forEachNode((node) => {
|
|
13
|
+
this.velMap[node.id] = { x: 0, y: 0, z: 0 };
|
|
14
|
+
});
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
force(name, force) {
|
|
18
|
+
if (arguments.length === 1)
|
|
19
|
+
return this.forces.get(name) || null;
|
|
20
|
+
if (force === null)
|
|
21
|
+
this.forces.delete(name);
|
|
22
|
+
else if (force)
|
|
23
|
+
this.forces.set(name, force);
|
|
24
|
+
return force || null;
|
|
25
|
+
}
|
|
26
|
+
runOneStep() {
|
|
27
|
+
const accMap = {};
|
|
28
|
+
const nodes = this.model.nodes();
|
|
29
|
+
if (!nodes.length)
|
|
30
|
+
return 0;
|
|
31
|
+
nodes.forEach((n) => {
|
|
32
|
+
accMap[n.id] = { x: 0, y: 0, z: 0 };
|
|
33
|
+
});
|
|
34
|
+
this.forces.forEach((force) => {
|
|
35
|
+
force(this.model, accMap);
|
|
36
|
+
});
|
|
37
|
+
this.updateVelocity(accMap);
|
|
38
|
+
const distance = this.updatePosition();
|
|
39
|
+
this.monitor(accMap, nodes);
|
|
40
|
+
return distance;
|
|
41
|
+
}
|
|
42
|
+
setFixedPosition(nodeId, position) {
|
|
43
|
+
const node = this.model.node(nodeId);
|
|
44
|
+
if (!node)
|
|
45
|
+
return;
|
|
46
|
+
const keys = ['fx', 'fy', 'fz'];
|
|
47
|
+
if (position === null) {
|
|
48
|
+
keys.forEach((k) => delete node[k]);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
position.forEach((v, i) => {
|
|
52
|
+
if (i < keys.length && (typeof v === 'number' || v === null)) {
|
|
53
|
+
node[keys[i]] = v;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const vel = this.velMap[nodeId];
|
|
57
|
+
if (vel) {
|
|
58
|
+
vel.x = 0;
|
|
59
|
+
vel.y = 0;
|
|
60
|
+
vel.z = 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
updateVelocity(accMap) {
|
|
64
|
+
const { damping = 0.9, maxSpeed = 100, interval = 0.02, dimensions = 2, } = this.options;
|
|
65
|
+
this.model.nodes().forEach((node) => {
|
|
66
|
+
const id = node.id;
|
|
67
|
+
let vx = (this.velMap[id].x + accMap[id].x * interval) * damping;
|
|
68
|
+
let vy = (this.velMap[id].y + accMap[id].y * interval) * damping;
|
|
69
|
+
let vz = dimensions === 3
|
|
70
|
+
? (this.velMap[id].z + accMap[id].z * interval) * damping
|
|
71
|
+
: 0;
|
|
72
|
+
const vLen = Math.sqrt(vx * vx + vy * vy + vz * vz);
|
|
73
|
+
if (vLen > maxSpeed) {
|
|
74
|
+
const k = maxSpeed / vLen;
|
|
75
|
+
vx *= k;
|
|
76
|
+
vy *= k;
|
|
77
|
+
vz *= k;
|
|
78
|
+
}
|
|
79
|
+
this.velMap[id] = { x: vx, y: vy, z: vz };
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
updatePosition() {
|
|
83
|
+
const { distanceThresholdMode = 'mean', interval = 0.02, dimensions = 2, } = this.options;
|
|
84
|
+
const nodes = this.model.nodes();
|
|
85
|
+
let sum = 0;
|
|
86
|
+
let judge = distanceThresholdMode === 'max'
|
|
87
|
+
? -Infinity
|
|
88
|
+
: distanceThresholdMode === 'min'
|
|
89
|
+
? Infinity
|
|
90
|
+
: 0;
|
|
91
|
+
nodes.forEach((node) => {
|
|
92
|
+
const id = node.id;
|
|
93
|
+
if (isNumber(node.fx) && isNumber(node.fy)) {
|
|
94
|
+
node.x = node.fx;
|
|
95
|
+
node.y = node.fy;
|
|
96
|
+
if (dimensions === 3 && isNumber(node.fz))
|
|
97
|
+
node.z = node.fz;
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const dx = this.velMap[id].x * interval;
|
|
101
|
+
const dy = this.velMap[id].y * interval;
|
|
102
|
+
const dz = dimensions === 3 ? this.velMap[id].z * interval : 0;
|
|
103
|
+
node.x += dx;
|
|
104
|
+
node.y += dy;
|
|
105
|
+
if (dimensions === 3)
|
|
106
|
+
node.z = (node.z || 0) + dz;
|
|
107
|
+
const dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
108
|
+
if (distanceThresholdMode === 'max')
|
|
109
|
+
judge = Math.max(judge, dist);
|
|
110
|
+
else if (distanceThresholdMode === 'min')
|
|
111
|
+
judge = Math.min(judge, dist);
|
|
112
|
+
else
|
|
113
|
+
sum += dist;
|
|
114
|
+
});
|
|
115
|
+
return distanceThresholdMode === 'mean' ? sum / nodes.length : judge;
|
|
116
|
+
}
|
|
117
|
+
monitor(accMap, nodes) {
|
|
118
|
+
const { monitor, dimensions = 2 } = this.options;
|
|
119
|
+
if (!monitor)
|
|
120
|
+
return;
|
|
121
|
+
let energy = 0;
|
|
122
|
+
nodes.forEach((node) => {
|
|
123
|
+
const a = accMap[node.id];
|
|
124
|
+
const v2 = a.x * a.x + a.y * a.y + (dimensions === 3 ? a.z * a.z : 0);
|
|
125
|
+
energy += (node.mass || 1) * v2 * 0.5;
|
|
126
|
+
});
|
|
127
|
+
monitor({
|
|
128
|
+
energy,
|
|
129
|
+
nodes,
|
|
130
|
+
edges: this.model.edges(),
|
|
131
|
+
iterations: this.iteration,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { ForceSimulation };
|
|
137
|
+
//# sourceMappingURL=simulation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulation.js","sources":["../../../src/algorithm/force/src/algorithm/force/simulation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// represents a body(a point mass) and its position
|
|
2
|
+
class Body {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
/**
|
|
5
|
+
* the id of this body, the same with the node id
|
|
6
|
+
* @type {number}
|
|
7
|
+
*/
|
|
8
|
+
this.id = params.id || 0;
|
|
9
|
+
/**
|
|
10
|
+
* the position of this body
|
|
11
|
+
* @type {number}
|
|
12
|
+
*/
|
|
13
|
+
this.rx = params.rx;
|
|
14
|
+
/**
|
|
15
|
+
* the position of this body
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
18
|
+
this.ry = params.ry;
|
|
19
|
+
/**
|
|
20
|
+
* the force acting on this body
|
|
21
|
+
* @type {number}
|
|
22
|
+
*/
|
|
23
|
+
this.fx = 0;
|
|
24
|
+
/**
|
|
25
|
+
* the force acting on this body
|
|
26
|
+
* @type {number}
|
|
27
|
+
*/
|
|
28
|
+
this.fy = 0;
|
|
29
|
+
/**
|
|
30
|
+
* the mass of this body, =1 for a node
|
|
31
|
+
* @type {number}
|
|
32
|
+
*/
|
|
33
|
+
this.mass = params.mass;
|
|
34
|
+
/**
|
|
35
|
+
* the degree of the node represented by this body
|
|
36
|
+
* @type {number}
|
|
37
|
+
*/
|
|
38
|
+
this.degree = params.degree;
|
|
39
|
+
/**
|
|
40
|
+
* the parameter for repulsive force, = kr
|
|
41
|
+
* @type {number}
|
|
42
|
+
*/
|
|
43
|
+
this.g = params.g || 0;
|
|
44
|
+
}
|
|
45
|
+
// returns the euclidean distance
|
|
46
|
+
distanceTo(bo) {
|
|
47
|
+
const dx = this.rx - bo.rx;
|
|
48
|
+
const dy = this.ry - bo.ry;
|
|
49
|
+
return Math.hypot(dx, dy);
|
|
50
|
+
}
|
|
51
|
+
setPos(x, y) {
|
|
52
|
+
this.rx = x;
|
|
53
|
+
this.ry = y;
|
|
54
|
+
}
|
|
55
|
+
// resets the forces
|
|
56
|
+
resetForce() {
|
|
57
|
+
this.fx = 0;
|
|
58
|
+
this.fy = 0;
|
|
59
|
+
}
|
|
60
|
+
addForce(b) {
|
|
61
|
+
const dx = b.rx - this.rx;
|
|
62
|
+
const dy = b.ry - this.ry;
|
|
63
|
+
let dist = Math.hypot(dx, dy);
|
|
64
|
+
dist = dist < 0.0001 ? 0.0001 : dist;
|
|
65
|
+
// the repulsive defined by force atlas 2
|
|
66
|
+
const F = (this.g * (this.degree + 1) * (b.degree + 1)) / dist;
|
|
67
|
+
this.fx += (F * dx) / dist;
|
|
68
|
+
this.fy += (F * dy) / dist;
|
|
69
|
+
}
|
|
70
|
+
// if quad contains this body
|
|
71
|
+
in(quad) {
|
|
72
|
+
return quad.contains(this.rx, this.ry);
|
|
73
|
+
}
|
|
74
|
+
// returns a new body
|
|
75
|
+
add(bo) {
|
|
76
|
+
const nenwMass = this.mass + bo.mass;
|
|
77
|
+
const x = (this.rx * this.mass + bo.rx * bo.mass) / nenwMass;
|
|
78
|
+
const y = (this.ry * this.mass + bo.ry * bo.mass) / nenwMass;
|
|
79
|
+
const dg = this.degree + bo.degree;
|
|
80
|
+
const params = {
|
|
81
|
+
rx: x,
|
|
82
|
+
ry: y,
|
|
83
|
+
mass: nenwMass,
|
|
84
|
+
degree: dg,
|
|
85
|
+
};
|
|
86
|
+
return new Body(params);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { Body as default };
|
|
91
|
+
//# sourceMappingURL=body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body.js","sources":["../../../src/algorithm/force-atlas2/src/algorithm/force-atlas2/body.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
import { initNodePosition } from '../../model/data.js';
|
|
3
|
+
import { applySingleNodeLayout } from '../../util/common.js';
|
|
4
|
+
import '@antv/expr';
|
|
5
|
+
import { formatNodeSizeFn } from '../../util/format.js';
|
|
6
|
+
import '@antv/util';
|
|
7
|
+
import { normalizeViewport } from '../../util/viewport.js';
|
|
8
|
+
import { BaseLayoutWithIterations } from '../base-layout.js';
|
|
9
|
+
import { Simulation } from './simulation.js';
|
|
10
|
+
|
|
11
|
+
const DEFAULTS_LAYOUT_OPTIONS = {
|
|
12
|
+
nodeSize: 10,
|
|
13
|
+
nodeSpacing: 0,
|
|
14
|
+
width: 300,
|
|
15
|
+
height: 300,
|
|
16
|
+
kr: 5,
|
|
17
|
+
kg: 1,
|
|
18
|
+
mode: 'normal',
|
|
19
|
+
preventOverlap: false,
|
|
20
|
+
dissuadeHubs: false,
|
|
21
|
+
maxIteration: 0,
|
|
22
|
+
ks: 0.1,
|
|
23
|
+
ksmax: 10,
|
|
24
|
+
tao: 0.1,
|
|
25
|
+
};
|
|
26
|
+
class ForceAtlas2Layout extends BaseLayoutWithIterations {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
this.id = 'force-atlas2';
|
|
30
|
+
this.simulation = null;
|
|
31
|
+
}
|
|
32
|
+
getDefaultOptions() {
|
|
33
|
+
return DEFAULTS_LAYOUT_OPTIONS;
|
|
34
|
+
}
|
|
35
|
+
layout(options) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const merged = this.parseOptions(options);
|
|
38
|
+
const { width, height, prune, center } = merged;
|
|
39
|
+
const n = this.model.nodeCount();
|
|
40
|
+
if (!n || n === 1) {
|
|
41
|
+
return applySingleNodeLayout(this.model, center);
|
|
42
|
+
}
|
|
43
|
+
initNodePosition(this.model, width, height);
|
|
44
|
+
const sizes = this.getSizes(merged.nodeSize, merged.nodeSpacing);
|
|
45
|
+
const simulation = this.setSimulation();
|
|
46
|
+
simulation.data(this.model, sizes);
|
|
47
|
+
simulation.initialize(merged);
|
|
48
|
+
simulation.restart();
|
|
49
|
+
const run = () => new Promise((resolve) => {
|
|
50
|
+
simulation.on('end', resolve);
|
|
51
|
+
});
|
|
52
|
+
if (!prune)
|
|
53
|
+
return run();
|
|
54
|
+
yield run();
|
|
55
|
+
// prune: 把叶子节点贴到父节点并再运行若干次以收敛
|
|
56
|
+
if (prune) {
|
|
57
|
+
const edges = this.model.edges();
|
|
58
|
+
for (let j = 0; j < edges.length; j += 1) {
|
|
59
|
+
const { source, target } = edges[j];
|
|
60
|
+
const sourceDegree = this.model.degree(source);
|
|
61
|
+
const targetDegree = this.model.degree(target);
|
|
62
|
+
const sourceNode = this.model.node(source);
|
|
63
|
+
const targetNode = this.model.node(target);
|
|
64
|
+
if (sourceDegree <= 1) {
|
|
65
|
+
sourceNode.x = targetNode.x;
|
|
66
|
+
sourceNode.y = targetNode.y;
|
|
67
|
+
}
|
|
68
|
+
else if (targetDegree <= 1) {
|
|
69
|
+
targetNode.x = sourceNode.x;
|
|
70
|
+
targetNode.y = sourceNode.y;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
simulation.initialize(Object.assign(Object.assign({}, merged), { prune: false, barnesHut: false }));
|
|
74
|
+
simulation.tick(100);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
getSizes(nodeSize, nodeSpacing) {
|
|
79
|
+
const result = {};
|
|
80
|
+
const nodeSizeFn = formatNodeSizeFn(nodeSize, nodeSpacing, DEFAULTS_LAYOUT_OPTIONS.nodeSize, DEFAULTS_LAYOUT_OPTIONS.nodeSpacing);
|
|
81
|
+
this.model.forEachNode((node) => {
|
|
82
|
+
result[node.id] = Math.max(...nodeSizeFn(node._original));
|
|
83
|
+
});
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
setSimulation() {
|
|
87
|
+
const simulation = this.simulation || new Simulation();
|
|
88
|
+
if (!this.simulation) {
|
|
89
|
+
this.simulation = simulation.on('tick', () => { var _a, _b; return (_b = (_a = this.options).onTick) === null || _b === void 0 ? void 0 : _b.call(_a, this); });
|
|
90
|
+
}
|
|
91
|
+
return this.simulation;
|
|
92
|
+
}
|
|
93
|
+
parseOptions(options = {}) {
|
|
94
|
+
const { barnesHut, prune, maxIteration, kr, kg } = options;
|
|
95
|
+
const auto = {};
|
|
96
|
+
const n = this.model.nodeCount();
|
|
97
|
+
if (barnesHut === undefined && n > 250)
|
|
98
|
+
auto.barnesHut = true;
|
|
99
|
+
if (prune === undefined && n > 100)
|
|
100
|
+
auto.prune = true;
|
|
101
|
+
if (maxIteration === 0 && !prune) {
|
|
102
|
+
auto.maxIteration = 250;
|
|
103
|
+
if (n <= 200 && n > 100)
|
|
104
|
+
auto.maxIteration = 1000;
|
|
105
|
+
else if (n > 200)
|
|
106
|
+
auto.maxIteration = 1200;
|
|
107
|
+
}
|
|
108
|
+
else if (maxIteration === 0 && prune) {
|
|
109
|
+
auto.maxIteration = 100;
|
|
110
|
+
if (n <= 200 && n > 100)
|
|
111
|
+
auto.maxIteration = 500;
|
|
112
|
+
else if (n > 200)
|
|
113
|
+
auto.maxIteration = 950;
|
|
114
|
+
}
|
|
115
|
+
if (!kr) {
|
|
116
|
+
auto.kr = 50;
|
|
117
|
+
if (n > 100 && n <= 500)
|
|
118
|
+
auto.kr = 20;
|
|
119
|
+
else if (n > 500)
|
|
120
|
+
auto.kr = 1;
|
|
121
|
+
}
|
|
122
|
+
if (!kg) {
|
|
123
|
+
auto.kg = 20;
|
|
124
|
+
if (n > 100 && n <= 500)
|
|
125
|
+
auto.kg = 10;
|
|
126
|
+
else if (n > 500)
|
|
127
|
+
auto.kg = 1;
|
|
128
|
+
}
|
|
129
|
+
return Object.assign(Object.assign(Object.assign({}, options), auto), normalizeViewport(options));
|
|
130
|
+
}
|
|
131
|
+
stop() {
|
|
132
|
+
var _a;
|
|
133
|
+
(_a = this.simulation) === null || _a === void 0 ? void 0 : _a.stop();
|
|
134
|
+
}
|
|
135
|
+
tick(iterations = 1) {
|
|
136
|
+
var _a;
|
|
137
|
+
(_a = this.simulation) === null || _a === void 0 ? void 0 : _a.tick(iterations);
|
|
138
|
+
}
|
|
139
|
+
restart() {
|
|
140
|
+
var _a;
|
|
141
|
+
(_a = this.simulation) === null || _a === void 0 ? void 0 : _a.restart();
|
|
142
|
+
}
|
|
143
|
+
setFixedPosition(id, position) {
|
|
144
|
+
var _a;
|
|
145
|
+
(_a = this.simulation) === null || _a === void 0 ? void 0 : _a.setFixedPosition(id, position);
|
|
146
|
+
}
|
|
147
|
+
destroy() {
|
|
148
|
+
var _a;
|
|
149
|
+
super.destroy();
|
|
150
|
+
this.stop();
|
|
151
|
+
(_a = this.simulation) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
152
|
+
this.simulation = null;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export { ForceAtlas2Layout };
|
|
157
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/algorithm/force-atlas2/src/algorithm/force-atlas2/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileOverview quadTree
|
|
3
|
+
* @author shiwu.wyy@antfin.com
|
|
4
|
+
*/
|
|
5
|
+
class QuadTree {
|
|
6
|
+
// each quadtree represents a quadrant and an aggregate body
|
|
7
|
+
// that represents all bodies inside the quadrant
|
|
8
|
+
constructor(param) {
|
|
9
|
+
/**
|
|
10
|
+
* (aggregated) body in this quad
|
|
11
|
+
* @type {object}
|
|
12
|
+
*/
|
|
13
|
+
this.body = null;
|
|
14
|
+
/**
|
|
15
|
+
* tree representing the northwest quadrant
|
|
16
|
+
* @type {object}
|
|
17
|
+
*/
|
|
18
|
+
this.quad = null;
|
|
19
|
+
this.NW = null;
|
|
20
|
+
this.NE = null;
|
|
21
|
+
this.SW = null;
|
|
22
|
+
this.SE = null;
|
|
23
|
+
/**
|
|
24
|
+
* threshold
|
|
25
|
+
* @type {number}
|
|
26
|
+
*/
|
|
27
|
+
this.theta = 0.5;
|
|
28
|
+
if (param != null)
|
|
29
|
+
this.quad = param;
|
|
30
|
+
}
|
|
31
|
+
// insert a body(node) into the tree
|
|
32
|
+
insert(bo) {
|
|
33
|
+
// if this node does not contain a body, put the new body bo here
|
|
34
|
+
if (this.body == null) {
|
|
35
|
+
this.body = bo;
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// internal node
|
|
39
|
+
if (!this._isExternal()) {
|
|
40
|
+
// update mass info
|
|
41
|
+
this.body = this.body.add(bo);
|
|
42
|
+
// insert body into quadrant
|
|
43
|
+
this._putBody(bo);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// external node
|
|
47
|
+
// divide this region into four children
|
|
48
|
+
if (this.quad) {
|
|
49
|
+
this.NW = new QuadTree(this.quad.NW());
|
|
50
|
+
this.NE = new QuadTree(this.quad.NE());
|
|
51
|
+
this.SW = new QuadTree(this.quad.SW());
|
|
52
|
+
this.SE = new QuadTree(this.quad.SE());
|
|
53
|
+
}
|
|
54
|
+
// insert this body and bo
|
|
55
|
+
this._putBody(this.body);
|
|
56
|
+
this._putBody(bo);
|
|
57
|
+
// update the mass info
|
|
58
|
+
this.body = this.body.add(bo);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// inserts bo into a quad
|
|
62
|
+
// tslint:disable-next-line
|
|
63
|
+
_putBody(bo) {
|
|
64
|
+
if (!this.quad)
|
|
65
|
+
return;
|
|
66
|
+
if (bo.in(this.quad.NW()) && this.NW)
|
|
67
|
+
this.NW.insert(bo);
|
|
68
|
+
else if (bo.in(this.quad.NE()) && this.NE)
|
|
69
|
+
this.NE.insert(bo);
|
|
70
|
+
else if (bo.in(this.quad.SW()) && this.SW)
|
|
71
|
+
this.SW.insert(bo);
|
|
72
|
+
else if (bo.in(this.quad.SE()) && this.SE)
|
|
73
|
+
this.SE.insert(bo);
|
|
74
|
+
}
|
|
75
|
+
// tslint:disable-next-line
|
|
76
|
+
_isExternal() {
|
|
77
|
+
// four children are null
|
|
78
|
+
return (this.NW == null && this.NE == null && this.SW == null && this.SE == null);
|
|
79
|
+
}
|
|
80
|
+
// update the forces
|
|
81
|
+
updateForce(bo) {
|
|
82
|
+
if (this.body == null || bo === this.body) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// if the current node is external
|
|
86
|
+
if (this._isExternal())
|
|
87
|
+
bo.addForce(this.body);
|
|
88
|
+
// internal nodes
|
|
89
|
+
else {
|
|
90
|
+
const s = this.quad ? this.quad.getLength() : 0;
|
|
91
|
+
const d = this.body.distanceTo(bo);
|
|
92
|
+
// b is far enough
|
|
93
|
+
if (s / d < this.theta)
|
|
94
|
+
bo.addForce(this.body);
|
|
95
|
+
else {
|
|
96
|
+
this.NW && this.NW.updateForce(bo);
|
|
97
|
+
this.NE && this.NE.updateForce(bo);
|
|
98
|
+
this.SW && this.SW.updateForce(bo);
|
|
99
|
+
this.SE && this.SE.updateForce(bo);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export { QuadTree as default };
|
|
106
|
+
//# sourceMappingURL=quad-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad-tree.js","sources":["../../../src/algorithm/force-atlas2/src/algorithm/force-atlas2/quad-tree.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
class Quad {
|
|
2
|
+
constructor(params) {
|
|
3
|
+
/**
|
|
4
|
+
* the center position of this quad
|
|
5
|
+
* @type {number}
|
|
6
|
+
*/
|
|
7
|
+
this.xmid = params.xmid;
|
|
8
|
+
/**
|
|
9
|
+
* the center position of this quad
|
|
10
|
+
* @type {number}
|
|
11
|
+
*/
|
|
12
|
+
this.ymid = params.ymid;
|
|
13
|
+
/**
|
|
14
|
+
* the length of this quad
|
|
15
|
+
* @type {number}
|
|
16
|
+
*/
|
|
17
|
+
this.length = params.length;
|
|
18
|
+
/**
|
|
19
|
+
* the mass center of this quad
|
|
20
|
+
* @type {number}
|
|
21
|
+
*/
|
|
22
|
+
this.massCenter = params.massCenter || [0, 0];
|
|
23
|
+
/**
|
|
24
|
+
* the mass of this quad
|
|
25
|
+
* @type {number}
|
|
26
|
+
*/
|
|
27
|
+
this.mass = params.mass || 1;
|
|
28
|
+
}
|
|
29
|
+
getLength() {
|
|
30
|
+
return this.length;
|
|
31
|
+
}
|
|
32
|
+
contains(x, y) {
|
|
33
|
+
const halfLen = this.length / 2;
|
|
34
|
+
return (x <= this.xmid + halfLen &&
|
|
35
|
+
x >= this.xmid - halfLen &&
|
|
36
|
+
y <= this.ymid + halfLen &&
|
|
37
|
+
y >= this.ymid - halfLen);
|
|
38
|
+
}
|
|
39
|
+
// northwest quadrant
|
|
40
|
+
// tslint:disable-next-line
|
|
41
|
+
NW() {
|
|
42
|
+
const x = this.xmid - this.length / 4;
|
|
43
|
+
const y = this.ymid + this.length / 4;
|
|
44
|
+
const len = this.length / 2;
|
|
45
|
+
const params = {
|
|
46
|
+
xmid: x,
|
|
47
|
+
ymid: y,
|
|
48
|
+
length: len,
|
|
49
|
+
};
|
|
50
|
+
const NW = new Quad(params);
|
|
51
|
+
return NW;
|
|
52
|
+
}
|
|
53
|
+
// northeast
|
|
54
|
+
// tslint:disable-next-line
|
|
55
|
+
NE() {
|
|
56
|
+
const x = this.xmid + this.length / 4;
|
|
57
|
+
const y = this.ymid + this.length / 4;
|
|
58
|
+
const len = this.length / 2;
|
|
59
|
+
const params = {
|
|
60
|
+
xmid: x,
|
|
61
|
+
ymid: y,
|
|
62
|
+
length: len,
|
|
63
|
+
};
|
|
64
|
+
const NE = new Quad(params);
|
|
65
|
+
return NE;
|
|
66
|
+
}
|
|
67
|
+
// southwest
|
|
68
|
+
// tslint:disable-next-line
|
|
69
|
+
SW() {
|
|
70
|
+
const x = this.xmid - this.length / 4;
|
|
71
|
+
const y = this.ymid - this.length / 4;
|
|
72
|
+
const len = this.length / 2;
|
|
73
|
+
const params = {
|
|
74
|
+
xmid: x,
|
|
75
|
+
ymid: y,
|
|
76
|
+
length: len,
|
|
77
|
+
};
|
|
78
|
+
const SW = new Quad(params);
|
|
79
|
+
return SW;
|
|
80
|
+
}
|
|
81
|
+
// southeast
|
|
82
|
+
// tslint:disable-next-line
|
|
83
|
+
SE() {
|
|
84
|
+
const x = this.xmid + this.length / 4;
|
|
85
|
+
const y = this.ymid - this.length / 4;
|
|
86
|
+
const len = this.length / 2;
|
|
87
|
+
const params = {
|
|
88
|
+
xmid: x,
|
|
89
|
+
ymid: y,
|
|
90
|
+
length: len,
|
|
91
|
+
};
|
|
92
|
+
const SE = new Quad(params);
|
|
93
|
+
return SE;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { Quad as default };
|
|
98
|
+
//# sourceMappingURL=quad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad.js","sources":["../../../src/algorithm/force-atlas2/src/algorithm/force-atlas2/quad.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|