@antv/layout 2.0.0 → 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 +4 -2
- 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,357 @@
|
|
|
1
|
+
import { isNil } from '@antv/util';
|
|
2
|
+
import '@antv/expr';
|
|
3
|
+
import { normalizeViewport } from '../../util/viewport.js';
|
|
4
|
+
import { BaseSimulation } from '../base-simulation.js';
|
|
5
|
+
|
|
6
|
+
const SPEED_DIVISOR = 800;
|
|
7
|
+
/**
|
|
8
|
+
* Fruchterman Simulation
|
|
9
|
+
*/
|
|
10
|
+
class Simulation extends BaseSimulation {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.displacements = null;
|
|
14
|
+
this.clusterMap = null;
|
|
15
|
+
}
|
|
16
|
+
data(model) {
|
|
17
|
+
this.model = model;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
initialize(options) {
|
|
21
|
+
super.initialize(options);
|
|
22
|
+
this.recomputeConstants();
|
|
23
|
+
this.displacements = null;
|
|
24
|
+
this.clusterMap = null;
|
|
25
|
+
this.initDisplacements();
|
|
26
|
+
}
|
|
27
|
+
recomputeConstants() {
|
|
28
|
+
const { model, options } = this;
|
|
29
|
+
const { width, height } = normalizeViewport(options);
|
|
30
|
+
const area = width * height;
|
|
31
|
+
this.k2 = area / (model.nodeCount() + 1);
|
|
32
|
+
this.k = Math.sqrt(this.k2);
|
|
33
|
+
this.maxDisplace = Math.sqrt(area) / 10;
|
|
34
|
+
}
|
|
35
|
+
runOneStep() {
|
|
36
|
+
this.syncFixedPositions();
|
|
37
|
+
this.initDisplacements();
|
|
38
|
+
this.calculateRepulsive();
|
|
39
|
+
this.calculateAttractive();
|
|
40
|
+
this.applyClusterGravity();
|
|
41
|
+
this.applyGlobalGravity();
|
|
42
|
+
return this.updatePositions();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fixes the position of the node with the given id to the specified position.
|
|
46
|
+
*/
|
|
47
|
+
setFixedPosition(id, position) {
|
|
48
|
+
const node = this.model.node(id);
|
|
49
|
+
if (!node)
|
|
50
|
+
return;
|
|
51
|
+
const keys = ['fx', 'fy', 'fz'];
|
|
52
|
+
if (position === null) {
|
|
53
|
+
// Unset fixed position
|
|
54
|
+
keys.forEach((key) => {
|
|
55
|
+
delete node[key];
|
|
56
|
+
});
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
position.forEach((value, index) => {
|
|
60
|
+
if (index < keys.length &&
|
|
61
|
+
(typeof value === 'number' || value === null)) {
|
|
62
|
+
node[keys[index]] = value;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Determines whether a node is fixed (has fx and fy defined).
|
|
68
|
+
*/
|
|
69
|
+
isNodeFixed(node) {
|
|
70
|
+
return !isNil(node.fx) && !isNil(node.fy);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Synchronizes fixed node positions (fx/fy -> x/y)
|
|
74
|
+
*/
|
|
75
|
+
syncFixedPositions() {
|
|
76
|
+
const { model, options } = this;
|
|
77
|
+
const is3D = options.dimensions === 3;
|
|
78
|
+
model.forEachNode((node) => {
|
|
79
|
+
if (this.isNodeFixed(node)) {
|
|
80
|
+
node.x = node.fx;
|
|
81
|
+
node.y = node.fy;
|
|
82
|
+
if (is3D && node.fz !== undefined) {
|
|
83
|
+
node.z = node.fz;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
initDisplacements() {
|
|
89
|
+
if (!this.displacements) {
|
|
90
|
+
this.displacements = new Map();
|
|
91
|
+
this.model.forEachNode((node) => {
|
|
92
|
+
this.displacements.set(node.id, { x: 0, y: 0, z: 0 });
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
this.displacements.forEach((displacement) => {
|
|
96
|
+
displacement.x = 0;
|
|
97
|
+
displacement.y = 0;
|
|
98
|
+
displacement.z = 0;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Calculates repulsive forces
|
|
103
|
+
*/
|
|
104
|
+
calculateRepulsive() {
|
|
105
|
+
const { model, options } = this;
|
|
106
|
+
const is3D = options.dimensions === 3;
|
|
107
|
+
const nodes = model.nodes();
|
|
108
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
109
|
+
const nodeV = nodes[i];
|
|
110
|
+
const dispV = this.displacements.get(nodeV.id);
|
|
111
|
+
const vFixed = this.isNodeFixed(nodeV);
|
|
112
|
+
for (let j = i + 1; j < nodes.length; j++) {
|
|
113
|
+
const nodeU = nodes[j];
|
|
114
|
+
const dispU = this.displacements.get(nodeU.id);
|
|
115
|
+
const uFixed = this.isNodeFixed(nodeU);
|
|
116
|
+
let vecX = nodeV.x - nodeU.x;
|
|
117
|
+
let vecY = nodeV.y - nodeU.y;
|
|
118
|
+
let vecZ = is3D ? nodeV.z - nodeU.z : 0;
|
|
119
|
+
let lengthSqr = vecX * vecX + vecY * vecY + vecZ * vecZ;
|
|
120
|
+
if (lengthSqr === 0) {
|
|
121
|
+
lengthSqr = 1;
|
|
122
|
+
vecX = 0.01;
|
|
123
|
+
vecY = 0.01;
|
|
124
|
+
vecZ = 0.01;
|
|
125
|
+
}
|
|
126
|
+
const common = this.k2 / lengthSqr;
|
|
127
|
+
const dispX = vecX * common;
|
|
128
|
+
const dispY = vecY * common;
|
|
129
|
+
const dispZ = vecZ * common;
|
|
130
|
+
if (!vFixed && !uFixed) {
|
|
131
|
+
// 两个都不固定:正常分配
|
|
132
|
+
dispV.x += dispX;
|
|
133
|
+
dispV.y += dispY;
|
|
134
|
+
dispU.x -= dispX;
|
|
135
|
+
dispU.y -= dispY;
|
|
136
|
+
if (is3D) {
|
|
137
|
+
dispV.z += dispZ;
|
|
138
|
+
dispU.z -= dispZ;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else if (vFixed && !uFixed) {
|
|
142
|
+
// V 固定,U 不固定:U 承受双倍位移
|
|
143
|
+
dispU.x -= dispX * 2;
|
|
144
|
+
dispU.y -= dispY * 2;
|
|
145
|
+
if (is3D) {
|
|
146
|
+
dispU.z -= dispZ * 2;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else if (!vFixed && uFixed) {
|
|
150
|
+
// U 固定,V 不固定:V 承受双倍位移
|
|
151
|
+
dispV.x += dispX * 2;
|
|
152
|
+
dispV.y += dispY * 2;
|
|
153
|
+
if (is3D) {
|
|
154
|
+
dispV.z += dispZ * 2;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// 如果两个都固定,则都不移动(不添加位移)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
calculateAttractive() {
|
|
162
|
+
const { model, options } = this;
|
|
163
|
+
const is3D = options.dimensions === 3;
|
|
164
|
+
model.forEachEdge((edge) => {
|
|
165
|
+
const { source, target } = edge;
|
|
166
|
+
if (!source || !target || source === target) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const u = model.node(source);
|
|
170
|
+
const v = model.node(target);
|
|
171
|
+
const dispSource = this.displacements.get(source);
|
|
172
|
+
const dispTarget = this.displacements.get(target);
|
|
173
|
+
const fixedU = this.isNodeFixed(u);
|
|
174
|
+
const fixedV = this.isNodeFixed(v);
|
|
175
|
+
const vecX = v.x - u.x;
|
|
176
|
+
const vecY = v.y - u.y;
|
|
177
|
+
const vecZ = is3D ? v.z - u.z : 0;
|
|
178
|
+
const length = Math.sqrt(vecX * vecX + vecY * vecY + vecZ * vecZ);
|
|
179
|
+
if (length === 0)
|
|
180
|
+
return;
|
|
181
|
+
const common = length / this.k;
|
|
182
|
+
const dispX = vecX * common;
|
|
183
|
+
const dispY = vecY * common;
|
|
184
|
+
const dispZ = vecZ * common;
|
|
185
|
+
if (!fixedU && !fixedV) {
|
|
186
|
+
// 两个都不固定:正常分配
|
|
187
|
+
dispSource.x += dispX;
|
|
188
|
+
dispSource.y += dispY;
|
|
189
|
+
dispTarget.x -= dispX;
|
|
190
|
+
dispTarget.y -= dispY;
|
|
191
|
+
if (is3D) {
|
|
192
|
+
dispSource.z += dispZ;
|
|
193
|
+
dispTarget.z -= dispZ;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else if (fixedU && !fixedV) {
|
|
197
|
+
// V 固定,U 不固定:U 承受双倍位移
|
|
198
|
+
dispTarget.x -= dispX * 2;
|
|
199
|
+
dispTarget.y -= dispY * 2;
|
|
200
|
+
if (is3D) {
|
|
201
|
+
dispTarget.z -= dispZ * 2;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else if (!fixedU && fixedV) {
|
|
205
|
+
// U 固定,V 不固定:V 承受双倍位移
|
|
206
|
+
dispSource.x += dispX * 2;
|
|
207
|
+
dispSource.y += dispY * 2;
|
|
208
|
+
if (is3D) {
|
|
209
|
+
dispSource.z += dispZ * 2;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// 如果两个都固定,则都不移动(不添加位移)
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
applyClusterGravity() {
|
|
216
|
+
const { model, options } = this;
|
|
217
|
+
const { nodeClusterBy, clusterGravity, dimensions, clustering } = options;
|
|
218
|
+
if (!clustering)
|
|
219
|
+
return;
|
|
220
|
+
if (!this.clusterMap) {
|
|
221
|
+
this.clusterMap = new Map();
|
|
222
|
+
model.forEachNode((node) => {
|
|
223
|
+
const clusterKey = nodeClusterBy(model.originalNode(node.id));
|
|
224
|
+
if (!this.clusterMap.has(clusterKey)) {
|
|
225
|
+
this.clusterMap.set(clusterKey, {
|
|
226
|
+
name: clusterKey,
|
|
227
|
+
cx: 0,
|
|
228
|
+
cy: 0,
|
|
229
|
+
cz: 0,
|
|
230
|
+
count: 0,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
if (this.clusterMap.size === 0)
|
|
236
|
+
return;
|
|
237
|
+
const is3D = dimensions === 3;
|
|
238
|
+
this.clusterMap.forEach((cluster) => {
|
|
239
|
+
cluster.cx = 0;
|
|
240
|
+
cluster.cy = 0;
|
|
241
|
+
cluster.cz = 0;
|
|
242
|
+
cluster.count = 0;
|
|
243
|
+
});
|
|
244
|
+
model.forEachNode((node) => {
|
|
245
|
+
const clusterKey = nodeClusterBy(model.originalNode(node.id));
|
|
246
|
+
const cluster = this.clusterMap.get(clusterKey);
|
|
247
|
+
if (!cluster)
|
|
248
|
+
return;
|
|
249
|
+
cluster.cx += node.x;
|
|
250
|
+
cluster.cy += node.y;
|
|
251
|
+
if (is3D)
|
|
252
|
+
cluster.cz += node.z;
|
|
253
|
+
cluster.count++;
|
|
254
|
+
});
|
|
255
|
+
this.clusterMap.forEach((cluster) => {
|
|
256
|
+
if (cluster.count > 0) {
|
|
257
|
+
cluster.cx /= cluster.count;
|
|
258
|
+
cluster.cy /= cluster.count;
|
|
259
|
+
cluster.cz /= cluster.count;
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
model.forEachNode((node) => {
|
|
263
|
+
const { id } = node;
|
|
264
|
+
// 固定节点不应用聚类重力
|
|
265
|
+
if (this.isNodeFixed(node))
|
|
266
|
+
return;
|
|
267
|
+
const clusterKey = nodeClusterBy(model.originalNode(id));
|
|
268
|
+
const cluster = this.clusterMap.get(clusterKey);
|
|
269
|
+
if (!cluster)
|
|
270
|
+
return;
|
|
271
|
+
const disp = this.displacements.get(id);
|
|
272
|
+
const vecX = node.x - cluster.cx;
|
|
273
|
+
const vecY = node.y - cluster.cy;
|
|
274
|
+
const vecZ = is3D ? node.z - cluster.cz : 0;
|
|
275
|
+
const distLength = Math.sqrt(vecX * vecX + vecY * vecY + vecZ * vecZ);
|
|
276
|
+
if (distLength === 0)
|
|
277
|
+
return;
|
|
278
|
+
const gravityForce = this.k * clusterGravity;
|
|
279
|
+
disp.x -= (gravityForce * vecX) / distLength;
|
|
280
|
+
disp.y -= (gravityForce * vecY) / distLength;
|
|
281
|
+
if (is3D) {
|
|
282
|
+
disp.z -= (gravityForce * vecZ) / distLength;
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
applyGlobalGravity() {
|
|
287
|
+
const { model, options } = this;
|
|
288
|
+
const { gravity, center, dimensions } = options;
|
|
289
|
+
const is3D = dimensions === 3;
|
|
290
|
+
const gravityForce = 0.01 * this.k * gravity;
|
|
291
|
+
model.forEachNode((node) => {
|
|
292
|
+
const { id } = node;
|
|
293
|
+
// 固定节点不应用全局重力
|
|
294
|
+
if (this.isNodeFixed(node))
|
|
295
|
+
return;
|
|
296
|
+
const disp = this.displacements.get(id);
|
|
297
|
+
disp.x -= gravityForce * (node.x - center[0]);
|
|
298
|
+
disp.y -= gravityForce * (node.y - center[1]);
|
|
299
|
+
if (is3D) {
|
|
300
|
+
disp.z -= gravityForce * (node.z - (center[2] || 0));
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Updates node positions based on calculated displacements
|
|
306
|
+
*/
|
|
307
|
+
updatePositions() {
|
|
308
|
+
const { model, options } = this;
|
|
309
|
+
const { speed, dimensions, distanceThresholdMode = 'max' } = options;
|
|
310
|
+
const is3D = dimensions === 3;
|
|
311
|
+
let max = 0;
|
|
312
|
+
let min = Infinity;
|
|
313
|
+
let sum = 0;
|
|
314
|
+
let count = 0;
|
|
315
|
+
model.forEachNode((node) => {
|
|
316
|
+
const { id } = node;
|
|
317
|
+
if (this.isNodeFixed(node))
|
|
318
|
+
return;
|
|
319
|
+
const disp = this.displacements.get(id);
|
|
320
|
+
const distLength = Math.sqrt(disp.x * disp.x + disp.y * disp.y + (is3D ? disp.z * disp.z : 0));
|
|
321
|
+
if (distLength === 0)
|
|
322
|
+
return;
|
|
323
|
+
const limitedDist = Math.min(this.maxDisplace * (speed / SPEED_DIVISOR), distLength);
|
|
324
|
+
const ratio = limitedDist / distLength;
|
|
325
|
+
node.x += disp.x * ratio;
|
|
326
|
+
node.y += disp.y * ratio;
|
|
327
|
+
if (is3D) {
|
|
328
|
+
node.z = node.z + disp.z * ratio;
|
|
329
|
+
}
|
|
330
|
+
// ---- distance statistics ----
|
|
331
|
+
max = Math.max(max, limitedDist);
|
|
332
|
+
min = Math.min(min, limitedDist);
|
|
333
|
+
sum += limitedDist;
|
|
334
|
+
count++;
|
|
335
|
+
});
|
|
336
|
+
if (count === 0)
|
|
337
|
+
return 0;
|
|
338
|
+
switch (distanceThresholdMode) {
|
|
339
|
+
case 'min':
|
|
340
|
+
return min === Infinity ? 0 : min;
|
|
341
|
+
case 'mean':
|
|
342
|
+
return sum / count;
|
|
343
|
+
case 'max':
|
|
344
|
+
default:
|
|
345
|
+
return max;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
destroy() {
|
|
349
|
+
var _a, _b;
|
|
350
|
+
this.stop();
|
|
351
|
+
(_a = this.displacements) === null || _a === void 0 ? void 0 : _a.clear();
|
|
352
|
+
(_b = this.clusterMap) === null || _b === void 0 ? void 0 : _b.clear();
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
export { Simulation };
|
|
357
|
+
//# sourceMappingURL=simulation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulation.js","sources":["../../../src/algorithm/fruchterman/src/algorithm/fruchterman/simulation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
import { applySingleNodeLayout } from '../../util/common.js';
|
|
3
|
+
import '@antv/expr';
|
|
4
|
+
import { formatFn, formatNodeSizeFn } from '../../util/format.js';
|
|
5
|
+
import '@antv/util';
|
|
6
|
+
import { orderByDegree, orderById, orderBySorter } from '../../util/order.js';
|
|
7
|
+
import { normalizeViewport } from '../../util/viewport.js';
|
|
8
|
+
import { BaseLayout } from '../base-layout.js';
|
|
9
|
+
|
|
10
|
+
const DEFAULT_LAYOUT_OPTIONS = {
|
|
11
|
+
begin: [0, 0],
|
|
12
|
+
preventOverlap: true,
|
|
13
|
+
condense: false,
|
|
14
|
+
rows: undefined,
|
|
15
|
+
cols: undefined,
|
|
16
|
+
position: undefined,
|
|
17
|
+
sortBy: 'degree',
|
|
18
|
+
nodeSize: 30,
|
|
19
|
+
nodeSpacing: 10,
|
|
20
|
+
width: 300,
|
|
21
|
+
height: 300,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* <zh/> 网格布局
|
|
25
|
+
*
|
|
26
|
+
* <en/> Grid layout
|
|
27
|
+
*/
|
|
28
|
+
class GridLayout extends BaseLayout {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.id = 'grid';
|
|
32
|
+
}
|
|
33
|
+
getDefaultOptions() {
|
|
34
|
+
return DEFAULT_LAYOUT_OPTIONS;
|
|
35
|
+
}
|
|
36
|
+
parseOptions(options = {}, model) {
|
|
37
|
+
const { rows: propRows, cols: propCols, position: propPosition, sortBy: propSortBy, } = options;
|
|
38
|
+
const { width, height, center } = normalizeViewport(options);
|
|
39
|
+
let rows = options.rows;
|
|
40
|
+
let cols = options.cols;
|
|
41
|
+
const cells = model.nodeCount();
|
|
42
|
+
// if rows or columns were set in self, use those values
|
|
43
|
+
if (propRows != null && propCols != null) {
|
|
44
|
+
rows = propRows;
|
|
45
|
+
cols = propCols;
|
|
46
|
+
}
|
|
47
|
+
else if (propRows != null && propCols == null) {
|
|
48
|
+
rows = propRows;
|
|
49
|
+
cols = Math.ceil(cells / rows);
|
|
50
|
+
}
|
|
51
|
+
else if (propRows == null && propCols != null) {
|
|
52
|
+
cols = propCols;
|
|
53
|
+
rows = Math.ceil(cells / cols);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// otherwise use the automatic values and adjust accordingly // otherwise use the automatic values and adjust accordingly
|
|
57
|
+
// width/height * splits^2 = cells where splits is number of times to split width
|
|
58
|
+
const splits = Math.sqrt((cells * height) / width);
|
|
59
|
+
rows = Math.round(splits);
|
|
60
|
+
cols = Math.round((width / height) * splits);
|
|
61
|
+
}
|
|
62
|
+
rows = Math.max(rows, 1);
|
|
63
|
+
cols = Math.max(cols, 1);
|
|
64
|
+
const rcs = { rows, cols };
|
|
65
|
+
if (rcs.cols * rcs.rows > cells) {
|
|
66
|
+
// otherwise use the automatic values and adjust accordingly
|
|
67
|
+
// if rounding was up, see if we can reduce rows or columns
|
|
68
|
+
const sm = small(rcs);
|
|
69
|
+
const lg = large(rcs);
|
|
70
|
+
// reducing the small side takes away the most cells, so try it first
|
|
71
|
+
if ((sm - 1) * lg >= cells) {
|
|
72
|
+
small(rcs, sm - 1);
|
|
73
|
+
}
|
|
74
|
+
else if ((lg - 1) * sm >= cells) {
|
|
75
|
+
large(rcs, lg - 1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// if rounding was too low, add rows or columns
|
|
80
|
+
while (rcs.cols * rcs.rows < cells) {
|
|
81
|
+
const sm = small(rcs);
|
|
82
|
+
const lg = large(rcs);
|
|
83
|
+
// try to add to larger side first (adds less in multiplication)
|
|
84
|
+
if ((lg + 1) * sm >= cells) {
|
|
85
|
+
large(rcs, lg + 1);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
small(rcs, sm + 1);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const sortBy = !propSortBy
|
|
93
|
+
? DEFAULT_LAYOUT_OPTIONS.sortBy
|
|
94
|
+
: propSortBy === 'degree' || propSortBy === 'id'
|
|
95
|
+
? propSortBy
|
|
96
|
+
: formatFn(propSortBy, ['nodeA', 'nodeB']);
|
|
97
|
+
return Object.assign(Object.assign({}, options), { sortBy,
|
|
98
|
+
rcs,
|
|
99
|
+
center,
|
|
100
|
+
width,
|
|
101
|
+
height, position: formatFn(propPosition, ['node']) });
|
|
102
|
+
}
|
|
103
|
+
layout() {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
const { begin, rcs, sortBy, width, height, condense, preventOverlap, nodeSpacing, nodeSize, position, } = this.parseOptions(this.options, this.model);
|
|
106
|
+
const n = this.model.nodeCount();
|
|
107
|
+
if (!n || n === 1) {
|
|
108
|
+
applySingleNodeLayout(this.model, begin);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (sortBy === 'degree') {
|
|
112
|
+
orderByDegree(this.model);
|
|
113
|
+
}
|
|
114
|
+
else if (sortBy === 'id') {
|
|
115
|
+
orderById(this.model);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
orderBySorter(this.model, sortBy);
|
|
119
|
+
}
|
|
120
|
+
let cellWidth = condense ? 0 : width / rcs.cols;
|
|
121
|
+
let cellHeight = condense ? 0 : height / rcs.rows;
|
|
122
|
+
if (preventOverlap) {
|
|
123
|
+
const sizeFn = formatNodeSizeFn(nodeSize, nodeSpacing, DEFAULT_LAYOUT_OPTIONS.nodeSize, DEFAULT_LAYOUT_OPTIONS.nodeSpacing);
|
|
124
|
+
this.model.forEachNode((node) => {
|
|
125
|
+
const [w, h] = sizeFn(node._original);
|
|
126
|
+
cellWidth = Math.max(cellWidth, w);
|
|
127
|
+
cellHeight = Math.max(cellHeight, h);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const cellUsed = {}; // e.g. 'c-0-2' => true
|
|
131
|
+
// to keep track of current cell position
|
|
132
|
+
const rc = { row: 0, col: 0 };
|
|
133
|
+
// get a cache of all the manual positions
|
|
134
|
+
const id2manPos = {};
|
|
135
|
+
this.model.forEachNode((node) => {
|
|
136
|
+
const nodeData = node._original;
|
|
137
|
+
let rcPos;
|
|
138
|
+
if (position) {
|
|
139
|
+
rcPos = position(nodeData);
|
|
140
|
+
}
|
|
141
|
+
if (rcPos && (rcPos.row !== undefined || rcPos.col !== undefined)) {
|
|
142
|
+
// must have at least row or col def'd
|
|
143
|
+
const pos = {
|
|
144
|
+
row: rcPos.row,
|
|
145
|
+
col: rcPos.col,
|
|
146
|
+
};
|
|
147
|
+
if (pos.col === undefined) {
|
|
148
|
+
// find unused col
|
|
149
|
+
pos.col = 0;
|
|
150
|
+
while (used(cellUsed, pos)) {
|
|
151
|
+
pos.col++;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else if (pos.row === undefined) {
|
|
155
|
+
// find unused row
|
|
156
|
+
pos.row = 0;
|
|
157
|
+
while (used(cellUsed, pos)) {
|
|
158
|
+
pos.row++;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
id2manPos[node.id] = pos;
|
|
162
|
+
use(cellUsed, pos);
|
|
163
|
+
}
|
|
164
|
+
getPos(node, begin, cellWidth, cellHeight, id2manPos, rcs, rc, cellUsed);
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const small = (rcs, val) => {
|
|
170
|
+
let res;
|
|
171
|
+
const rows = rcs.rows || 5;
|
|
172
|
+
const cols = rcs.cols || 5;
|
|
173
|
+
if (val == null) {
|
|
174
|
+
res = Math.min(rows, cols);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
const min = Math.min(rows, cols);
|
|
178
|
+
if (min === rcs.rows) {
|
|
179
|
+
rcs.rows = val;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
rcs.cols = val;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return res;
|
|
186
|
+
};
|
|
187
|
+
const large = (rcs, val) => {
|
|
188
|
+
let result;
|
|
189
|
+
const usedRows = rcs.rows || 5;
|
|
190
|
+
const usedCols = rcs.cols || 5;
|
|
191
|
+
if (val == null) {
|
|
192
|
+
result = Math.max(usedRows, usedCols);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const max = Math.max(usedRows, usedCols);
|
|
196
|
+
if (max === rcs.rows) {
|
|
197
|
+
rcs.rows = val;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
rcs.cols = val;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return result;
|
|
204
|
+
};
|
|
205
|
+
const used = (cellUsed, rc) => cellUsed[`c-${rc.row}-${rc.col}`] || false;
|
|
206
|
+
const use = (cellUsed, rc) => (cellUsed[`c-${rc.row}-${rc.col}`] = true);
|
|
207
|
+
const moveToNextCell = (rcs, rc) => {
|
|
208
|
+
const cols = rcs.cols || 5;
|
|
209
|
+
rc.col++;
|
|
210
|
+
if (rc.col >= cols) {
|
|
211
|
+
rc.col = 0;
|
|
212
|
+
rc.row++;
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
const getPos = (node, begin, cellWidth, cellHeight, id2manPos, rcs, rc, cellUsed) => {
|
|
216
|
+
let x;
|
|
217
|
+
let y;
|
|
218
|
+
// see if we have a manual position set
|
|
219
|
+
const rcPos = id2manPos[node.id];
|
|
220
|
+
if (rcPos) {
|
|
221
|
+
x = rcPos.col * cellWidth + cellWidth / 2 + begin[0];
|
|
222
|
+
y = rcPos.row * cellHeight + cellHeight / 2 + begin[1];
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
// otherwise set automatically
|
|
226
|
+
while (used(cellUsed, rc)) {
|
|
227
|
+
moveToNextCell(rcs, rc);
|
|
228
|
+
}
|
|
229
|
+
x = rc.col * cellWidth + cellWidth / 2 + begin[0];
|
|
230
|
+
y = rc.row * cellHeight + cellHeight / 2 + begin[1];
|
|
231
|
+
use(cellUsed, rc);
|
|
232
|
+
moveToNextCell(rcs, rc);
|
|
233
|
+
}
|
|
234
|
+
node.x = x;
|
|
235
|
+
node.y = y;
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
export { GridLayout };
|
|
239
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/algorithm/grid/src/algorithm/grid/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|