Advertisement
Guest User

qtree

a guest
May 30th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. function buildQTree() {
  2. if (.4 > viewZoom) qTree = null;
  3. else {
  4. var a = Number.POSITIVE_INFINITY,
  5. b = Number.POSITIVE_INFINITY,
  6. c = Number.NEGATIVE_INFINITY,
  7. d = Number.NEGATIVE_INFINITY,
  8. e = 0;
  9. for (var i = 0; i < nodelist.length; i++) {
  10. var node = nodelist[i];
  11. if (node.shouldRender() && !node.prepareData && 20 < node.size * viewZoom) {
  12. e = Math.max(node.size, e);
  13. a = Math.min(node.x, a);
  14. b = Math.min(node.y, b);
  15. c = Math.max(node.x, c);
  16. d = Math.max(node.y, d);
  17. }
  18. }
  19. qTree = Quad.init({
  20. minX: a - (e + 100),
  21. minY: b - (e + 100),
  22. maxX: c + (e + 100),
  23. maxY: d + (e + 100),
  24. maxChildren: 2,
  25. maxDepth: 4
  26. });
  27. for (i = 0; i < nodelist.length; i++) {
  28. node = nodelist[i];
  29. if (node.shouldRender() && !(20 >= node.size * viewZoom)) {
  30. for (a = 0; a < node.points.length; ++a) {
  31. b = node.points[a].x;
  32. c = node.points[a].y;
  33. b < nodeX - canvasWidth / 2 / viewZoom || c < nodeY - canvasHeight / 2 / viewZoom || b > nodeX + canvasWidth / 2 / viewZoom || c > nodeY + canvasHeight / 2 / viewZoom || qTree.insert(node.points[a]);
  34. }
  35. }
  36. }
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement