jmgraph 3.2.19 → 3.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +174 -2
  2. package/dist/jmgraph.core.min.js +1 -1
  3. package/dist/jmgraph.core.min.js.map +1 -1
  4. package/dist/jmgraph.js +1640 -135
  5. package/dist/jmgraph.min.js +1 -1
  6. package/index.js +13 -2
  7. package/package.json +1 -1
  8. package/src/core/jmGraph.js +453 -4
  9. package/src/core/jmLayer.js +142 -0
  10. package/src/core/jmPath.js +55 -0
  11. package/src/shapes/jmEllipse.js +91 -0
  12. package/src/shapes/jmLabel.js +127 -15
  13. package/src/shapes/jmPolygon.js +129 -0
  14. package/src/shapes/jmStar.js +160 -0
  15. package/example/ball.html +0 -217
  16. package/example/base.html +0 -112
  17. package/example/canvas.html +0 -54
  18. package/example/cell.html +0 -284
  19. package/example/controls/arc.html +0 -129
  20. package/example/controls/arrowline.html +0 -78
  21. package/example/controls/bezier.html +0 -299
  22. package/example/controls/img.html +0 -97
  23. package/example/controls/label.html +0 -87
  24. package/example/controls/line.html +0 -173
  25. package/example/controls/prismatic.html +0 -63
  26. package/example/controls/rect.html +0 -64
  27. package/example/controls/resize.html +0 -112
  28. package/example/controls/test.html +0 -360
  29. package/example/es.html +0 -70
  30. package/example/es5module.html +0 -63
  31. package/example/heartarc.html +0 -116
  32. package/example/index.html +0 -47
  33. package/example/js/require.js +0 -5
  34. package/example/love/img/bling/bling.tps +0 -265
  35. package/example/love/img/bling.json +0 -87
  36. package/example/love/img/bling.tps +0 -295
  37. package/example/love/img/doc/bling.gif +0 -0
  38. package/example/love/img/love.json +0 -95
  39. package/example/love/img/love.tps +0 -315
  40. package/example/love/img/qq/qq.tps +0 -399
  41. package/example/love/img/qq.json +0 -242
  42. package/example/love/index.html +0 -40
  43. package/example/love/js/game.js +0 -558
  44. package/example/music.html +0 -211
  45. package/example/node/test.js +0 -138
  46. package/example/pdf.html +0 -187
  47. package/example/progress.html +0 -173
  48. package/example/pso.html +0 -148
  49. package/example/sort.html +0 -805
  50. package/example/tweenjs.html +0 -84
  51. package/example/webgl.html +0 -278
  52. package/example/xfj/img/dr_die.gif +0 -0
  53. package/example/xfj/index.html +0 -332
  54. package/example/xfj/shake.js +0 -49
  55. package/example/xfj/testori.html +0 -76
package/example/ball.html DELETED
@@ -1,217 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <!--<script type="text/javascript" src="../index.js"></script>
7
- <script type="text/javascript" src="../dist/jmGraph.min.js"></script> -->
8
- <style>
9
- html,body {
10
- margin:0;
11
- padding:0;
12
- width:100%;
13
- height:100%;
14
- overflow: hidden;
15
- }
16
- #mycanvas {
17
- background-color:#000;
18
- position: absolute;
19
- width:100%;
20
- height:100%;
21
- }
22
- </style>
23
-
24
- </head>
25
- <body>
26
- <div id="mycanvas">
27
- </div>
28
-
29
- </body>
30
- </html>
31
-
32
- <script type="module">
33
- import jmGraph from "../index.js";
34
- var graph = new jmGraph('mycanvas', {
35
- mode: 'webgl',
36
- autoRefresh: true
37
- });
38
- //初始化jmgraph
39
- /*jmGraph('mycanvas').then((g)=>{
40
- graph = g;
41
- jmUtils.bindEvent(window,'resize',resize);
42
- refreshBall(g);
43
-
44
-
45
- }); */
46
-
47
- refreshBall(graph);
48
-
49
-
50
-
51
- function refreshBall(g) {
52
- resize();
53
-
54
- var style = {
55
- lineWidth: 1.2,
56
- close:true,
57
- stroke:'#fff',
58
- fill:'#05a2e2'
59
- };
60
-
61
-
62
- var balls = [];
63
- function createPosition(radius,i) {
64
- var x = Math.random() * graph.width + radius;
65
- var y = Math.random() * graph.height + radius;
66
-
67
- for(var j=i+1;j<balls.length;j++) {
68
- var b2= balls[j];
69
- var lx = Math.abs(x - b2.x());
70
- var ly = Math.abs(y - b2.y());
71
- var l = Math.sqrt(lx * lx + ly * ly);
72
- //如果二个球重叠则放 弃当前球
73
- if(l < radius + b2.radius) {
74
- return createPosition(radius);
75
- }
76
- }
77
- return {x:x,y:y};
78
- }
79
-
80
- for(var i=0;i<100;i++) {
81
- var radius = Math.random() * 10 + 8;
82
- var styletmp = graph.util.clone(style);
83
- styletmp.fill = graph.createRadialGradient('50%','50%',0,'50%','50%',radius);
84
- var rr1 = Math.floor(Math.random() * 255);
85
- var gg1 = Math.floor(Math.random() * 255);
86
- var bb1 = Math.floor(Math.random() * 255);
87
- var rr2 = Math.floor(Math.random() * 255);
88
- var gg2 = Math.floor(Math.random() * 255);
89
- var bb2 = Math.floor(Math.random() * 255);
90
- styletmp.fill.addStop(0,graph.util.toColor(rr1,gg1,bb1));
91
- styletmp.fill.addStop(1,graph.util.toColor(rr2,gg2,bb2));
92
- //styletmp.fill = 'r(0.5,0.1)#ccc-#ccc';
93
- var p = createPosition(radius);
94
- var b = new ball(graph,p.x,p.y,radius,styletmp);
95
- b.vx = 0;//Math.random() * 20 - 10;
96
- b.vy = 0;//Math.random() * 20 - 10;
97
- //b.ax = 0;
98
- //b.ay = 0.4;
99
- balls.push(b);
100
- }
101
-
102
- var radius = Math.random() * 10 + 6;
103
- var styletmp = graph.util.clone(style);
104
- styletmp.fill = graph.createRadialGradient(radius,radius,0,radius,radius,radius);
105
- styletmp.fill.addStop(0,'#fff');
106
- styletmp.fill.addStop(1, graph.util.toColor(255,149,255));
107
- var p = createPosition(radius,0);
108
- var b = new ball(graph,p.x,p.y,radius,styletmp);
109
- b.vx = 106;
110
- b.vy = 104;
111
- balls.push(b);
112
-
113
- function animate() {
114
- var bs = balls;
115
- var len = bs.length;
116
- //var mvx = 0;
117
- //var mvy = 0;
118
- for(var i=0;i<len;i++) {
119
- var b1 = bs[i];
120
- b1.vx += b1.ax;
121
- b1.vy += b1.ay;
122
- for(var j=i+1;j<len;j++) {
123
- var b2= bs[j];
124
- var lx = b1.x() - b2.x();
125
- var ly = b1.y() - b2.y();
126
- var l = Math.sqrt(lx * lx + ly * ly);
127
- if(l <= b1.radius + b2.radius) {
128
- var vx = b1.vx;
129
- var vy = b1.vy;
130
- var vxb = b2.vx;
131
- var vyb = b2.vy;
132
-
133
- var angle = Math.atan2(ly,lx);
134
- var sine = Math.sin(angle);
135
- var cosine = Math.cos(angle);
136
-
137
- var x = 0;
138
- var y = 0;
139
-
140
- var xb = lx * cosine + ly * sine;
141
- var yb = ly * cosine - lx * sine;
142
-
143
- var vx = b1.vx * cosine + b1.vy * sine;
144
- var vy = b1.vy * cosine - b1.vx * sine;
145
- var vxb = b2.vx * cosine + b2.vy * sine;
146
- var vyb = b2.vy * cosine - b2.vx * sine;
147
-
148
- var vtotal = vx - vxb;
149
-
150
- vx = ((b1.radius - b2.radius) * vx + 2 * b2.radius * vxb) / (b1.radius + b2.radius);
151
- vxb = vtotal + vx;
152
-
153
- var vx1 = vx * cosine - vy * sine;
154
- var vy1 = vy * cosine + vx * sine;
155
-
156
- var vx2 = vxb * cosine - vyb * sine;
157
- var vy2 = vyb * cosine + vxb * sine;
158
-
159
- b1.vx = vx1;
160
- b1.vy = vy1;
161
- b2.vx = vx2;
162
- b2.vy = vy2;
163
- }
164
- }
165
- var x = b1.x() + b1.vx;
166
- var maxX = b1.graph.width - b1.radius ;
167
- if(x <= b1.radius || x >= maxX) {
168
- //b1.vy -= 0.4;
169
- b1.vx *= -1;
170
- }
171
- x = Math.max(x,b1.radius);
172
- x = Math.min(maxX,x);
173
- b1.x(x);
174
- var y = b1.y() + b1.vy;
175
- var maxY = b1.graph.height - b1.radius;
176
- if(y <= b1.radius || y >= maxY) {
177
- //if(y >= maxY && b1.vy > 0) {b1.vy -= 1;b1.vx -= 0.4;}
178
- b1.vy *= -1;
179
- }
180
- y = Math.max(y,b1.radius);
181
- y = Math.min(maxY,y);
182
- b1.y(y);
183
- }
184
- graph.needUpdate = true;
185
- };
186
- g.on('update', animate);
187
- }
188
- function resize() {
189
- if(graph) {
190
- graph.width = window.innerWidth - 10;
191
- graph.height = window.innerHeight - 10;
192
- }
193
- }
194
-
195
- function ball(graph,x,y,radius,style) {
196
- this.graph = graph;
197
- this.radius = radius;
198
- this.center = {x:x,y:y};
199
- this.shape = graph.createShape('arc',{style:style,center:this.center,radius:this.radius,anticlockwise:true});
200
- graph.children.add(this.shape);
201
- this.shape.canMove(true);
202
- this.vx = 0;
203
- this.vy = 0;
204
- this.ax = 0;
205
- this.ay = 0;
206
-
207
- this.x = function(x) {
208
- if(typeof x !== 'undefined') this.center.x = x;
209
- return this.center.x;
210
- }
211
- this.y = function(y) {
212
- if(typeof y !== 'undefined') this.center.y = y;
213
- return this.center.y;
214
- }
215
- }
216
-
217
- </script>
package/example/base.html DELETED
@@ -1,112 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- html,body{
8
- margin:0;
9
- padding: 0;
10
- }
11
- #mycanvas_container{
12
- overflow: hidden;
13
- }
14
- </style>
15
-
16
- <script type="text/javascript" src="../dist/jmGraph.min.js"></script>
17
- </head>
18
- <body>
19
- <div id="mycanvas_container"></div>
20
- </body>
21
- <script type="text/javascript">
22
- //import jmGraph from "../index.js";
23
-
24
- var container = document.getElementById('mycanvas_container');
25
-
26
- var g = jmGraph.create(container, {
27
- width: 800,
28
- height: 600,
29
- mode: '2d',
30
- style: {
31
- fill: '#000'
32
- }
33
- });
34
- init(g);
35
-
36
- function init(g){
37
- g.style.fill = '#000'; //画布背景
38
- var style = {
39
- stroke:'#46BF86',
40
- fill: '#556662',
41
- lineWidth: 1.5
42
- };
43
- style.shadow = '0,0,10,#fff';
44
- style.opacity = 0.2;
45
- //style.lineCap = 'round';
46
-
47
- //创建一个方块
48
-
49
- var rect = g.createShape('rect',{
50
- style:style,
51
- position: {x:300,y:100},
52
- width:100,
53
- height:100
54
- });
55
-
56
- var rect2 = g.createShape('rect',{
57
- style:style,
58
- position: {x:'50%',y:'50%'},
59
- width:50,
60
- height:50
61
- });
62
- rect.children.add(rect2);
63
-
64
- g.children.add(rect);
65
- rect.canMove(true);
66
-
67
- // 画二个五角星
68
- var coordinates = [
69
- {x:50,y:100},
70
- {x:250,y:100},
71
- {x:250,y:50},
72
- {x:300,y:200},
73
- {x:200,y:200},
74
- {x:50,y:300},
75
- ];
76
- style = g.utils.clone(style);
77
- var star1 = g.createShape('path',{
78
- style:style,
79
- points: coordinates
80
- });
81
- g.children.add(star1);
82
- star1.canMove(true);
83
-
84
- var coordinates2 = [
85
- {x:50,y:300},
86
- {x:250,y:300},
87
- {x:100,y:350},
88
- {x:150,y:250},
89
- {x:200,y:350},
90
- {x:50,y:300},
91
- ];
92
- style = g.utils.clone(style);
93
- delete style.fill;
94
- var star2 = g.createShape('path',{
95
- style:style,
96
- points: coordinates2
97
- });
98
- g.children.add(star2);
99
- star2.canMove(true);
100
-
101
- function update() {
102
- if(g.needUpdate) {
103
- console.log(coordinates);
104
- g.redraw();
105
- }
106
- requestAnimationFrame(update);
107
- }
108
-
109
- update();
110
- }
111
- </script>
112
- </html>
@@ -1,54 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <!--<script type="text/javascript" src="../index.js"></script>
7
- <script type="text/javascript" src="../dist/jmGraph.min.js"></script> -->
8
- <style>
9
- html,body {
10
- margin:0;
11
- padding:0;
12
- width:100%;
13
- height:100%;
14
- overflow: hidden;
15
- }
16
- #mycanvas {
17
- background-color:#000;
18
- position: absolute;
19
- }
20
- </style>
21
-
22
- </head>
23
- <body>
24
- <canvas id="mycanvas" width="300" height="200">
25
- </canvas>
26
- <script>
27
- var mycanvas = document.getElementById('mycanvas');
28
- var w = mycanvas.width;
29
- var h = mycanvas.height;
30
-
31
-
32
- var ctx = mycanvas.getContext('2d');
33
- function resize(w, h) {
34
- var size = 3;
35
- mycanvas.width = w * size;
36
- mycanvas.height = h * size;
37
-
38
- mycanvas.style.width = w + 'px';
39
- mycanvas.style.height = h + 'px';
40
- ctx.scale(size, size);
41
- }
42
-
43
- resize(w, h); resize(w, h); resize(w, h); resize(w, h); resize(w, h);
44
-
45
-
46
- ctx.fillStyle = "rgb(200,0,0)";
47
- //绘制矩形
48
- ctx.fillRect (100, 50, 55, 50);
49
-
50
- ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
51
- ctx.fillRect (150, 80, 55, 50);
52
- </script>
53
- </body>
54
- </html>
package/example/cell.html DELETED
@@ -1,284 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <!--<script type="text/javascript" src="../src/jmGraph.js"></script>
7
- <script type="text/javascript" src="../dist/jmGraph.min.js"></script> -->
8
- <style>
9
- html,body {
10
- margin:0;
11
- padding:0;
12
- width:100%;
13
- height:100%;
14
- overflow: hidden;
15
- }
16
- #mycanvas {
17
- background-color:#000;
18
- position: absolute;
19
- width: 100%;
20
- height: 100%;
21
- }
22
- </style>
23
-
24
- </head>
25
- <body >
26
- <div id="mycanvas">
27
- </div>
28
-
29
- </body>
30
- </html>
31
-
32
- <script type="module">
33
- import jmGraph from "../index.js";
34
- var graph;
35
- var balls = [];
36
- //初始化jmgraph
37
- var graph = new jmGraph('mycanvas', {
38
- mode: 'webgl'
39
- });
40
- graph.util.bindEvent(window,'resize',resize);
41
-
42
- refreshBall(graph);
43
-
44
- //实时更新画布
45
- function update() {
46
- if(graph.needUpdate) graph.redraw();
47
- graph.requestAnimationFrame(update);
48
- }
49
- update();
50
-
51
- function createPosition(radius,i) {
52
- var canvas = document.getElementById('mycanvas');
53
- var x = Math.random() * graph.width + radius;
54
- var y = Math.random() * graph.height + radius;
55
-
56
- for(var j=i+1;j<balls.length;j++) {
57
- var b2= balls[j];
58
- var lx = Math.abs(x - b2.x());
59
- var ly = Math.abs(y - b2.y());
60
- var l = Math.sqrt(lx * lx + ly * ly);
61
- //如果二个球重叠则放 弃当前球
62
- if(l < radius + b2.radius) {
63
- return createPosition(radius);
64
- }
65
- }
66
- return {x:x,y:y};
67
- }
68
-
69
- function createCell(x,y,r,style) {
70
- var c = new cell(graph,x,y,r,style);
71
- balls.push(c);
72
- return c;
73
- }
74
-
75
- function refreshBall(g) {
76
-
77
- var style = {
78
- lineWidth:1,
79
- close:true
80
- };
81
-
82
- resize();
83
-
84
- style.shadow = graph.createShadow(0,0,20,'#000');
85
-
86
-
87
-
88
- style.fill = graph.createRadialGradient('50%','50%',0,'50%','50%','50%');
89
- //var rr1 = Math.floor(Math.random() * 255);
90
- //var gg1 = Math.floor(Math.random() * 255);
91
- //var bb1 = Math.floor(Math.random() * 255);
92
- //var rr2 = Math.floor(Math.random() * 255);
93
- //var gg2 = Math.floor(Math.random() * 255);
94
- //var bb2 = Math.floor(Math.random() * 255);
95
- style.fill.addStop(0,'rgb(112,154,22)');
96
- style.fill.addStop(1,'rgb(49,95,118)');
97
-
98
- var count = 100;
99
-
100
- for(var i=0; i<count; i++) {
101
- var radius = Math.random() * 10 + 4;
102
-
103
- var p = createPosition(radius);
104
- var b = createCell(p.x, p.y, radius, style);
105
- b.vx = Math.random() - Math.random();
106
- b.vy = Math.random() - Math.random();
107
- }
108
-
109
-
110
- //var radius = Math.random() * 10 + 6;
111
- var styletmp = graph.util.clone(style);
112
- styletmp.fill = graph.createRadialGradient('50%','50%',0,'50%','50%','50%');
113
- styletmp.fill.addStop(0,'rgb(255,255,255)');
114
- styletmp.fill.addStop(1,'rgb(255,149,255)');
115
-
116
- //主体细胞
117
- var myCell = createCell(graph.width / 2,graph.height / 2,14,styletmp);//new cell(graph,graph.width() / 2,graph.height() / 2,10,styletmp);
118
-
119
- //balls.push(myCell);
120
-
121
- graph.bind('click',function(evt) {
122
- var x = evt.position.x;
123
- var y = evt.position.y;
124
- myCell.go(x,y);
125
- return false;
126
- });
127
-
128
- function animate() {
129
- var bs = balls;
130
- var len = bs.length;
131
- //var mvx = 0;
132
- //var mvy = 0;
133
- for(var i=0;i<len;i++) {
134
- var b1 = bs[i];
135
- if(!b1 || !b1.visible) continue;
136
- b1.vx += b1.ax;
137
- b1.vy += b1.ay;
138
- for(var j=i+1;j<len;j++) {
139
- var b2= bs[j];
140
- if(!b2 || !b2.visible) continue;
141
- var lx = b1.x() - b2.x();
142
- var ly = b1.y() - b2.y();
143
- var l = Math.sqrt(lx * lx + ly * ly);
144
- var lr = b1.radius() + b2.radius();
145
- var dr = (lr - l) / 2;
146
- if(dr > 0) {
147
- var vx = b1.vx;
148
- var vy = b1.vy;
149
- var vxb = b2.vx;
150
- var vyb = b2.vy;
151
-
152
- var bigB,smallB;
153
- var smallindex = i;
154
- if(b1.radius() > b2.radius()) {
155
- bigB = b1;
156
- smallB = b2;
157
- smallindex = j;
158
- }
159
- else {
160
- bigB = b2;
161
- smallB = b1;
162
- }
163
-
164
- var smr = smallB.radius() - dr;
165
- var darea = 0;
166
- if(smr > 0) {
167
- darea = smallB.radius() * smallB.radius() - smr * smr;
168
- smallB.radius(smr);
169
- }
170
- else {
171
- darea = smallB.radius() * smallB.radius();
172
- dr = smallB.radius();
173
- smallB.visible(false);
174
- balls.splice(smallindex,1);
175
- }
176
- var bigr = Math.sqrt(bigB.radius() * bigB.radius() + darea);
177
-
178
- bigB.vx = (bigB.radius() * bigB.vx + dr * smallB.vx) / bigr;
179
- bigB.vy = (bigB.radius() * bigB.vy + dr * smallB.vy) / bigr;
180
- bigB.radius(bigr);
181
-
182
- }
183
- }
184
-
185
- if(!b1.visible) continue;
186
- var x = b1.x() + b1.vx;
187
- var maxX = b1.graph.width - b1.radius();
188
- if(x <= b1.radius() || x >= maxX) {
189
- //b1.vy -= 0.4;
190
- b1.vx *= -1;
191
- }
192
- x = Math.max(x,b1.radius());
193
- x = Math.min(maxX,x);
194
- b1.x(x);
195
- var y = b1.y() + b1.vy;
196
- var maxY = b1.graph.height - b1.radius();
197
- if(y <= b1.radius() || y >= maxY) {
198
- //if(y >= maxY && b1.vy > 0) {b1.vy -= 1;b1.vx -= 0.4;}
199
- b1.vy *= -1;
200
- }
201
- y = Math.max(y,b1.radius());
202
- y = Math.min(maxY,y);
203
- b1.y(y);
204
- }
205
- graph.needUpdate = true;
206
- setTimeout(animate,20);
207
- };
208
- animate();
209
- }
210
- function resize() {
211
- //canvas.width = window.innerWidth;
212
- //canvas.height = window.innerHeight;
213
-
214
- if(graph) {
215
- graph.width = document.getElementById('mycanvas').clientWidth;
216
- graph.height = document.getElementById('mycanvas').clientHeight;
217
- graph.needUpdate = true;
218
- }
219
- }
220
-
221
- function cell(graph, x, y, radius, style) {
222
- this.graph = graph;
223
-
224
- this.center = {x:x,y:y};
225
- this.shape = graph.createShape('circle',{style:style,center:this.center,radius:radius,anticlockwise:true});
226
- graph.children.add(this.shape);
227
-
228
- this.vx = 0;
229
- this.vy = 0;
230
- this.ax = 0;
231
- this.ay = 0;
232
-
233
- this.go = function(x,y) {
234
- var r = this.radius();
235
- if(r <= 4) return;
236
-
237
- var myx = this.x();
238
- var myy = this.y();
239
-
240
- var dx = x - myx;
241
- var dy = y - myy;
242
- var dp = Math.sqrt(dx * dx + dy * dy);
243
- var vx = dx / dp * 1;
244
- var vy = dy / dp * 1;
245
- var px = myx + vx * (r + 4);
246
- var py = myy + vy * (r + 4);
247
-
248
- var mc = createCell(px,py,1,style);
249
- mc.vx = vx;
250
- mc.vy = vy;
251
-
252
- var radius = Math.sqrt(r * r - mc.radius() * mc.radius());
253
- this.radius(radius);
254
-
255
- this.vx = (this.vx * r - mc.vx * mc.radius()) / this.radius();
256
- this.vy = (this.vy * r - mc.vy * mc.radius()) / this.radius();
257
-
258
- this.graph.needUpdate = true;
259
- }
260
- this.x = function(x) {
261
- if(typeof x !== 'undefined') this.center.x = x;
262
- return this.center.x;
263
- }
264
- this.y = function(y) {
265
- if(typeof y !== 'undefined') this.center.y = y;
266
- return this.center.y;
267
- }
268
-
269
- this.radius = function(r) {
270
- if(typeof r == 'undefined') return this.shape.radius;
271
- return this.shape.radius = r;
272
- }
273
- this.visible = function(v) {
274
- if(typeof v !== 'undefined') {
275
- this.shape.visible = v;
276
- if(!v) {
277
- this.graph.children.remove(this.shape);
278
- }
279
- }
280
- return this.shape.visible;
281
- }
282
- }
283
-
284
- </script>