aboutsummaryrefslogtreecommitdiffstats
path: root/ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2017-02-14 19:41:00 -0500
committerPamela Dragosh <pdragosh@research.att.com>2017-02-14 19:41:32 -0500
commit91d04c64771832a0b8815ffbe1f0f9920320d94d (patch)
treefb02d5e1c84a3d91def9a7ee95bc87f9c046cc96 /ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js
parentb9d4caa40ef8e3566ac475968bce17b9b64b6939 (diff)
Initial OpenECOMP policy/engine commit
Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js')
-rw-r--r--ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js80
1 files changed, 80 insertions, 0 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js b/ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js
new file mode 100644
index 000000000..06e53aed4
--- /dev/null
+++ b/ecomp-sdk-app/src/main/webapp/app/fusion/external/d3/js/hive.js
@@ -0,0 +1,80 @@
+d3.hive = {};
+
+d3.hive.link = function() {
+ var source = function(d) { return d.source; },
+ target = function(d) { return d.target; },
+ angle = function(d) { return d.angle; },
+ startRadius = function(d) { return d.radius; },
+ endRadius = startRadius,
+ arcOffset = -Math.PI / 2;
+
+ function link(d, i) {
+ var s = node(source, this, d, i),
+ t = node(target, this, d, i),
+ x;
+ if (t.a < s.a) x = t, t = s, s = x;
+ if (t.a - s.a > Math.PI) s.a += 2 * Math.PI;
+ var a1 = s.a + (t.a - s.a) / 3,
+ a2 = t.a - (t.a - s.a) / 3;
+ return s.r0 - s.r1 || t.r0 - t.r1
+ ? "M" + Math.cos(s.a) * s.r0 + "," + Math.sin(s.a) * s.r0
+ + "L" + Math.cos(s.a) * s.r1 + "," + Math.sin(s.a) * s.r1
+ + "C" + Math.cos(a1) * s.r1 + "," + Math.sin(a1) * s.r1
+ + " " + Math.cos(a2) * t.r1 + "," + Math.sin(a2) * t.r1
+ + " " + Math.cos(t.a) * t.r1 + "," + Math.sin(t.a) * t.r1
+ + "L" + Math.cos(t.a) * t.r0 + "," + Math.sin(t.a) * t.r0
+ + "C" + Math.cos(a2) * t.r0 + "," + Math.sin(a2) * t.r0
+ + " " + Math.cos(a1) * s.r0 + "," + Math.sin(a1) * s.r0
+ + " " + Math.cos(s.a) * s.r0 + "," + Math.sin(s.a) * s.r0
+ : "M" + Math.cos(s.a) * s.r0 + "," + Math.sin(s.a) * s.r0
+ + "C" + Math.cos(a1) * s.r1 + "," + Math.sin(a1) * s.r1
+ + " " + Math.cos(a2) * t.r1 + "," + Math.sin(a2) * t.r1
+ + " " + Math.cos(t.a) * t.r1 + "," + Math.sin(t.a) * t.r1;
+ }
+
+ function node(method, thiz, d, i) {
+ var node = method.call(thiz, d, i),
+ a = +(typeof angle === "function" ? angle.call(thiz, node, i) : angle) + arcOffset,
+ r0 = +(typeof startRadius === "function" ? startRadius.call(thiz, node, i) : startRadius),
+ r1 = (startRadius === endRadius ? r0 : +(typeof endRadius === "function" ? endRadius.call(thiz, node, i) : endRadius));
+ return {r0: r0, r1: r1, a: a};
+ }
+
+ link.source = function(_) {
+ if (!arguments.length) return source;
+ source = _;
+ return link;
+ };
+
+ link.target = function(_) {
+ if (!arguments.length) return target;
+ target = _;
+ return link;
+ };
+
+ link.angle = function(_) {
+ if (!arguments.length) return angle;
+ angle = _;
+ return link;
+ };
+
+ link.radius = function(_) {
+ if (!arguments.length) return startRadius;
+ startRadius = endRadius = _;
+ return link;
+ };
+
+ link.startRadius = function(_) {
+ if (!arguments.length) return startRadius;
+ startRadius = _;
+ return link;
+ };
+
+ link.endRadius = function(_) {
+ if (!arguments.length) return endRadius;
+ endRadius = _;
+ return link;
+ };
+
+ return link;
+};