aboutsummaryrefslogtreecommitdiff
path: root/msd2D/editor
diff options
context:
space:
mode:
Diffstat (limited to 'msd2D/editor')
-rw-r--r--msd2D/editor/gem_links.pd50
-rw-r--r--msd2D/editor/gem_masses.pd33
-rw-r--r--msd2D/editor/msd2d-editor.pd479
3 files changed, 291 insertions, 271 deletions
diff --git a/msd2D/editor/gem_links.pd b/msd2D/editor/gem_links.pd
index fbdc961..cc25124 100644
--- a/msd2D/editor/gem_links.pd
+++ b/msd2D/editor/gem_links.pd
@@ -4,14 +4,6 @@
#X obj 109 389 separator;
#X obj 109 337 any;
#X obj 147 166 t b f;
-#X obj 229 116 - 250;
-#X obj 147 110 - 250;
-#X obj 147 140 / 100;
-#X obj 229 143 / -100;
-#X obj 352 114 - 250;
-#X obj 287 116 - 250;
-#X obj 287 151 / 100;
-#X obj 352 143 / -100;
#X obj 156 432 curve 2;
#X obj 178 210 pack 0 0 0;
#X obj 255 189 pack 0 0 0;
@@ -20,27 +12,25 @@
#X obj 109 364 spigot;
#X msg 247 300 1;
#X obj 247 275 loadbang;
-#X connect 0 0 16 0;
+#X obj 161 111 scale4gem;
+#X obj 255 140 scale4gem;
+#X connect 0 0 8 0;
#X connect 1 0 3 1;
-#X connect 2 0 13 0;
-#X connect 3 0 18 0;
+#X connect 2 0 5 0;
+#X connect 3 0 10 0;
#X connect 4 0 3 0;
-#X connect 4 1 14 0;
-#X connect 5 0 8 0;
-#X connect 6 0 7 0;
-#X connect 7 0 4 0;
-#X connect 8 0 14 1;
-#X connect 9 0 12 0;
-#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 12 0 15 1;
-#X connect 14 0 13 1;
-#X connect 15 0 13 2;
-#X connect 16 1 6 0;
-#X connect 16 2 5 0;
-#X connect 16 3 10 0;
-#X connect 16 4 9 0;
-#X connect 17 0 18 1;
-#X connect 18 0 2 0;
-#X connect 19 0 18 1;
-#X connect 20 0 19 0;
+#X connect 4 1 6 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 2;
+#X connect 8 1 13 0;
+#X connect 8 2 13 1;
+#X connect 8 3 14 0;
+#X connect 8 4 14 1;
+#X connect 9 0 10 1;
+#X connect 10 0 2 0;
+#X connect 11 0 10 1;
+#X connect 12 0 11 0;
+#X connect 13 0 4 0;
+#X connect 13 1 6 1;
+#X connect 14 0 7 0;
+#X connect 14 1 7 1;
diff --git a/msd2D/editor/gem_masses.pd b/msd2D/editor/gem_masses.pd
index 29716ba..e10d136 100644
--- a/msd2D/editor/gem_masses.pd
+++ b/msd2D/editor/gem_masses.pd
@@ -4,11 +4,7 @@
#X obj 107 205 gemhead;
#X obj 150 393 separator;
#X obj 150 298 any;
-#X obj 180 162 t b f;
-#X obj 220 124 - 250;
-#X obj 180 107 - 250;
-#X obj 180 137 / 100;
-#X obj 220 153 / -100;
+#X obj 166 162 t b f;
#X msg 47 325 draw line;
#X obj 48 300 loadbang;
#X obj 141 61 unpack 0 0 0;
@@ -17,22 +13,21 @@
#X obj 150 362 spigot;
#X msg 239 289 1;
#X obj 239 264 loadbang;
-#X connect 0 0 12 0;
-#X connect 1 0 13 0;
+#X obj 181 126 scale4gem;
+#X connect 0 0 8 0;
+#X connect 1 0 9 0;
#X connect 2 0 4 1;
#X connect 3 0 1 0;
-#X connect 4 0 15 0;
+#X connect 4 0 11 0;
#X connect 5 0 4 0;
#X connect 5 1 1 1;
#X connect 6 0 9 0;
-#X connect 7 0 8 0;
-#X connect 8 0 5 0;
-#X connect 9 0 1 2;
-#X connect 10 0 13 0;
-#X connect 11 0 10 0;
-#X connect 12 1 7 0;
-#X connect 12 2 6 0;
-#X connect 14 0 15 1;
-#X connect 15 0 3 0;
-#X connect 16 0 15 1;
-#X connect 17 0 16 0;
+#X connect 7 0 6 0;
+#X connect 8 1 14 0;
+#X connect 8 2 14 1;
+#X connect 10 0 11 1;
+#X connect 11 0 3 0;
+#X connect 12 0 11 1;
+#X connect 13 0 12 0;
+#X connect 14 0 5 0;
+#X connect 14 1 1 2;
diff --git a/msd2D/editor/msd2d-editor.pd b/msd2D/editor/msd2d-editor.pd
index 6566249..6b0a735 100644
--- a/msd2D/editor/msd2d-editor.pd
+++ b/msd2D/editor/msd2d-editor.pd
@@ -1,8 +1,7 @@
-#N canvas 130 52 866 562 10;
-#N canvas 610 84 617 552 data 1;
+#N canvas 84 270 866 562 10;
+#N canvas 610 84 617 552 data 0;
#X restore 735 71 pd data;
#X obj 56 517 structures;
-#X msg 152 72 \; pd-data clear;
#X obj 62 308 bng 24 250 50 0 empty \$0-generate generate 0 -6 0 8
-24198 -1 -1;
#X text 57 493 Data Struct Definitions;
@@ -11,7 +10,7 @@
0;
#X obj 4 17 bng 20 250 50 0 empty empty load 0 -6 0 8 -258699 -1 -1
;
-#X obj 62 17 bng 20 250 50 0 empty empty save_as 0 -6 0 8 -24198 -1
+#X obj 34 17 bng 20 250 50 0 empty empty saveas 0 -6 0 8 -24198 -1
-1;
#X obj 101 60 savepanel;
#X obj 50 168 s pd-data;
@@ -20,7 +19,7 @@
#X msg 20 115 read \$1;
#X obj 20 138 t b a;
#X obj 20 195 s \$0-generate;
-#X obj 33 17 bng 20 250 50 0 empty empty save 0 -6 0 8 -241291 -1 -1
+#X obj 79 17 bng 20 250 50 0 empty empty save 0 -6 0 8 -241291 -1 -1
;
#X obj 100 91 symbol;
#X connect 1 0 6 0;
@@ -38,12 +37,12 @@
#X restore 723 150 pd save;
#X text 728 46 Edit here:;
#N canvas 257 131 781 748 generator 0;
-#N canvas 210 99 931 555 getter 0;
+#N canvas 311 93 931 555 getter 0;
#X obj 244 89 inlet;
-#X obj 244 141 outlet;
+#X obj 330 145 outlet;
#X text 91 57 First build masses \, then links!!;
-#X obj 148 281 outlet;
-#N canvas 403 15 685 826 fix-mass-ids 0;
+#X obj 234 285 outlet;
+#N canvas 571 1 685 826 fix-mass-ids 0;
#X obj 139 158 t b b b b b b b;
#X msg 175 254 traverse pd-data \, next;
#X msg 116 316 next;
@@ -63,7 +62,6 @@
#X connect 3 0 0 1;
#X connect 5 0 0 0;
#X restore 192 384 pd counter;
-#X obj 192 420 tabread \$0-msdid;
#X obj 192 482 set mass mid;
#X text 272 286 At end: fix links!;
#X obj 282 386 get mass mid;
@@ -78,20 +76,19 @@
#X connect 0 6 4 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
-#X connect 3 0 10 0;
+#X connect 3 0 9 0;
#X connect 3 1 2 0;
-#X connect 3 2 15 0;
+#X connect 3 2 14 0;
+#X connect 5 0 10 0;
#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 6 0 11 0;
-#X connect 9 0 11 1;
-#X connect 10 0 2 0;
-#X connect 10 1 5 0;
-#X connect 10 4 9 0;
-#X connect 10 5 7 1;
-#X connect 11 0 12 0;
-#X connect 14 0 0 0;
-#X restore 330 177 pd fix-mass-ids;
+#X connect 8 0 10 1;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 9 4 8 0;
+#X connect 9 5 6 1;
+#X connect 10 0 11 0;
+#X connect 13 0 0 0;
+#X restore 244 173 pd fix-mass-ids;
#N canvas 403 15 685 826 fix-links 0;
#X obj 139 158 t b b b b b b b;
#X msg 175 254 traverse pd-data \, next;
@@ -120,7 +117,7 @@
#X connect 10 4 9 0;
#X connect 10 5 7 2;
#X connect 11 0 0 0;
-#X restore 330 200 pd fix-links;
+#X restore 244 196 pd fix-links;
#N canvas 0 0 920 707 get-masses 0;
#X obj 228 162 t b b b b b b b;
#X msg 264 258 traverse pd-data \, next;
@@ -150,7 +147,7 @@
#X msg 328 213 const 0;
#X obj 328 234 s \$0-mid;
#X obj 390 234 s \$0-msdid;
-#X text 575 330 At end: start 2nd pass;
+#X text 124 479 At end: start 2nd pass;
#X obj 228 113 inlet;
#X obj 347 564 outlet;
#X obj 656 566 r \$0-current-mass-idx;
@@ -159,7 +156,7 @@
#X obj 605 592 pack 0 0;
#X text 598 515 Write old mids to table;
#X obj 605 640 print mass-as-in-struct;
-#X obj 612 368 outlet;
+#X obj 161 517 outlet;
#X obj 347 432 get mass x y mid mob M;
#X obj 347 514 pack 0 0 0 0 0;
#X connect 0 5 1 0;
@@ -194,16 +191,16 @@
#X connect 26 0 17 0;
#X restore 244 115 pd get-masses;
#N canvas 0 0 768 708 make-links 0;
-#X obj 156 229 pointer liaison;
-#X msg 156 203 next;
-#X msg 194 204 traverse pd-data \, bang;
-#X obj 126 251 t b p;
-#X obj 174 351 outlet;
-#X obj 194 147 inlet;
-#X obj 388 303 outlet;
-#X text 440 302 Now set lid field of links.;
-#X obj 156 275 get liaison mid1 mid2 K D D2;
-#X obj 174 318 pack 0 0 0 0 0;
+#X obj 316 252 pointer liaison;
+#X msg 316 226 next;
+#X msg 354 227 traverse pd-data \, bang;
+#X obj 286 274 t b p;
+#X obj 334 374 outlet;
+#X obj 354 170 inlet;
+#X obj 192 389 outlet;
+#X text 142 412 Now set lid field of links.;
+#X obj 316 298 get liaison mid1 mid2 K D D2;
+#X obj 334 341 pack 0 0 0 0 0;
#X connect 0 0 3 0;
#X connect 0 1 1 0;
#X connect 0 2 6 0;
@@ -219,66 +216,14 @@
#X connect 8 4 9 4;
#X connect 9 0 4 0;
#X restore 148 257 pd make-links;
-#N canvas 0 0 590 588 get-ids-from-msd 0;
-#X obj 176 209 r \$0-msd-attr;
-#X msg 287 189 infosL;
-#X obj 176 277 route Mass;
-#N canvas 331 520 708 349 counter 0;
-#X obj 156 125 f 0;
-#X msg 172 102 0;
-#X obj 172 74 r \$0-reset-counter;
-#X obj 188 125 + 1;
-#X obj 156 179 outlet;
-#X obj 156 50 inlet;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 0 1;
-#X connect 2 0 1 0;
-#X connect 3 0 0 1;
-#X connect 5 0 0 0;
-#X restore 206 324 pd counter;
-#X obj 176 301 t a b;
-#X obj 287 233 s \$0-msd;
-#X obj 176 249 spigot;
-#X msg 347 187 1;
-#X msg 237 185 0;
-#X obj 176 350 pack 0 0;
-#X obj 176 374 tabwrite \$0-msdid;
-#X obj 176 412 print mass-as-in-msd;
-#X msg 176 325 \$1;
-#X obj 239 151 t b b b b;
-#X obj 239 120 inlet;
-#X obj 94 208 outlet;
-#X text 71 167 Then fix mass ids;
-#X connect 0 0 6 0;
-#X connect 1 0 5 0;
-#X connect 2 0 4 0;
-#X connect 3 0 9 1;
-#X connect 4 0 12 0;
-#X connect 4 1 3 0;
-#X connect 6 0 2 0;
-#X connect 7 0 6 1;
-#X connect 8 0 6 1;
-#X connect 9 0 10 0;
-#X connect 9 0 11 0;
-#X connect 12 0 9 0;
-#X connect 13 0 15 0;
-#X connect 13 1 8 0;
-#X connect 13 2 1 0;
-#X connect 13 3 7 0;
-#X connect 14 0 13 0;
-#X restore 330 151 pd get-ids-from-msd;
#X text 569 416 TABLES USED:;
-#X text 639 457 ordered mass ids;
-#X text 639 481 ordered mass ids as in [msd*];
-#X text 639 510 mass id as index \, msdid as value;
+#X text 610 458 ordered mass ids;
+#X text 611 484 mass id as index \, msdid as value;
#X text 354 111 First get masses positions \, send to msd2D \, store
in table mid;
-#X text 482 152 Then get numercial ids from msd2D \, store in table
-msdid;
-#X text 484 174 Change DS mass ids to match msdIds \, store mid2msdid
+#X text 364 174 Change DS mass ids to match msdIds \, store mid2msdid
mapping;
-#X text 480 200 Fix mid1 and mid2 in links to match what msd2D thinks
+#X text 366 196 Fix mid1 and mid2 in links to match what msd2D thinks
is right.;
#X text 257 258 Create messages to msd2D to create links;
#N canvas 209 87 622 579 set-lid 0;
@@ -321,24 +266,21 @@ turn and crashed the car and left the toilet seat open.;
#X connect 12 0 11 0;
#X connect 12 1 15 0;
#X connect 15 0 16 0;
-#X restore 234 286 pd set-lid;
-#X text 314 284 Correct lids to match what msd2D tells us;
+#X restore 148 322 pd set-lid;
+#X text 238 322 Correct lids to match what msd2D tells us;
#X obj 475 458 table \$0-mid 4000;
-#X obj 459 484 table \$0-msdid 4000;
-#X obj 433 512 table \$0-mid2msdid 4000;
+#X obj 433 484 table \$0-mid2msdid 4000;
#X connect 0 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 6 1 8 0;
-#X connect 7 0 3 0;
-#X connect 7 1 18 0;
-#X connect 8 0 4 0;
+#X connect 6 0 4 0;
+#X connect 6 1 1 0;
+#X connect 7 0 15 0;
+#X connect 7 1 3 0;
#X restore 131 221 pd getter;
#X obj 131 369 s \$0-msd;
#X msg 175 154 reset;
#X obj 175 200 s \$0-msd;
-#X msg 175 175 Xmin 0 \, Xmax 800 \, Ymin 0 \, Ymax 800;
#X msg 368 473 mass fix 0 100 \$1 \$2;
#X obj 112 132 t b b b b;
#N canvas 376 279 682 601 make-setters 0;
@@ -393,18 +335,19 @@ turn and crashed the car and left the toilet seat open.;
#X obj 112 91 inlet;
#X msg 131 324 link ml \$1 \$2 \$3 \$4 \$5;
#X msg 189 275 mass id \$4 \$5 \$1 \$2;
-#X connect 0 0 10 0;
-#X connect 0 1 11 0;
+#X msg 175 177 Xmin 0 \, Xmax 1200 \, Ymin 0 \, Ymax 800;
+#X connect 0 0 9 0;
+#X connect 0 1 10 0;
#X connect 2 0 3 0;
-#X connect 4 0 3 0;
-#X connect 6 0 7 0;
-#X connect 6 1 0 0;
-#X connect 6 2 4 0;
-#X connect 6 3 2 0;
-#X connect 8 0 1 0;
-#X connect 9 0 6 0;
+#X connect 5 0 6 0;
+#X connect 5 1 0 0;
+#X connect 5 2 11 0;
+#X connect 5 3 2 0;
+#X connect 7 0 1 0;
+#X connect 8 0 5 0;
+#X connect 9 0 1 0;
#X connect 10 0 1 0;
-#X connect 11 0 1 0;
+#X connect 11 0 3 0;
#X restore 62 337 pd generator;
#N canvas 0 0 718 819 activate 0;
#X obj 233 284 msd2D;
@@ -417,7 +360,6 @@ turn and crashed the car and left the toilet seat open.;
#X obj 177 125 gemhead;
#X obj 233 396 route massesPos linksPos;
#X obj 139 498 gemwin;
-#X msg 139 447 create \, 1;
#X msg 139 471 0 \, destroy;
#X msg 315 233 forceX id 200;
#X obj 249 354 s \$0-msd-out;
@@ -450,117 +392,159 @@ turn and crashed the car and left the toilet seat open.;
#X obj 167 92 metro 20;
#X obj 413 395 r \$0-gem-masses-on;
#X obj 413 417 r \$0-gem-links-on;
+#X msg 139 447 reset \, create \, 1;
#X connect 0 0 8 0;
-#X connect 0 0 13 0;
-#X connect 0 1 16 0;
+#X connect 0 0 12 0;
+#X connect 0 1 15 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 6 0 0 0;
-#X connect 7 0 23 0;
-#X connect 8 0 17 0;
-#X connect 8 0 20 0;
-#X connect 8 1 18 0;
-#X connect 8 1 21 0;
+#X connect 7 0 22 0;
+#X connect 8 0 16 0;
+#X connect 8 0 19 0;
+#X connect 8 1 17 0;
+#X connect 8 1 20 0;
#X connect 10 0 9 0;
-#X connect 11 0 9 0;
-#X connect 12 0 0 0;
-#X connect 14 0 10 0;
-#X connect 14 1 11 0;
-#X connect 15 0 14 0;
-#X connect 15 0 20 1;
-#X connect 15 0 21 1;
-#X connect 15 0 35 0;
-#X connect 19 0 34 0;
-#X connect 19 0 38 0;
-#X connect 20 0 4 0;
-#X connect 21 0 5 0;
-#X connect 23 0 6 0;
-#X connect 23 1 24 0;
-#X connect 25 0 33 0;
-#X connect 26 0 30 0;
-#X connect 27 0 38 1;
-#X connect 28 0 29 0;
-#X connect 29 0 19 0;
-#X connect 30 0 15 0;
-#X connect 30 1 28 0;
-#X connect 31 0 32 0;
-#X connect 32 0 15 0;
-#X connect 33 0 19 0;
-#X connect 33 1 31 0;
+#X connect 11 0 0 0;
+#X connect 13 0 40 0;
+#X connect 13 1 10 0;
+#X connect 14 0 13 0;
+#X connect 14 0 19 1;
+#X connect 14 0 20 1;
+#X connect 14 0 34 0;
+#X connect 18 0 33 0;
+#X connect 18 0 37 0;
+#X connect 19 0 4 0;
+#X connect 20 0 5 0;
+#X connect 22 0 6 0;
+#X connect 22 1 23 0;
+#X connect 24 0 32 0;
+#X connect 25 0 29 0;
+#X connect 26 0 37 1;
+#X connect 27 0 28 0;
+#X connect 28 0 18 0;
+#X connect 29 0 14 0;
+#X connect 29 1 27 0;
+#X connect 30 0 31 0;
+#X connect 31 0 14 0;
+#X connect 32 0 18 0;
+#X connect 32 1 30 0;
+#X connect 33 0 35 0;
#X connect 34 0 36 0;
-#X connect 35 0 37 0;
-#X connect 38 0 23 0;
-#X connect 39 0 4 1;
-#X connect 40 0 5 1;
+#X connect 37 0 22 0;
+#X connect 38 0 4 1;
+#X connect 39 0 5 1;
+#X connect 40 0 9 0;
#X restore 61 414 pd activate;
#X obj 61 378 tgl 24 0 empty empty GEM 0 -6 0 8 -233017 -1 -1 0 1;
#X obj 97 378 tgl 24 0 empty empty Graphical_Datastructures 0 -6 0
8 -1 -262144 -1 0 1;
#X text 275 306 Press "generate" to generate messages to msd2D and
create the physical model inside.;
-#N canvas 0 0 751 433 ignore 0;
-#X obj 102 264 print ToMSD;
-#X obj 102 234 spigot;
-#X obj 139 181 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 102 207 r \$0-msd;
-#X obj 281 239 spigot;
-#X obj 318 186 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0
+#N canvas 334 329 751 433 ignore 0;
+#X obj 46 264 print ToMSD;
+#X obj 46 234 spigot;
+#X obj 83 181 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 46 207 r \$0-msd;
+#X obj 147 237 spigot;
+#X obj 184 184 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0
1;
-#X obj 281 267 print FromMSD;
-#X obj 281 212 r \$0-msd-out;
+#X obj 147 265 print FromMSD;
+#X obj 147 210 r \$0-msd-out;
#N canvas 0 0 578 686 setter 0;
-#X obj 137 196 mass-set 12;
-#X obj 164 167 mass-set 11;
-#X obj 133 167 mass-set 10;
-#X obj 160 196 mass-set 9;
-#X obj 215 220 mass-set 8;
-#X obj 82 220 mass-set 7;
-#X obj 175 187 mass-set 6;
-#X obj 122 187 mass-set 5;
-#X obj 173 235 mass-set 4;
-#X obj 124 235 mass-set 3;
-#X obj 184 300 mass-set 2;
-#X obj 113 300 mass-set 1;
-#X obj 149 100 mass-set 0;
+#X obj 930 100 mass-set 31;
+#X obj 900 100 mass-set 30;
+#X obj 870 100 mass-set 29;
+#X obj 840 100 mass-set 28;
+#X obj 810 100 mass-set 27;
+#X obj 780 100 mass-set 26;
+#X obj 750 100 mass-set 25;
+#X obj 720 100 mass-set 24;
+#X obj 690 100 mass-set 23;
+#X obj 660 100 mass-set 22;
+#X obj 630 100 mass-set 21;
+#X obj 600 100 mass-set 20;
+#X obj 570 100 mass-set 19;
+#X obj 540 100 mass-set 18;
+#X obj 510 100 mass-set 17;
+#X obj 480 100 mass-set 16;
+#X obj 450 100 mass-set 15;
+#X obj 420 100 mass-set 14;
+#X obj 390 100 mass-set 13;
+#X obj 360 100 mass-set 12;
+#X obj 330 100 mass-set 11;
+#X obj 300 100 mass-set 10;
+#X obj 270 100 mass-set 9;
+#X obj 240 100 mass-set 8;
+#X obj 210 100 mass-set 7;
+#X obj 180 100 mass-set 6;
+#X obj 150 100 mass-set 5;
+#X obj 120 100 mass-set 4;
+#X obj 90 100 mass-set 3;
+#X obj 60 100 mass-set 2;
+#X obj 30 100 mass-set 1;
+#X obj 0 100 mass-set 0;
#X restore 305 122 pd setter;
#N canvas 0 0 822 675 lsetter 0;
-#X obj 133 167 link-set 23;
-#X obj 160 196 link-set 22;
-#X obj 164 167 link-set 21;
-#X obj 137 196 link-set 20;
-#X obj 133 167 link-set 19;
-#X obj 133 167 link-set 18;
-#X obj 124 235 link-set 17;
-#X obj 175 187 link-set 16;
-#X obj 173 235 link-set 15;
-#X obj 122 187 link-set 14;
-#X obj 124 235 link-set 13;
-#X obj 175 187 link-set 12;
-#X obj 122 187 link-set 11;
-#X obj 82 220 link-set 10;
-#X obj 175 187 link-set 9;
-#X obj 215 220 link-set 8;
-#X obj 113 300 link-set 7;
-#X obj 113 300 link-set 6;
-#X obj 184 300 link-set 5;
-#X obj 173 235 link-set 4;
-#X obj 149 100 link-set 3;
-#X obj 164 167 link-set 2;
-#X obj 122 187 link-set 1;
-#X obj 160 196 link-set 0;
+#X obj 0 100 link-set 15;
+#X obj 30 100 link-set 23;
+#X obj 60 100 link-set 7;
+#X obj 90 100 link-set 27;
+#X obj 120 100 link-set 11;
+#X obj 150 100 link-set 19;
+#X obj 180 100 link-set 3;
+#X obj 210 100 link-set 29;
+#X obj 240 100 link-set 13;
+#X obj 270 100 link-set 21;
+#X obj 300 100 link-set 5;
+#X obj 330 100 link-set 25;
+#X obj 360 100 link-set 9;
+#X obj 390 100 link-set 17;
+#X obj 420 100 link-set 1;
+#X obj 450 100 link-set 30;
+#X obj 480 100 link-set 14;
+#X obj 510 100 link-set 22;
+#X obj 540 100 link-set 6;
+#X obj 570 100 link-set 26;
+#X obj 600 100 link-set 10;
+#X obj 630 100 link-set 18;
+#X obj 660 100 link-set 2;
+#X obj 690 100 link-set 28;
+#X obj 720 100 link-set 12;
+#X obj 750 100 link-set 20;
+#X obj 780 100 link-set 4;
+#X obj 810 100 link-set 24;
+#X obj 840 100 link-set 8;
+#X obj 870 100 link-set 16;
+#X obj 900 100 link-set 0;
#X restore 304 145 pd lsetter;
#X text 288 98 Automatic scripting targets;
#X text 65 66 You can ignore this stuff here \, unless something goes
wrong.;
-#X obj 407 239 spigot;
-#X obj 444 186 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 1
+#X obj 269 233 spigot;
+#X obj 306 180 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 1
1;
-#X obj 407 212 r \$0-msd-attr;
-#X obj 407 270 print AttrMSD;
+#X obj 269 206 r \$0-msd-attr;
+#X obj 269 264 print AttrMSD;
#X obj 532 270 s \$0-msd;
#X msg 532 249 infosL;
+#X obj 143 363 spigot;
+#X obj 180 310 tgl 15 0 empty empty global-send 0 -6 0 8 -262144 -1
+-1 0 1;
+#X obj 143 336 r \$0-msd-out;
+#X obj 143 391 s MSD-OUT-GLOBAL;
+#X msg 532 223 massesPosL;
+#X obj 532 199 metro 40;
+#X obj 532 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 585 178 5 0 0 0 - - -;
+#X obj 280 365 spigot;
+#X obj 317 312 tgl 15 0 empty empty global-receive 0 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 280 338 r MSD-IN-GLOBAL;
+#X obj 280 393 s \$0-msd;
#X connect 1 0 0 0;
#X connect 2 0 1 1;
#X connect 3 0 1 0;
@@ -571,6 +555,16 @@ wrong.;
#X connect 13 0 12 1;
#X connect 14 0 12 0;
#X connect 17 0 16 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 1;
+#X connect 20 0 18 0;
+#X connect 22 0 16 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 1;
+#X connect 26 0 29 0;
+#X connect 27 0 26 1;
+#X connect 28 0 26 0;
#X restore 149 517 pd ignore this;
#X floatatom 133 385 5 10 1000 1 frequency - -;
#X text 272 364 Visualization is done using either a GEM OpenGL window
@@ -581,24 +575,43 @@ metro \, to accelerate or slow down the simulation.;
in edit mode \, then press "L" to connect those with a link. If you
select more than two masses \, then all possible links between those
masses will get created. Use this to mass-connect masses. :);
-#N canvas 0 0 526 412 forces 0;
-#X obj 183 333 s \$0-msd;
-#X obj 282 273 hsl 128 24 -500 500 0 1 empty empty empty -2 -6 0 8
+#N canvas 705 166 576 613 forces 0;
+#X obj 295 415 s \$0-msd;
+#X obj 394 355 hsl 128 24 -500 500 0 1 empty empty empty -2 -6 0 8
-262144 -1 -1 6350 1;
-#X obj 183 148 vsl 24 128 -500 500 0 1 empty empty empty 0 -8 0 8 -262144
+#X obj 295 230 vsl 24 128 -500 500 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 6350 1;
-#X msg 183 306 forceY id \$1;
-#X msg 279 306 forceX id \$1;
-#X obj 183 284 * -1;
-#X obj 183 92 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
+#X msg 295 388 forceY id \$1;
+#X msg 391 388 forceX id \$1;
+#X obj 295 366 * -1;
+#X obj 295 174 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
0 1;
-#X obj 279 213 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
+#X obj 391 295 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
0 1;
-#X obj 183 123 metro 10;
-#X obj 279 244 metro 10;
-#X msg 343 243 0;
-#X msg 151 122 0;
-#X text 118 45 Add some forces to the system.;
+#X obj 295 205 metro 10;
+#X obj 391 326 metro 10;
+#X msg 455 325 0;
+#X msg 263 204 0;
+#X text 230 127 Add some forces to the system.;
+#X msg 63 158 forceX \$2 \$1;
+#X msg 63 272 forceY \$2 \$1;
+#X obj 63 137 pack 0 0;
+#X floatatom 114 114 5 0 0 2 Mass_ID - -;
+#X obj 63 249 pack 0 0;
+#X floatatom 63 115 5 0 0 0 forceX - -;
+#X floatatom 63 204 5 0 0 0 forceY - -;
+#X obj 63 299 s \$0-msd;
+#X obj 63 181 s \$0-msd;
+#X obj 63 224 * -1;
+#X obj 63 461 pack 0 0;
+#X floatatom 63 437 5 0 0 0 posY - -;
+#X obj 63 511 s \$0-msd;
+#X msg 63 484 posY \$2 \$1;
+#X obj 63 358 pack 0 0;
+#X floatatom 63 334 5 0 0 0 posX - -;
+#X obj 63 408 s \$0-msd;
+#X msg 63 381 posX \$2 \$1;
+#X text 31 74 Modify one mass:;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 0 0;
@@ -610,16 +623,33 @@ masses will get created. Use this to mass-connect masses. :);
#X connect 9 0 1 0;
#X connect 10 0 1 0;
#X connect 11 0 2 0;
+#X connect 13 0 21 0;
+#X connect 14 0 20 0;
+#X connect 15 0 13 0;
+#X connect 16 0 15 1;
+#X connect 16 0 17 1;
+#X connect 16 0 23 1;
+#X connect 16 0 27 1;
+#X connect 17 0 14 0;
+#X connect 18 0 15 0;
+#X connect 19 0 22 0;
+#X connect 22 0 17 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 26 0 25 0;
+#X connect 27 0 30 0;
+#X connect 28 0 27 0;
+#X connect 30 0 29 0;
#X restore 60 457 pd forces;
#X obj 286 518 tgl 15 0 \$0-gem-masses-on empty gem_m 0 -6 0 8 -233017
-1 -1 0 1;
#X obj 328 518 tgl 15 0 \$0-gem-links-on empty gem_l 0 -6 0 8 -233017
-1 -1 0 1;
-#N canvas 84 573 450 300 props 0;
+#N canvas 557 667 450 300 props 0;
#X obj 117 204 s \$0-msd;
#X obj 117 46 vsl 15 64 0 10 0 0 empty empty D 0 -8 0 8 -262144 -1
-1 0 1;
-#X obj 141 46 vsl 15 64 0 1 0 0 empty empty D2 0 -8 0 8 -262144 -1
+#X obj 141 46 vsl 15 64 0 10 0 0 empty empty D2 0 -8 0 8 -262144 -1
-1 0 1;
#X obj 90 46 vsl 15 64 0 100 0 0 empty empty K 0 -8 0 8 -262144 -1
-1 0 1;
@@ -643,7 +673,6 @@ parameters of links and send forces.;
from left to right. one2many will connect one mass to many others.
First select the first mass \, the set the toggle to 1 \, after that
select the other masses and set toggle to 0;
-#X text 150 47 Clear all:;
#X text 270 181 "L" is only active \, if the green toggle "Key:L" is
set to on. Otherwise use the yellow "link" bang.;
#X text 705 123 Save network to disk:;
@@ -652,9 +681,15 @@ set to on. Otherwise use the yellow "link" bang.;
#X text 274 23 First create structure inside [pd data] using msd_append.
Add mobile masses with black bang \, add fixed masses with the red
bang. Set weight of mass with the "M" number box.;
-#X connect 3 0 7 0;
-#X connect 8 0 9 0;
-#X connect 8 1 10 0;
-#X connect 9 0 8 0;
-#X connect 10 0 8 1;
-#X connect 13 0 8 2;
+#X obj 152 86 s pd-data;
+#X msg 152 46 clear;
+#X msg 152 66 sort;
+#X text 150 21 Clear or sort:;
+#X connect 2 0 6 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 1;
+#X connect 12 0 7 2;
+#X connect 28 0 27 0;
+#X connect 29 0 27 0;