#N canvas 303 67 947 811 10;
#X obj 32 13 loadbang;
#X obj 603 265 gemwin;
#X msg 603 243 0 \, destroy;
#X obj 602 291 gemhead;
#X obj 602 355 world_light;
#X obj 145 226 t a;
#X obj 145 12 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262131 -1
-1;
#X msg 203 63 reset;
#X obj 33 298 gemhead;
#N canvas 721 124 605 590 massrender 0;
#X obj 127 22 inlet;
#X obj 48 203 translateXYZ;
#X obj 48 177 separator;
#X obj 48 153 any;
#X obj 127 136 t b f;
#X obj 127 57 unpack f f f;
#X obj 48 283 cuboid 0.065 0.065 0.07;
#X obj 64 114 gemhead 45;
#X connect 0 0 5 0;
#X connect 1 0 6 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 1;
#X connect 5 0 4 0;
#X connect 5 1 1 2;
#X connect 5 2 6 3;
#X connect 7 0 3 1;
#X restore 265 625 pd massrender;
#X msg 203 83 symbol reset;
#X text 793 205 Select view;
#X obj 145 38 t b b b b;
#X text 418 114 Filet abstraction : x0 y0 stepx stepy ny nx;
#X obj 454 464 msd -------------;
#X obj 33 497 msd2D --------------------------------;
#X obj 305 254 route mass;
#X msg 305 275 mass msd1 \$1 \$2 \$5;
#X obj 145 253 route mass;
#X msg 145 274 mass msd2 \$1 \$2 \$3 \$4;
#X obj 33 517 route massesPos;
#X msg 33 343 bang \, get massesPos;
#X obj 33 321 t b b;
#X obj 265 600 pack f f f;
#N canvas 0 0 450 300 getmasses 0;
#X obj 84 33 inlet;
#X obj 91 71 t b b b;
#X obj 120 139 f 0;
#X obj 120 166 + 1;
#X obj 223 34 inlet;
#X obj 224 64 select reset;
#X msg 224 98 0;
#X obj 193 228 outlet;
#X obj 120 191 % 800;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 7 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 1;
#X connect 8 0 2 1;
#X restore 72 657 pd getmasses;
#X obj 454 488 route massesPosNo;
#X msg 63 718 get massesPos \$1;
#X obj 602 334 rotateXYZ;
#X obj 651 450 vsl 15 128 0 4 0 0 empty empty empty 0 -8 0 8 -262131
-1 -1 1400 1;
#X obj 670 450 vsl 15 128 0 4 0 0 empty empty empty 0 -8 0 8 -262131
-1 -1 0 1;
#X obj 689 450 vsl 15 128 0 4 0 0 empty empty empty 0 -8 0 8 -262131
-1 -1 0 1;
#X obj 707 450 vsl 15 128 0 4 0 0 empty empty empty 0 -8 0 8 -262131
-1 -1 0 1;
#X msg 651 585 posX 0 \$1;
#X msg 621 311 45;
#X msg 603 223 view 4 0 0.5 0 0 0 0 0 1;
#X msg 603 185 view 0 0.5 6 0 0 0 0 1 0;
#X msg 650 311 45;
#X msg 603 138 reset \, dimen 800 800 \, create \, lighting 1 \, 1
;
#X msg 145 173 Xmax 4 \, Xmin -4 \, Ymax 4 \, Ymin -4;
#X msg 145 199 Xmax 4 \, Xmin -4;
#X obj 603 161 t b;
#X obj 183 113 filet -3.2 -2 0.1685 0.1685 20 40;
#X msg 164 140 setFixed 0 \, setFixed 39 \, setFixed 760 \, setFixed
799;
#X msg 603 204 view 0 5 0 0 0 0 0 0 1;
#X msg 670 605 posX 39 \$1;
#X msg 689 625 posX 799 \$1;
#X msg 707 645 posX 760 \$1;
#X text 734 508 Move corners to send a wave!;
#X text 194 703 Each time a mass2D position is send \, the corresponding
z is asked to the 1D model.;
#X text 389 35 X-Y : 2D model;
#X text 389 49 Z : 1D model;
#X text 146 300 If it's a mass message : send XY to ms2D and Z to msd
;
#X text 178 14 Reset;
#X text 304 228 800 masses / 1540 links for each model;
#X text 31 455 The 2D model is just here to help display masses and
test synchronization between msd objects;
#X obj 33 537 unpack f f f;
#X obj 443 546 unpack f f;
#X obj 173 597 f;
#X obj 33 574 t b f;
#X connect 0 0 12 0;
#X connect 2 0 1 0;
#X connect 3 0 27 0;
#X connect 5 0 16 0;
#X connect 5 0 18 0;
#X connect 6 0 12 0;
#X connect 7 0 5 0;
#X connect 8 0 22 0;
#X connect 10 0 24 1;
#X connect 10 0 41 1;
#X connect 12 0 38 0;
#X connect 12 0 39 0;
#X connect 12 1 42 0;
#X connect 12 2 41 0;
#X connect 12 3 7 0;
#X connect 12 3 10 0;
#X connect 14 0 25 0;
#X connect 15 0 20 0;
#X connect 16 0 17 0;
#X connect 16 1 14 0;
#X connect 17 0 14 0;
#X connect 18 0 19 0;
#X connect 18 1 15 0;
#X connect 19 0 15 0;
#X connect 20 0 55 0;
#X connect 21 0 15 0;
#X connect 22 0 21 0;
#X connect 22 1 14 0;
#X connect 23 0 9 0;
#X connect 25 0 56 0;
#X connect 26 0 14 0;
#X connect 27 0 4 0;
#X connect 28 0 32 0;
#X connect 29 0 44 0;
#X connect 30 0 45 0;
#X connect 31 0 46 0;
#X connect 32 0 14 0;
#X connect 33 0 27 1;
#X connect 34 0 1 0;
#X connect 35 0 1 0;
#X connect 36 0 27 2;
#X connect 37 0 1 0;
#X connect 37 0 40 0;
#X connect 38 0 15 0;
#X connect 39 0 14 0;
#X connect 40 0 35 0;
#X connect 40 0 36 0;
#X connect 40 0 33 0;
#X connect 41 0 5 0;
#X connect 42 0 5 0;
#X connect 43 0 1 0;
#X connect 44 0 14 0;
#X connect 45 0 14 0;
#X connect 46 0 14 0;
#X connect 55 0 58 0;
#X connect 55 1 57 1;
#X connect 55 2 23 1;
#X connect 56 1 23 2;
#X connect 57 0 23 0;
#X connect 58 0 57 0;
#X connect 58 1 26 0;