simpleLayoutHelper.js 936 B

12345678910111213141516171819202122232425262728293031323334
  1. var vec2 = require("zrender/lib/core/vector");
  2. function simpleLayout(seriesModel) {
  3. var coordSys = seriesModel.coordinateSystem;
  4. if (coordSys && coordSys.type !== 'view') {
  5. return;
  6. }
  7. var graph = seriesModel.getGraph();
  8. graph.eachNode(function (node) {
  9. var model = node.getModel();
  10. node.setLayout([+model.get('x'), +model.get('y')]);
  11. });
  12. simpleLayoutEdge(graph);
  13. }
  14. function simpleLayoutEdge(graph) {
  15. graph.eachEdge(function (edge) {
  16. var curveness = edge.getModel().get('lineStyle.normal.curveness') || 0;
  17. var p1 = vec2.clone(edge.node1.getLayout());
  18. var p2 = vec2.clone(edge.node2.getLayout());
  19. var points = [p1, p2];
  20. if (+curveness) {
  21. points.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);
  22. }
  23. edge.setLayout(points);
  24. });
  25. }
  26. exports.simpleLayout = simpleLayout;
  27. exports.simpleLayoutEdge = simpleLayoutEdge;