#N canvas 385 163 669 579 10; #X declare -lib Gem -path ../; #X obj 52 300 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 163 153 1137 609 creation 0; #X obj 256 -12 inlet; #X obj 266 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 257 49 t b b b b b b b b b b b; #X msg 824 175 reset; #X obj 504 540 outlet; #X obj 637 147 until; #X obj 637 179 f; #X obj 709 231 + 1; #X msg 679 147 0; #X obj 637 305 pack f f; #X msg 637 330 mass net 1 1 \$1 \$2; #X msg 746 512 print; #X obj 672 257 % 20; #X obj 637 258 / 20; #X obj 637 279 i; #X obj 637 226 t f f f f; #X obj 448 339 until; #X obj 448 371 f; #X obj 520 423 + 1; #X obj 448 418 t f f f f; #X obj 449 448 + 1; #X obj 447 476 pack f f; #X msg 448 317 19; #X obj 463 179 until; #X obj 463 211 f; #X msg 505 179 0; #X obj 524 242 + 1; #X obj 488 313 * 20; #X msg 463 157 20; #X msg 637 125 400; #X obj 314 297 until; #X obj 314 329 f; #X obj 386 381 + 1; #X obj 314 376 t f f f f; #X obj 313 434 pack f f; #X obj 329 137 until; #X obj 329 169 f; #X msg 371 137 0; #X obj 406 212 + 1; #X obj 354 271 * 20; #X msg 314 275 20; #X msg 329 115 19; #X obj 315 406 + 20; #X obj 148 299 until; #X obj 148 331 f; #X obj 220 383 + 1; #X obj 148 378 t f f f f; #X obj 147 436 pack f f; #X obj 163 139 until; #X obj 163 171 f; #X msg 205 139 0; #X obj 248 219 + 1; #X obj 188 273 * 20; #X msg 163 117 19; #X msg 148 277 19; #X obj 149 408 + 21; #X obj 0 290 until; #X obj 0 322 f; #X obj 72 374 + 1; #X obj 0 369 t f f f f; #X obj -1 427 pack f f; #X obj 15 130 until; #X obj 15 162 f; #X msg 57 130 0; #X obj 73 213 + 1; #X obj 40 264 * 20; #X msg 15 108 19; #X msg 0 268 19; #X obj 56 407 + 1; #X obj 14 237 t b f f; #X obj 162 246 t b f f; #X obj 328 244 t b f f; #X obj 462 286 t b f f; #X obj 2 399 + 20; #X msg 846 276 min -9 -9 \, max 29 29; #X msg 1 455 link mesh \$1 \$2 0.03 0.1; #X msg 152 463 link mesh \$1 \$2 0.03 0.1; #X msg 316 462 link mesh \$1 \$2 0.03 0.1; #X msg 448 501 link mesh \$1 \$2 0.03 0.1; #X connect 0 0 2 0; #X connect 1 0 2 0; #X connect 2 2 74 0; #X connect 2 4 66 0; #X connect 2 6 53 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 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 restore 52 126 pd creation; #X obj 69 224 gemhead; #X obj 69 247 t b; #X obj 54 45 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #N canvas 485 216 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 345 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 323 route linkEnd testLink; #X msg 151 366 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 345 route break plastic; #X msg 207 197 bang \, forceY net -1e-05 \,; #X msg 451 38 0; #X obj 451 14 loadbang; #X msg 239 169 iCircle net \$1 \$2 1 -0.1 1 0 0 0 1; #X msg 207 32 20; #X obj 26 -19 declare -lib Gem -path ../; #X text 62 452 Click and drag the mouse cursor over the object : you can interact with it. If forces in the links are superior to 0.002 \, the connection lenght will adapt a bit (plastic deformation). If forces are even bigger (> 0.03) \, the link will break.; #X text 239 7 simulation speed x20; #X text 378 367 link with forces > 0.03 breaks; #X text 350 398 link with forces > 0.002 adpats 1% of their length ; #X text 186 280 ask pmpd to test the forces of each links; #X msg 69 268 linkEnd mesh; #X msg 185 245 testLink break Id mesh forceSup 0.03 \, testLink plastic Id mesh forceSup 0.002; #X msg 206 396 setLCurrent mesh 0.01; #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 40 0; #X connect 6 0 8 0; #X connect 9 0 10 0; #X connect 10 0 32 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 33 0; #X connect 17 0 29 0; #X connect 17 0 14 0; #X connect 17 0 41 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 42 0; #X connect 29 0 0 0; #X connect 30 0 20 0; #X connect 31 0 30 0; #X connect 32 0 0 0; #X connect 33 0 17 0; #X connect 40 0 0 0; #X connect 41 0 0 0; #X connect 42 0 0 0;