var LNode = require('../LNode'); | |
function FDLayoutNode(gm, loc, size, vNode) { | |
// alternative constructor is handled inside LNode | |
LNode.call(this, gm, loc, size, vNode); | |
//Spring, repulsion and gravitational forces acting on this node | |
this.springForceX = 0; | |
this.springForceY = 0; | |
this.repulsionForceX = 0; | |
this.repulsionForceY = 0; | |
this.gravitationForceX = 0; | |
this.gravitationForceY = 0; | |
//Amount by which this node is to be moved in this iteration | |
this.displacementX = 0; | |
this.displacementY = 0; | |
//Start and finish grid coordinates that this node is fallen into | |
this.startX = 0; | |
this.finishX = 0; | |
this.startY = 0; | |
this.finishY = 0; | |
//Geometric neighbors of this node | |
this.surrounding = []; | |
} | |
FDLayoutNode.prototype = Object.create(LNode.prototype); | |
for (var prop in LNode) { | |
FDLayoutNode[prop] = LNode[prop]; | |
} | |
FDLayoutNode.prototype.setGridCoordinates = function (_startX, _finishX, _startY, _finishY) | |
{ | |
this.startX = _startX; | |
this.finishX = _finishX; | |
this.startY = _startY; | |
this.finishY = _finishY; | |
}; | |
module.exports = FDLayoutNode; | |