2 // Node_List = a[Node_Id][x](x = 0,label;x = 1,title;x = 2,P2mpGroupId)
3 var Node_List = new Array();
4 // Edge_List = b[Edge_Id][y](y = 0,connection name;y = 1,from;y = 2,to)
5 var Edge_List = new Array();
15 /////////////Main Data//////////////
16 var nodes, edges, graph;
37 // create an array with nodes
38 nodes = new vis.DataSet();
40 // create an array with edges
41 edges = new vis.DataSet();
43 /////////////P2mp Group Data//////////////
45 var Group_List= new Array();
50 //hierarchicalLayout: true,
52 // default for all nodes
80 background: '#B0E2FF',
94 background: '#FF0000',
108 background: '#7FFF00',
111 background: '#6B8E23'
122 background: '#878787',
125 background: '#4A4A4A'
136 background: '#FF9933',
139 background: '#FDCEBF'
150 background: 'yellow',
153 background: '#ECE5D0'
167 // used in Service_Policy
171 //hierarchicalLayout: true,
173 // default for all nodes
201 background: '#B0E2FF',
204 background: '#4F94CD'
215 background: '#FF0000',
218 background: '#FF7256'
229 background: '#7FFF00',
232 background: '#6B8E23'
243 background: '#878787',
246 background: '#4A4A4A'
257 background: '#FF9933',
260 background: '#FDCEBF'
271 background: 'yellow',
274 background: '#ECE5D0'
285 springLength: 100,//弹簧长度
286 springConstant: 0,//弹簧常数
288 damping: 0 //阻尼,减幅,衰减
294 var DOMURL = window.URL || window.webkitURL || window;
296 /* no host in mode */
297 '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" opacity="1">' +
298 '<circle cx="100" cy="100" r="95" stroke-width="2" stroke="#000000" fill="#FFFFFF" opacity="1"/>'+
301 '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
302 '<circle cx="130" cy="140" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
303 <circle cx="130" cy="140" r="40" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
304 <foreignObject x="20" y="100" width="40%" height="20%">\
305 <div xmlns="http://www.w3.org/1999/xhtml">\
306 <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
311 /* 2 hosts in mode */
312 '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
313 '<circle cx="150" cy="150" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
314 <circle cx="115.5" cy="150" r="35" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
315 <foreignObject x="20" y="100" width="50%" height="20%">\
316 <div xmlns="http://www.w3.org/1999/xhtml">\
317 <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
321 <circle cx="155" cy="150" r="35" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
322 <foreignObject x="140" y="140" width="40%" height="20%">\
323 <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
324 <span style="padding-left:15px; color:black; font-size:25px;">\
329 /* 3 hosts in mode */
330 '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">\
331 <circle cx="150" cy="150" r="80" stroke-width="5" stroke="#153345" fill="#FFFFFF" opacity="1"/>\
332 <circle cx="150" cy="110" r="32" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
333 <foreignObject x="85" y="90" width="40%" height="20%">\
334 <div xmlns="http://www.w3.org/1999/xhtml" >\
335 <span style="padding-left:50px; color:black; font-size:25px;">\
339 <circle cx="110" cy="170" r="32" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
340 <foreignObject x="45" y="160" width="40%" height="20%">\
341 <div xmlns="http://www.w3.org/1999/xhtml">\
342 <span style="padding-left:50px; color:black; font-size:25px;">\
346 <circle cx="190" cy="170" r="32" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
347 <foreignObject x="130" y="150" width="40%" height="20%">\
348 <div xmlns="http://www.w3.org/1999/xhtml">\
349 <span style="padding-left:50px; color:black; font-size:25px;">\ {{host3}}</span>\
353 /* 4 hosts in mode */
354 '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
355 '<circle cx="130" cy="140" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
356 <circle cx="100" cy="110" r="30" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
357 <foreignObject x="20" y="100" width="40%" height="20%">\
358 <div xmlns="http://www.w3.org/1999/xhtml">\
359 <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
363 <circle cx="100" cy="170" r="30" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
364 <foreignObject x="20" y="140" width="40%" height="20%">\
365 <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
366 <span style="padding-left:15px; color:black; font-size:25px;">\
370 <circle cx="160" cy="110" r="30" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
371 <foreignObject x="150" y="80" width="40%" height="20%">\
372 <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
373 <span style="padding-left:15px; color:black; font-size:25px;">\
377 <circle cx="160" cy="170" r="30" stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
378 <foreignObject x="150" y="140" width="40%" height="20%">\
379 <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
380 <span style="padding-left:15px; color:black; font-size:25px;">\
385 /* more than 4 hosts in mode */
386 '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="235" opacity="1">' +
387 '<circle cx="100" cy="100" r="95" stroke-width="2" stroke="#000000" fill="#FFFFFF" opacity="1"/>'+
388 '<rect x="40" y="38" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
389 '<foreignObject x="15" y="55" width="40%" height="20%">' +
390 '<div xmlns="http://www.w3.org/1999/xhtml" >' +
391 '<span style="padding-left:40px;color:black; font-size:20px;">' +
395 '<rect x="40" y="108" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
396 '<foreignObject x="15" y="155" width="40%" height="20%">' +
397 '<div xmlns="http://www.w3.org/1999/xhtml">' +
398 '<span style="padding-left:40px;color:black; font-size:20px;">' +
402 '<rect x="108" y="38" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
403 '<foreignObject x="105" y="55" width="40%" height="20%">' +
404 '<div xmlns="http://www.w3.org/1999/xhtml">' +
405 '<span style="padding-left:20px; color:black; font-size:20px;">' +
409 '<rect x="108" y="108" width="30%" height="30%" stroke-width="0" stroke="#000000" fill="#FFFFFF"></rect>' +
410 '<foreignObject x="105" y="155" width="40%" height="20%">' +
411 '<div xmlns="http://www.w3.org/1999/xhtml">' +
412 '<span style="padding-left:20px; color:black; font-size:20px;">' +
418 function calculatePos(n){
419 var res = new Array();
420 if(n <= 0)return res;
422 var offset = 2 * Math.PI / n;
426 start = Math.PI / 2 + Math.PI / n;
429 for(var i = 1; i < n; i++){