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;