#N canvas 656 184 734 630 10; #X declare -lib Gem -path ../; #X obj 52 340 pmpd2d; #X obj 52 78 loadbang; #X obj 64 101 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 551 233 1328 695 creation 0; #X obj 631 -17 inlet; #X obj 641 11 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 632 44 t b b b b b b b b b b b; #X msg 1082 220 reset; #X obj 614 611 outlet; #X obj 951 188 until; #X obj 951 220 f; #X obj 1023 272 + 1; #X msg 993 188 0; #X obj 951 346 pack f f; #X msg 951 371 mass net 1 1 \$1 \$2; #X msg 1074 468 print; #X obj 986 298 % 20; #X obj 951 299 / 20; #X obj 951 320 i; #X obj 951 267 t f f f f; #X obj 823 334 until; #X obj 823 366 f; #X obj 895 418 + 1; #X obj 823 413 t f f f f; #X obj 824 443 + 1; #X obj 822 471 pack f f; #X msg 823 312 19; #X obj 838 174 until; #X obj 838 206 f; #X msg 880 174 0; #X obj 899 237 + 1; #X obj 863 308 * 20; #X msg 838 152 20; #X msg 951 166 400; #X obj 659 331 until; #X obj 659 363 f; #X obj 731 415 + 1; #X obj 659 410 t f f f f; #X obj 658 468 pack f f; #X obj 674 171 until; #X obj 674 203 f; #X msg 716 171 0; #X obj 751 246 + 1; #X obj 699 305 * 20; #X msg 659 309 20; #X msg 674 149 19; #X obj 660 440 + 20; #X obj 493 333 until; #X obj 493 365 f; #X obj 565 417 + 1; #X obj 493 412 t f f f f; #X obj 492 470 pack f f; #X obj 508 173 until; #X obj 508 205 f; #X msg 550 173 0; #X obj 593 253 + 1; #X obj 533 307 * 20; #X msg 508 151 19; #X msg 493 311 19; #X obj 494 442 + 21; #X obj 338 333 until; #X obj 338 365 f; #X obj 410 417 + 1; #X obj 338 412 t f f f f; #X obj 337 470 pack f f; #X obj 353 173 until; #X obj 353 205 f; #X msg 395 173 0; #X obj 411 256 + 1; #X obj 378 307 * 20; #X msg 353 151 19; #X msg 338 311 19; #X obj 394 450 + 1; #X obj 352 280 t b f f; #X obj 507 280 t b f f; #X obj 673 278 t b f f; #X obj 837 281 t b f f; #X obj 340 442 + 20; #X msg 1095 274 min -9 -9 \, max 29 29; #X msg 339 498 link mesh \$1 \$2 0.03 0.1; #X msg 497 497 link mesh \$1 \$2 0.03 0.1; #X msg 661 496 link mesh \$1 \$2 0.03 0.1; #X msg 823 496 link mesh \$1 \$2 0.03 0.1; #X obj 170 335 until; #X obj 170 367 f; #X obj 242 419 + 1; #X obj 170 414 t f f f f; #X obj 169 472 pack f f; #X obj 185 175 until; #X obj 185 207 f; #X msg 227 175 0; #X obj 270 255 + 1; #X obj 210 309 * 20; #X obj 15 335 until; #X obj 15 367 f; #X obj 87 419 + 1; #X obj 15 414 t f f f f; #X obj 14 472 pack f f; #X obj 30 175 until; #X obj 30 207 f; #X msg 72 175 0; #X obj 88 258 + 1; #X obj 55 309 * 20; #X obj 29 282 t b f f; #X obj 184 282 t b f f; #X msg 20 502 link mesh \$1 \$2 0.03 0.1; #X msg 174 499 link mesh \$1 \$2 0.03 0.1; #X obj 71 452 + 2; #X msg 15 313 18; #X msg 30 153 18; #X obj 171 444 + 42; #X msg 184 153 18; #X msg 170 313 18; #X obj 17 444 + 40; #X connect 0 0 2 0; #X connect 1 0 2 0; #X connect 2 0 105 0; #X connect 2 1 107 0; #X connect 2 2 74 0; #X connect 2 4 53 0; #X connect 2 4 66 0; #X connect 2 7 41 0; #X connect 2 8 28 0; #X connect 2 9 29 0; #X connect 2 10 3 0; #X connect 2 10 8 0; #X connect 2 10 25 0; #X connect 2 10 37 0; #X connect 2 10 50 0; #X connect 2 10 63 0; #X connect 2 10 86 0; #X connect 2 10 96 0; #X connect 3 0 4 0; #X connect 5 0 6 0; #X connect 6 0 15 0; #X connect 7 0 6 1; #X connect 8 0 6 1; #X connect 9 0 10 0; #X connect 10 0 4 0; #X connect 11 0 4 0; #X connect 12 0 9 1; #X connect 13 0 14 0; #X connect 14 0 9 0; #X connect 15 0 13 0; #X connect 15 1 12 0; #X connect 15 2 7 0; #X connect 16 0 17 0; #X connect 17 0 19 0; #X connect 18 0 17 1; #X connect 19 0 20 0; #X connect 19 1 21 1; #X connect 19 2 18 0; #X connect 20 0 21 0; #X connect 21 0 78 0; #X connect 22 0 16 0; #X connect 23 0 24 0; #X connect 24 0 72 0; #X connect 25 0 24 1; #X connect 26 0 24 1; #X connect 27 0 17 1; #X connect 28 0 23 0; #X connect 29 0 5 0; #X connect 30 0 31 0; #X connect 31 0 33 0; #X connect 32 0 31 1; #X connect 33 0 42 0; #X connect 33 1 34 1; #X connect 33 2 32 0; #X connect 34 0 77 0; #X connect 35 0 36 0; #X connect 36 0 71 0; #X connect 37 0 36 1; #X connect 38 0 36 1; #X connect 39 0 31 1; #X connect 40 0 30 0; #X connect 41 0 35 0; #X connect 42 0 34 0; #X connect 43 0 44 0; #X connect 44 0 46 0; #X connect 45 0 44 1; #X connect 46 0 55 0; #X connect 46 1 47 1; #X connect 46 2 45 0; #X connect 47 0 76 0; #X connect 48 0 49 0; #X connect 49 0 70 0; #X connect 50 0 49 1; #X connect 51 0 49 1; #X connect 52 0 44 1; #X connect 53 0 48 0; #X connect 54 0 43 0; #X connect 55 0 47 0; #X connect 56 0 57 0; #X connect 57 0 59 0; #X connect 58 0 57 1; #X connect 59 0 73 0; #X connect 59 1 68 0; #X connect 59 2 58 0; #X connect 60 0 75 0; #X connect 61 0 62 0; #X connect 62 0 69 0; #X connect 63 0 62 1; #X connect 64 0 62 1; #X connect 65 0 57 1; #X connect 66 0 61 0; #X connect 67 0 56 0; #X connect 68 0 60 1; #X connect 69 0 67 0; #X connect 69 1 65 0; #X connect 69 2 64 0; #X connect 70 0 54 0; #X connect 70 1 52 0; #X connect 70 2 51 0; #X connect 71 0 40 0; #X connect 71 1 39 0; #X connect 71 2 38 0; #X connect 72 0 22 0; #X connect 72 1 27 0; #X connect 72 2 26 0; #X connect 73 0 60 0; #X connect 74 0 4 0; #X connect 75 0 4 0; #X connect 76 0 4 0; #X connect 77 0 4 0; #X connect 78 0 4 0; #X connect 79 0 80 0; #X connect 80 0 82 0; #X connect 81 0 80 1; #X connect 82 0 106 0; #X connect 82 1 83 1; #X connect 82 2 81 0; #X connect 83 0 102 0; #X connect 84 0 85 0; #X connect 85 0 100 0; #X connect 86 0 85 1; #X connect 87 0 85 1; #X connect 88 0 80 1; #X connect 89 0 90 0; #X connect 90 0 92 0; #X connect 91 0 90 1; #X connect 92 0 109 0; #X connect 92 1 103 0; #X connect 92 2 91 0; #X connect 93 0 101 0; #X connect 94 0 95 0; #X connect 95 0 99 0; #X connect 96 0 95 1; #X connect 97 0 95 1; #X connect 98 0 90 1; #X connect 99 0 104 0; #X connect 99 1 98 0; #X connect 99 2 97 0; #X connect 100 0 108 0; #X connect 100 1 88 0; #X connect 100 2 87 0; #X connect 103 0 93 1; #X connect 104 0 89 0; #X connect 105 0 94 0; #X connect 106 0 83 0; #X connect 107 0 84 0; #X connect 108 0 79 0; #X connect 109 0 93 0; #X restore 52 126 pd creation; #X obj 69 264 gemhead; #X obj 69 287 t b; #X obj 54 45 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #N canvas 483 221 591 562 linkrender 0; #X obj 146 9 inlet; #X obj 67 285 separator; #X obj 150 148 t b f; #X obj 67 368 curve 2; #X obj 177 178 pack f f; #X msg 177 201 \$1 \$2 0; #X obj 261 177 pack f f; #X msg 261 200 \$1 \$2 0; #X obj 146 97 unpack f f f f f; #X obj 67 224 gemhead 45; #X obj 67 116 loadbang; #X msg 67 174 0; #X msg 77 337 res 2; #X obj 77 311 loadbang; #X obj 67 265 translateXYZ -10 -10 0; #X obj 67 246 scaleXYZ 0.2 0.2 0.2; #X obj 146 53 route mesh; #X connect 0 0 16 0; #X connect 1 0 3 0; #X connect 2 0 9 0; #X connect 2 1 4 0; #X connect 4 0 5 0; #X connect 5 0 3 1; #X connect 6 0 7 0; #X connect 7 0 3 2; #X connect 8 1 2 0; #X connect 8 2 4 1; #X connect 8 3 6 0; #X connect 8 4 6 1; #X connect 9 0 15 0; #X connect 10 0 11 0; #X connect 11 0 9 0; #X connect 12 0 3 0; #X connect 13 0 12 0; #X connect 14 0 1 0; #X connect 15 0 14 0; #X connect 16 0 8 0; #X restore 52 385 pd linkrender; #N canvas 266 267 304 262 create_gem 0; #X msg 137 179 0 \, destroy; #X obj 118 104 inlet; #X obj 118 129 sel 1 0; #X msg 118 156 reset \, create \, 1; #X obj 118 200 gemwin; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 1 0 0; #X connect 3 0 4 0; #X restore 75 45 pd create_gem; #X obj 239 119 pack f f; #X obj 239 143 spigot 0; #X obj 255 47 gemmouse 40 -40; #X obj 239 97 - 10; #X obj 281 98 + 30; #X obj 240 73 f; #X obj 207 -13 gemhead; #X obj 207 10 t b; #X obj 207 53 until; #X obj 52 363 route linkEnd testLink; #X msg 151 406 setInactive \$1 \, setLinkId \$1 broken; #X obj 480 70 gemhead 45; #X obj 480 113 translateXYZ -10 -10 0; #X obj 480 92 scaleXYZ 0.2 0.2 0.2; #X obj 503 -1 gemmouse 40 -40; #X obj 503 34 - 10; #X obj 536 34 + 30; #X obj 480 134 translateXYZ; #X obj 480 155 circle 2; #X obj 151 385 route break plastic; #X msg 207 197 bang \, forceY net -1e-05 \,; #X msg 451 38 0; #X obj 451 14 loadbang; #X obj 26 -19 declare -lib Gem -path ../; #X text 239 7 simulation speed x20; #X text 188 331 ask pmpd to test the forces of each links; #X msg 69 308 linkEnd mesh; #X obj 181 225 t b b; #X obj 181 265 spigot 0; #X obj 281 263 spigot 0; #X obj 226 226 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 326 243 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 86 100 reset object; #X msg 239 169 iCircle net \$1 \$2 1 -0.03 1 0 0 0 1; #X text 247 224 plastic distortion; #X text 347 241 breakable link; #X msg 181 286 testLink plastic Id mesh forceSup 0.004; #X msg 205 436 setLCurrent mesh 0.005; #X msg 282 311 testLink break Id mesh forceSup 0.01; #X msg 207 32 20; #X text 62 492 Click and drag the mouse cursor over the object : you can interact with it. If forces in the links are superior to 0.004 \, the connection lenght will adapt a bit (plastic deformation). If forces are even bigger (> 0.01) \, the link will break.; #X text 378 407 link with forces > 0.01 breaks; #X text 350 438 link with forces > 0.004 adpats 0.5% of their length ; #X connect 0 0 18 0; #X connect 1 0 3 0; #X connect 2 0 3 0; #X connect 3 0 0 0; #X connect 4 0 5 0; #X connect 5 0 35 0; #X connect 6 0 8 0; #X connect 9 0 10 0; #X connect 10 0 42 0; #X connect 11 0 14 1; #X connect 11 1 13 0; #X connect 11 2 10 1; #X connect 12 0 9 0; #X connect 13 0 9 1; #X connect 14 0 12 0; #X connect 15 0 16 0; #X connect 16 0 48 0; #X connect 17 0 14 0; #X connect 17 0 36 0; #X connect 17 0 29 0; #X connect 18 0 7 0; #X connect 18 1 28 0; #X connect 19 0 0 0; #X connect 20 0 22 0; #X connect 21 0 26 0; #X connect 22 0 21 0; #X connect 23 0 24 0; #X connect 23 1 25 0; #X connect 23 2 20 0; #X connect 24 0 26 1; #X connect 25 0 26 2; #X connect 26 0 27 0; #X connect 28 0 19 0; #X connect 28 1 46 0; #X connect 29 0 0 0; #X connect 30 0 20 0; #X connect 31 0 30 0; #X connect 35 0 0 0; #X connect 36 0 37 0; #X connect 36 1 38 0; #X connect 37 0 45 0; #X connect 38 0 47 0; #X connect 39 0 37 1; #X connect 40 0 38 1; #X connect 42 0 0 0; #X connect 45 0 0 0; #X connect 46 0 0 0; #X connect 47 0 0 0; #X connect 48 0 17 0;