Add d3.forceBox.
This commit is contained in:
parent
2cbc3d2607
commit
5c6cb8d5ca
27
src/box.js
Normal file
27
src/box.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
export default function(extent) {
|
||||
var nodes,
|
||||
x0 = +extent[0][0],
|
||||
y0 = +extent[0][1],
|
||||
x1 = +extent[1][0],
|
||||
y1 = +extent[1][1];
|
||||
|
||||
function force() {
|
||||
for (var i = 0, n = nodes.length, node; i < n; ++i) {
|
||||
node = nodes[i];
|
||||
if (node.x < x0) node.x = x0;
|
||||
else if (node.x > x1) node.x = x1;
|
||||
if (node.y < y0) node.y = y0;
|
||||
else if (node.y > y1) node.y = y1;
|
||||
}
|
||||
}
|
||||
|
||||
force.initialize = function(_) {
|
||||
nodes = _;
|
||||
};
|
||||
|
||||
force.extent = function(_) {
|
||||
return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], force) : [[x0, y0], [x1, y1]];
|
||||
};
|
||||
|
||||
return force;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user