aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2013-05-09 14:20:01 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2013-05-09 14:20:01 +0000
commit32fa9bd1815502bf47bc07e02996a00b2a38d4fb (patch)
tree9f171ed04397234be9c160694f7cf812aa701548
parentf4724e3c3965fd72adadb3cefd12cf0b69cb6878 (diff)
help update in order to add all new messages
svn path=/trunk/externals/pmpd/; revision=17126
-rw-r--r--pmpd-help.pd624
-rw-r--r--pmpd2d-help.pd879
-rw-r--r--pmpd3d-help.pd409
3 files changed, 1062 insertions, 850 deletions
diff --git a/pmpd-help.pd b/pmpd-help.pd
index 8dc88d6..3e2c339 100644
--- a/pmpd-help.pd
+++ b/pmpd-help.pd
@@ -1,32 +1,32 @@
-#N canvas 427 32 575 730 10;
+#N canvas 1190 226 566 769 10;
#X obj 4 369 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 689 cnv 15 550 40 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 5 709 cnv 15 550 40 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 8 6 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 14 389 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 14 604 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 14 624 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 547 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 567 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 4 582 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 602 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 7 76 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 639 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 5 659 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 659 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 5 679 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 12 76 Examples:;
#X text 9 369 Inlets:;
#X text 19 388 - Left:;
-#X text 10 546 Arguments:;
-#X text 11 582 Outlets:;
-#X text 19 639 See Also:;
+#X text 10 566 Arguments:;
+#X text 11 602 Outlets:;
+#X text 19 659 See Also:;
#X text 74 48 Full Name:;
-#N canvas 58 22 262 70 Related_Objects 0;
+#N canvas 58 50 262 70 Related_Objects 0;
#X obj 3 10 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 3 30 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577
@@ -34,7 +34,7 @@
#X text 5 10 Externals and libraries;
#X obj 44 37 pmpd2d;
#X obj 140 37 pmpd3d;
-#X restore 122 695 pd Related_Objects;
+#X restore 122 715 pd Related_Objects;
#N canvas 541 387 524 302 init 0;
#X msg 89 187 Xmax 127 \, Xmin 0;
#X obj 89 215 t a;
@@ -65,9 +65,9 @@ souple 3 2 1 0.5;
#X obj 17 344 s \$0-out;
#X obj 17 295 r \$0-in;
#X obj 261 184 vsl 15 127 0 127 0 0 empty empty Drag-----> -70 60 1
-10 -262144 -1 -1 3000 1;
+10 -262144 -1 -1 0 1;
#X obj 292 184 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 3004 1;
+-1 -1 0 1;
#X obj 261 345 s \$0-in;
#X msg 261 322 posX fix \$1;
#N canvas 565 515 355 193 compute 0;
@@ -86,225 +86,127 @@ souple 3 2 1 0.5;
-1 -1;
#X obj 261 131 route massesPosL;
#X obj 311 184 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 3008 1;
+-1 -1 0 1;
#X obj 330 184 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 3010 1;
+-1 -1 0 1;
#X obj 261 152 unpack f f f f;
#X text 101 388 Bang - A bang at the left inlet compute the new model
state based on previous instant.;
#X text 188 478 To set the model parameters after creation.;
#X text 188 456 To create the model masses and links.;
#X text 186 512 To get the model parameters;
-#X text 103 562 None;
-#X text 18 603 - Left:;
-#X text 101 604 Outputs the model parameters asked with the attributes
+#X text 103 582 None;
+#X text 18 623 - Left:;
+#X text 101 624 Outputs the model parameters asked with the attributes
messages.;
#X text 101 420 Messages - Different messages are used to control the
msd object. They are of three types :;
-#X text 9 661 CATEGORY: control;
-#X text 9 671 KEYWORDS: physical model mass spring damper link;
-#X text 111 639 01_msdtest.pd;
+#X text 9 681 CATEGORY: control;
+#X text 9 691 KEYWORDS: physical model mass spring damper link;
+#X text 111 659 01_msdtest.pd;
#X obj 157 48 pmpd;
#X text 12 8 HELP: pmpd;
#X text 12 20 DESCRIPTION: physical modeling for pd \, based on msd.
;
#X obj 17 319 pmpd;
-#X text 266 696 - Cyrille Henry \, 2011;
-#X text 283 712 based on MSD by Nicolas Montgermont;
+#X text 266 716 - Cyrille Henry \, 2011;
+#X text 283 732 based on MSD by Nicolas Montgermont;
#X obj 17 187 loadbang;
-#N canvas 446 66 1236 814 links_attributes 0;
+#N canvas 414 430 1213 533 links_attributes 0;
#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 10 108 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 10 248 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 87 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 227 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 7 2 ATTRIBUTES Messages;
-#X text 7 87 Lists :;
-#X obj 11 222 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X text 7 227 Lists :;
+#X obj 11 302 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 11 335 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 11 358 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 611 26 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 611 26 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 605 5 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 612 140 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X obj 612 253 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X text 369 530 \$1 (optional): Masses Id;
-#X text 834 500 \$2 (optional): Masses Id;
-#X text 833 487 \$1 : table name;
-#X obj 17 584 cnv 15 150 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 11 564 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X msg 22 597 massesPosMean;
-#X text 177 613 \$1 : none or Id;
-#X msg 23 629 massesPosStd \$1;
-#X text 179 644 \$1 : none or Id;
-#X text 173 597 output the average position of masses;
-#X text 174 628 output the standard deviation of masses position;
-#X text 177 674 \$1 : none or Id;
-#X text 179 711 \$1 : none or Id;
-#X text 173 658 output the average position of masses;
-#X text 174 695 output the standard deviation of masses position;
-#X text 177 749 \$1 : none or Id;
-#X text 178 786 \$1 : none or Id;
-#X text 173 733 output the average position of masses;
-#X text 173 770 output the standard deviation of masses position;
-#X msg 22 696 massesForcesStd \$1;
-#X msg 22 658 massesForcesMean;
-#X msg 23 735 massesSpeedsMean;
-#X msg 22 771 massesSpeedsStd \$1;
+#X obj 612 80 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 612 133 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 349 475 \$1 (optional): Masses Id;
+#X text 834 260 \$2 (optional): Masses Id;
+#X text 833 247 \$1 : table name;
#X text 608 5 tables :;
#X text 15 30 The attributes messages ask the object to output some
of his internal parameters. They can be output by lists for positions
and forces of links;
-#X text 14 564 statistics (not implemented yet) :;
-#X msg 11 119 linksPosL (\$1);
-#X text 170 120 Output all links center positions in a list on outlet
+#X text 170 260 Output all links center positions in a list on outlet
No 1;
-#X msg 11 138 linksPosXL (\$1);
-#X msg 13 229 linksLengthL (\$1);
-#X msg 13 248 linksLengthXL (\$1);
-#X obj 12 451 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X msg 14 458 linksLengthSpeedL (\$1);
-#X msg 14 477 linksLengthSpeedXL (\$1);
-#X text 184 459 Output all link lenght deformation speed in a list
+#X obj 12 414 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 184 422 Output all link lenght deformation speed in a list
on outlet No 1;
-#X msg 615 38 linksPosT \$1 (\$2);
-#X msg 616 57 linksPosXT \$1 (\$2);
-#X msg 616 152 linksLengthT \$1 (\$2);
-#X obj 612 369 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X text 808 377 Output all link lenght deformation speed in a list
+#X obj 612 189 cnv 15 150 50 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 808 197 Output all link lenght deformation speed in a list
on outlet No 1;
-#X msg 614 376 linksLengthSpeedT \$1 (\$2);
-#X msg 613 395 linksLengthSpeedXT \$1 (\$2);
#X text 793 47 Output all links center positions in a table (\$1);
-#X text 170 233 Output all link lenght in a list on outlet No 1;
-#X text 171 349 Output all link center speed in a list on outlet No
+#X text 170 313 Output all link lenght in a list on outlet No 1;
+#X text 171 372 Output all link center speed in a list on outlet No
1;
-#X text 797 154 Output all link length in a list on outlet No 1;
-#X msg 16 342 linksPosSpeedL (\$1);
-#X msg 16 361 linksPosSpeedXL (\$1);
-#X msg 616 259 linksPosSpeedT \$1 (\$2);
-#X text 795 264 Output all link center speed in a list on outlet No
+#X text 797 94 Output all link length in a list on outlet No 1;
+#X text 795 144 Output all link center speed in a list on outlet No
1;
-#X msg 616 171 linksLengthXT \$1 (\$2);
-#X msg 616 278 linksPosSpeedXT \$1 (\$2);
-#X restore 12 519 pd links_attributes ___;
-#N canvas 50 22 1230 682 attributes__________ 0;
-#X obj 11 95 cnv 15 100 35 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 5 75 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 10 157 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 8 95 cnv 15 150 100 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 137 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 12 283 cnv 15 110 380 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 6 259 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 7 74 General :;
-#X text 7 2 ATTRIBUTES Messages;
-#X text 7 137 Lists :;
-#X text 142 299 Get specific attribute on specific element;
-#X msg 22 297 get \$1 (\$2);
-#X text 9 259 Specific :;
-#X text 142 400 The get message return the asked attribute preceded
-by an identifier and the creation No of the element. The identifier
-is made of the asked parameter and the way you asked for it.;
-#X text 143 476 message;
-#X text 383 476 response;
-#X text 142 457 Examples with 3 masses numbered 0 \, 1 and 2 and named
-mas:;
-#X text 148 566 [get massesPos mas( -----> [massesPosId 0 x0(;
-#X text 176 495 [get massesPos( -----> [massesPos 0 x0(;
-#X text 162 545 [get massesPos 1( -----> [massesPosNo 1 x1(;
-#X text 15 30 The attributes messages ask the object to output some
-of his internal parameters. They can be output by lists for positions
-and forces of masses.;
-#X text 142 367 (\$2) : - If not defined all the attributes are send
-for all the elements. - Ids or/and creations No;
-#X msg 33 104 print;
-#X text 136 104 print infos on all masses and links on right outlet
-;
-#X text 171 170 Output all masses positions in a list on outlet;
-#X text 169 199 Output all forces applied on masses in a list on outlet
+#X text 172 100 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 170 229 Output all speeds of the masses in a list on outlet
+#X text 172 160 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 142 324 \$1 : Attribute type ( massesPos / massesPosName /
-massesSpeeds / massesSpeedsName / massesForces / massesForcesName /
-linksPos / linksPosName );
-#X text 148 615 [get massesPosName( -----> [massesPosName mas x0(;
-#X obj 608 157 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 602 137 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 608 278 cnv 15 150 270 empty empty empty 20 12 0 14 -233017
+#X msg 12 103 linkPos [\$1];
+#X msg 12 163 linkEnd [\$1];
+#X text 173 120 output a message for every links :;
+#X text 173 180 output a message for every links :;
+#X obj 2 76 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 5 76 generic :;
+#X text 202 137 linkPos symbolId number center;
+#X text 172 196 linkEnd symbolId number posX1 posX2;
+#X obj 614 323 cnv 15 150 200 empty empty empty 20 12 0 14 -233017
-66577 0;
-#X obj 602 258 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 605 258 statistics :;
-#X msg 613 291 massesPosMean;
-#X text 768 307 \$1 : none or Id;
-#X text 605 137 Tables :;
-#X msg 614 329 massesPosStd \$1;
-#X text 770 344 \$1 : none or Id;
-#X text 764 291 output the average position of masses;
-#X text 765 328 output the standard deviation of masses position;
-#X text 768 394 \$1 : none or Id;
-#X text 770 431 \$1 : none or Id;
-#X text 764 378 output the average position of masses;
-#X text 765 415 output the standard deviation of masses position;
-#X text 768 479 \$1 : none or Id;
-#X text 769 516 \$1 : none or Id;
-#X text 764 463 output the average position of masses;
-#X text 764 500 output the standard deviation of masses position;
-#X msg 613 416 massesForcesStd \$1;
-#X msg 613 378 massesForcesMean;
-#X msg 614 465 massesSpeedsMean;
-#X msg 613 501 massesSpeedsStd \$1;
-#X msg 610 170 massesPosT \$1 (\$2);
-#X msg 610 198 massesForcesT \$1 (\$2);
-#X msg 611 228 massesSpeedsT \$1 (\$2);
-#X text 770 169 Output all masses positions in a table (\$1 = table
-name \, \$2 (optional): Masses Id);
-#X text 768 198 Output all forces applied on masses in a table (\$1
-= table name \, \$2 (optional): Masses Id);
-#X text 768 229 Output all speeds of the masses in a table (\$1 = table
-name \, \$2 (optional): Masses Id);
-#X msg 16 170 massesPosL (\$1);
-#X msg 16 198 massesForcesL (\$1);
-#X msg 16 228 massesSpeedsL (\$1);
-#X text 170 183 \$1 (optional): Masses Id;
-#X text 170 213 \$1 (optional): Masses Id;
-#X text 171 242 \$1 (optional): Masses Id;
-#X text 337 509 [massesPos 1 x1(;
-#X text 337 523 [massesPos 2 x2(;
-#X text 338 630 [massesPosName mas x1(;
-#X text 339 645 [massesPosName mas x2(;
-#X text 337 581 [massesPosId 1 x1(;
-#X text 337 596 [massesPosId 2 x2(;
-#X obj 607 572 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 601 552 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 767 600 output the closest mass;
-#X text 766 614 \$1 : position;
-#X text 604 552 others :;
-#X msg 612 600 closestMass \$1 (\$2);
-#X text 766 629 \$2 : none or Id;
-#X restore 12 499 pd attributes__________;
-#N canvas 141 69 1139 731 dynamic 0;
+#X obj 608 302 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 611 302 tables :;
+#X msg 628 331 linkEndT \$1 [\$2];
+#X text 790 331 Put position of the 2 link end on a table [\$1] \,
+filter on link id is possible;
+#X msg 640 351 linkEnd1T \$1 [\$2];
+#X msg 639 371 linkEnd2T \$1 [\$2];
+#X msg 638 392 linkEndXT \$1 [\$2];
+#X msg 638 411 linkEnd1XT \$1 [\$2];
+#X msg 638 431 linkEnd2XT \$1 [\$2];
+#X msg 639 453 linkEndYT \$1 [\$2];
+#X msg 641 473 linkEnd1YT \$1 [\$2];
+#X msg 640 493 linkEnd2YT \$1 [\$2];
+#X text 795 363 table is posX1 posY1 posX2 posY2 ....;
+#X msg 11 259 linkPosL (\$1);
+#X msg 11 278 linkPosXL (\$1);
+#X msg 13 309 linkLengthL (\$1);
+#X msg 13 328 linkLengthXL (\$1);
+#X msg 16 365 linkPosSpeedL (\$1);
+#X msg 16 384 linkPosSpeedXL (\$1);
+#X msg 14 421 linkLengthSpeedL (\$1);
+#X msg 14 440 linkLengthSpeedXL (\$1);
+#X msg 615 38 linkPosT \$1 (\$2);
+#X msg 616 57 linkPosXT \$1 (\$2);
+#X msg 616 92 linkLengthT \$1 (\$2);
+#X msg 616 111 linkLengthXT \$1 (\$2);
+#X msg 616 139 linkPosSpeedT \$1 (\$2);
+#X msg 616 158 linkPosSpeedXT \$1 (\$2);
+#X msg 614 196 linkLengthSpeedT \$1 (\$2);
+#X msg 613 215 linkLengthSpeedXT \$1 (\$2);
+#X restore 12 519 pd links_attributes ___;
+#N canvas 306 101 1146 821 dynamic 0;
#X obj 5 3 cnv 15 550 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 10 85 cnv 15 130 580 empty empty empty 20 12 0 14 -233017 -66577
@@ -318,14 +220,11 @@ name \, \$2 (optional): Masses Id);
#X text 7 62 Masses :;
#X text 571 62 Links :;
#X text 7 2 DYNAMIC SETTINGS Messages;
-#X msg 31 96 posX \$1 \$2;
#X text 190 144 Add force on mass(es);
#X msg 30 152 forceX \$1 \$2;
#X text 192 212 \$1 : Value;
#X text 193 107 \$1 : Id (symbol) or No;
#X text 193 161 \$1 : Id (symbol) or No;
-#X msg 30 195 Xmin \$1;
-#X msg 30 217 Xmax \$1;
#X msg 29 244 setMobile \$1;
#X msg 29 265 setFixed \$1;
#X text 193 89 Set position of fixed mass(es);
@@ -348,43 +247,85 @@ name \, \$2 (optional): Masses Id);
#X text 191 261 \$1 : Id (symbol) or No;
#X text 10 25 Dynamic settings messages allows the user to redefine
internal parameters of links and masses.;
-#X msg 28 286 setDEnv \$1;
-#X text 184 287 Change environement damping;
-#X text 196 304 \$1 : damping;
-#X msg 588 280 setLinkId \$1 \$2;
-#X text 742 281 Change the Id of a link;
-#X text 743 298 \$1 : link (number or Id);
-#X text 746 315 \$2 : New Id;
-#X msg 591 353 setLKTab \$1 \$2;
-#X text 750 353 change the table (K) size of a non linear link;
-#X text 751 373 \$1 : link (number or Id);
-#X text 752 390 \$2 : New KL;
-#X text 751 435 \$1 : link (number or Id);
-#X msg 591 415 setLDTab \$1 \$2;
-#X text 750 415 change the table (D) size of a non linear link;
-#X text 752 452 \$2 : New DL;
-#X text 191 373 \$2 : New Id;
-#X msg 25 339 setMassId \$1 \$2;
-#X text 191 339 Change the Id of a mass;
-#X text 192 356 \$1 : mass (number or Id);
-#X msg 23 400 setForce \$1 \$2;
-#X msg 23 468 setSpeed \$1 \$2;
-#X msg 24 531 addPos \$1 \$2;
-#X text 186 420 \$1 : Id (symbol) or No;
-#X text 186 438 \$2 : Value;
-#X text 183 403 set force on mass(es);
-#X text 185 487 \$1 : Id (symbol) or No;
-#X text 185 505 \$2 : Value;
-#X text 182 470 set speed of a mass(es);
-#X text 184 548 \$1 : Id (symbol) or No;
-#X text 184 566 \$2 : Value;
-#X text 181 531 add pos of a mass(es);
-#X text 183 592 grab a mass \, and move it;
-#X text 185 610 \$1 : position;
-#X text 185 626 \$2 : grab or not (0 or 1);
-#X msg 26 593 grabMass \$1 \$2;
+#X msg 26 610 setDEnv \$1;
+#X text 173 612 Change environement damping;
+#X text 185 629 \$1 : damping;
+#X msg 584 358 setLinkId \$1 \$2;
+#X text 738 359 Change the Id of a link;
+#X text 739 376 \$1 : link (number or Id);
+#X text 742 393 \$2 : New Id;
+#X msg 587 431 setLKTab \$1 \$2;
+#X text 746 431 change the table (K) size of a non linear link;
+#X text 747 451 \$1 : link (number or Id);
+#X text 748 468 \$2 : New KL;
+#X text 747 513 \$1 : link (number or Id);
+#X msg 587 493 setLDTab \$1 \$2;
+#X text 746 493 change the table (D) size of a non linear link;
+#X text 748 530 \$2 : New DL;
+#X text 190 401 \$2 : New Id;
+#X msg 24 367 setMassId \$1 \$2;
+#X text 190 367 Change the Id of a mass;
+#X text 191 384 \$1 : mass (number or Id);
+#X msg 22 428 setForce \$1 \$2;
+#X msg 22 496 setSpeed \$1 \$2;
+#X msg 23 559 addPos \$1 \$2;
+#X text 185 448 \$1 : Id (symbol) or No;
+#X text 185 466 \$2 : Value;
+#X text 182 431 set force on mass(es);
+#X text 184 515 \$1 : Id (symbol) or No;
+#X text 184 533 \$2 : Value;
+#X text 181 498 set speed of a mass(es);
+#X text 183 576 \$1 : Id (symbol) or No;
+#X text 183 594 \$2 : Value;
+#X text 180 559 add pos of a mass(es);
+#X text 185 299 grab a mass \, and move it;
+#X text 187 317 \$1 : position;
+#X text 187 333 \$2 : grab or not (0 or 1);
+#X msg 28 300 grabMass \$1 \$2;
+#X msg 31 96 SetPosX \$1 \$2;
+#X msg 31 116 SetPos \$1 \$2;
+#X msg 30 172 force \$1 \$2;
+#X msg 30 195 minX \$1;
+#X msg 30 217 maxX \$1;
+#X msg 90 195 min \$1;
+#X msg 90 217 max \$1;
+#X text 180 690 \$2 : damping;
+#X text 179 675 \$1 : Id (symbol) or No;
+#X msg 16 659 setDEnvOffset \$1 \$2;
+#X text 168 659 Change environement damping offset;
+#X msg 22 448 setForceX \$1 \$2;
+#X msg 22 516 setSpeedX \$1 \$2;
+#X msg 23 579 addPosX \$1 \$2;
+#X text 721 272 Set initial lenght of link(s);
+#X text 727 290 \$1 : Id (symbol) or No;
+#X msg 581 271 setLCurrent \$1 [\$2];
+#X text 727 308 \$2 : mix between link size (0) and curent length (1)
+;
+#X text 722 326 if no \$2 arg is provide \, then L is set to curent
+length;
+#X text 600 786 if only 1 argument is previded \, message generally
+used this argument as the value applayed to all masses (or link);
+#X text 746 596 \$1 : link (number or Id);
+#X text 745 552 \$1 : link (number or Id);
+#X msg 586 576 setActive \$1 \$2;
+#X msg 585 532 setInactive \$1 \$2;
+#X text 744 532 did not compute a link anymore;
+#X text 745 576 compute the link at each bang;
+#X text 741 663 \$1 : link (number or Id);
+#X msg 586 620 setOverdamp \$1 \$2;
+#X text 741 677 \$2 : overdamp value;
+#X text 740 621 Change the overdamp of a link. i.e a strange parametter
+that amplifie forces that oposed to movment. Use at your own risk.
+;
+#X text 743 724 \$1 : link (number or Id);
+#X msg 588 705 setEnd \$1 \$2 \$3;
+#X text 742 740 \$2 : mass number for end 1;
+#X text 742 707 Change the masses a link is connected to;
+#X text 741 756 \$3 : mass number for end 2;
+#X msg 600 728 setEnd1 \$1 \$2;
+#X msg 600 750 setEnd2 \$1 \$2;
#X restore 12 478 pd dynamic settings ___;
-#N canvas 818 245 561 671 creation____________ 0;
+#N canvas 1072 165 630 814 creation____________ 0;
#X obj 11 95 cnv 15 100 35 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 5 75 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
@@ -392,50 +333,52 @@ internal parameters of links and masses.;
#X obj 5 3 cnv 15 550 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 7 2 CREATION Messages;
-#X obj 10 156 cnv 15 150 140 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 10 186 cnv 15 150 140 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 137 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 167 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 10 332 cnv 15 240 220 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 10 362 cnv 15 240 220 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 3 308 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 3 338 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X msg 32 104 reset;
-#X text 202 167 Add a mass;
-#X text 288 168 \$1 : Id (symbol);
-#X text 287 188 \$2 : fixed or mobile (0/1);
-#X text 287 206 \$3 : mass;
-#X msg 32 167 mass \$1 \$2 \$3 \$4;
-#X text 287 224 \$4 : initial position;
-#X text 7 137 Masses :;
+#X text 202 197 Add a mass;
+#X text 288 198 \$1 : Id (symbol);
+#X text 287 218 \$2 : fixed or mobile (0/1);
+#X text 287 236 \$3 : mass;
+#X msg 32 197 mass \$1 \$2 \$3 \$4;
+#X text 287 254 \$4 : initial position;
+#X text 7 167 Masses :;
#X text 7 74 Reset :;
#X text 129 105 Delete all masses \, links and internal variables;
-#X text 6 308 Links :;
-#X text 271 360 \$1 : Id (symbol);
-#X text 271 360 \$1 : Id (symbol);
-#X text 271 413 \$4 : rigidity;
-#X text 271 378 \$2 : creation No/Id of mass1;
-#X text 271 396 \$3 : creation No/Id of mass2;
-#X text 266 341 Add link(s);
-#X text 271 431 \$5 : damping;
+#X text 6 338 Links :;
+#X text 271 390 \$1 : Id (symbol);
+#X text 271 390 \$1 : Id (symbol);
+#X text 271 443 \$4 : rigidity;
+#X text 271 408 \$2 : creation No/Id of mass1;
+#X text 271 426 \$3 : creation No/Id of mass2;
+#X text 266 371 Add link(s);
+#X text 271 461 \$5 : damping;
#X text 10 28 Creation messages are used to define the structure of
the model. Messages create links and masses or destroy them.;
-#X msg 30 341 link \$1 \$2 \$3 \$4 \$5 (\$6 \$7 \$8);
-#X text 271 449 \$6 : Power of the rigidity distance;
-#X msg 35 519 tabLink \$1 \$2 \$3 \$4 \$5 \$6 \$7;
-#X text 267 468 (\$7) : minimum lenght of link;
-#X text 268 485 (\$8) : maximum lenght of link;
-#X text 266 535 \$1 : Id (symbol);
-#X text 266 535 \$1 : Id (symbol);
-#X text 266 553 \$2 : creation No/Id of mass1;
-#X text 266 571 \$3 : creation No/Id of mass2;
-#X text 261 516 Add non linear link(s);
-#X text 264 588 \$4 : table name for the rigidity;
-#X text 264 606 \$5 : length of the table;
-#X text 264 624 \$6 : table name for the damping;
-#X text 263 643 \$7 : length of the table;
+#X text 271 479 \$6 : Power of the rigidity distance;
+#X msg 35 549 tabLink \$1 \$2 \$3 \$4 \$5 \$6 \$7;
+#X text 267 498 (\$7) : minimum lenght of link;
+#X text 268 515 (\$8) : maximum lenght of link;
+#X text 266 565 \$1 : Id (symbol);
+#X text 266 565 \$1 : Id (symbol);
+#X text 266 583 \$2 : creation No/Id of mass1;
+#X text 266 601 \$3 : creation No/Id of mass2;
+#X text 261 546 Add non linear link(s);
+#X text 264 618 \$4 : table name for the rigidity;
+#X text 264 636 \$5 : length of the table;
+#X text 264 654 \$6 : table name for the damping;
+#X text 263 673 \$7 : length of the table;
+#X msg 33 131 print;
+#X text 103 131 post surrent physical model topology;
+#X msg 30 371 link \$1 \$2 \$3 \$4 \$5 [\$6 [\$7 [\$8 ]]];
#X restore 12 457 pd creation____________;
-#N canvas 0 22 901 640 More_Info 0;
+#N canvas 0 50 901 640 More_Info 0;
#X text 96 12 pmpd : mass - spring - damper model;
#X text 27 155 Be careful : if masses are deleted \, lists messages
won't work;
@@ -449,7 +392,7 @@ links \, or manually \, by messages \, don't do anything.;
-1;
#X obj 426 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity1 4 float 1;
#A 0 -1 0 1 2;
#X array - 4 float 1;
@@ -572,7 +515,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X connect 44 0 36 0;
#X restore 27 304 pd figure;
#X text 105 375 Rigidity;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity2 101 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 -60 -58.5 -57 -55.5 -54 -52.5 -51 -49.5 -48
-46.5 -45 -43.5 -42 -40.5 -39 -37.5 -36 -34.5 -33 -31.5 -30 -28.5 -27
@@ -591,7 +534,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X text 466 374 Rigidity with Lmin and Lmax;
#X text 563 583 Lmin;
#X text 625 582 Lmax;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity3 51 float 1;
#A 0 -4.47214 -4.3589 -4.24264 -4.12311 -4 -3.87298 -3.74166 -3.60555
-3.4641 -3.31662 -3.16228 -3 -2.82843 -2.64575 -2.44949 -2.23607 -2
@@ -606,7 +549,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X restore 241 428 graph;
#X text 314 581 L0;
#X text 257 375 Rigidity with power = 1/2;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity4 51 float 1;
#A 0 0 -400 -361 -324 -289 -256 -225 -196 -169 -144 -121 -100 -81 -64
-49 -36 -25 -16 -9 -4 -1 0 1 4 9 16 25 36 49 64 81 100 121 144 169
@@ -642,7 +585,146 @@ their Id.;
#X text 28 41 pmpd is the 2D object of the pmpd objects collection.
;
#X connect 3 0 4 0;
-#X restore 18 695 pd More_Info;
+#X restore 18 715 pd More_Info;
+#N canvas 809 128 638 809 masses_attributes___ 0;
+#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 10 307 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 4 287 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 7 2 ATTRIBUTES Messages;
+#X text 7 287 Lists :;
+#X text 15 30 The attributes messages ask the object to output some
+of his internal parameters. They can be output by lists for positions
+and forces of masses.;
+#X text 171 320 Output all masses positions in a list on outlet;
+#X text 169 349 Output all forces applied on masses in a list on outlet
+;
+#X text 170 379 Output all speeds of the masses in a list on outlet
+;
+#X obj 14 438 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 418 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 11 418 Tables :;
+#X text 176 450 Output all masses positions in a table (\$1 = table
+name \, \$2 (optional): Masses Id);
+#X text 174 479 Output all forces applied on masses in a table (\$1
+= table name \, \$2 (optional): Masses Id);
+#X text 174 510 Output all speeds of the masses in a table (\$1 = table
+name \, \$2 (optional): Masses Id);
+#X text 170 333 \$1 (optional): Masses Id;
+#X text 170 363 \$1 (optional): Masses Id;
+#X text 171 392 \$1 (optional): Masses Id;
+#X obj 11 669 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 5 649 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 171 677 output the closest mass;
+#X text 170 691 \$1 : position;
+#X text 8 649 others :;
+#X msg 16 677 closestMass \$1 (\$2);
+#X text 170 706 \$2 : none or Id;
+#X obj 5 75 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 7 74 General :;
+#X obj 10 97 cnv 15 150 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 14 105 massPos [\$1];
+#X text 187 106 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 126 output a message for every masses :;
+#X text 218 143 massPos symbolId number posX posY posZ;
+#X text 187 166 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 186 output a message for every masses :;
+#X text 218 203 massPos symbolId number speedX speedY speedZ;
+#X text 187 225 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 241 output a message for every masses :;
+#X msg 14 224 massForce [\$1];
+#X text 218 258 massPos symbolId number forceX forceY forceZ;
+#X msg 14 165 massSpeed [\$1];
+#X obj 12 546 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 172 600 \$1 : table name;
+#X text 171 619 \$2 : masses name;
+#X text 170 577 apply a force to masses. Force come from a table;
+#X obj 13 567 cnv 15 150 40 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 21 574 forceXT \$1 [\$2];
+#X text 15 546 Table in:;
+#X text 178 733 output a series of message :;
+#X msg 15 732 massDistance [\$1 [\$2]];
+#X text 193 747 distance mass1 mass2 distanceX \, distanceY \, distanceZ
+\, distance;
+#X msg 16 320 massPosL (\$1);
+#X msg 16 348 massForceL (\$1);
+#X msg 17 377 massSpeedL (\$1);
+#X msg 16 451 massPosT \$1 (\$2);
+#X msg 16 479 massForceT \$1 (\$2);
+#X msg 17 509 massSpeedT \$1 (\$2);
+#X restore 12 499 pd masses_attributes___;
+#N canvas 888 238 700 758 statistics 0;
+#X obj 25 41 cnv 15 150 270 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 19 21 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 185 70 \$1 : none or Id;
+#X text 186 113 \$1 : none or Id;
+#X text 185 163 \$1 : none or Id;
+#X text 187 194 \$1 : none or Id;
+#X text 185 242 \$1 : none or Id;
+#X text 186 279 \$1 : none or Id;
+#X msg 30 54 massPosMean;
+#X msg 31 92 massPosStd \$1;
+#X msg 30 141 massForceMean;
+#X msg 30 179 massForceStd \$1;
+#X msg 31 228 massSpeedMean;
+#X msg 30 262 massSpeedStd \$1;
+#X text 182 178 output the standard deviation of masses force;
+#X text 181 263 output the standard deviation of masses velocity;
+#X text 22 21 masses :;
+#X obj 29 357 cnv 15 150 350 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 23 337 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 191 389 \$1 : none or Id;
+#X text 190 421 \$1 : none or Id;
+#X text 192 467 \$1 : none or Id;
+#X text 194 504 \$1 : none or Id;
+#X text 187 562 \$1 : none or Id;
+#X text 193 597 \$1 : none or Id;
+#X msg 38 402 linkPosStd \$1;
+#X msg 37 489 linkLengthStd \$1;
+#X msg 37 572 linkPosSpeedStd \$1;
+#X text 194 637 \$1 : none or Id;
+#X text 196 674 \$1 : none or Id;
+#X msg 38 658 linkLengthSpeedStd \$1;
+#X msg 37 364 linkPosMean \$1;
+#X msg 37 450 linkLengthMean \$1;
+#X msg 38 538 linkPosSpeedMean \$1;
+#X msg 39 618 linkLengthSpeedMean \$1;
+#X text 189 404 output the standard deviation of link center position
+;
+#X text 189 488 output the standard deviation of links length;
+#X text 192 572 output the standard deviation of links center position
+velocity;
+#X text 191 658 output the standard deviation of links length change
+;
+#X text 26 337 links :;
+#X text 181 141 output the average force applyed to masses;
+#X text 181 54 output the average position of masses;
+#X text 182 91 output the standard deviation of masses position;
+#X text 181 226 output the average velocity of masses;
+#X text 188 361 output the average position of links center;
+#X text 188 451 output the average links length;
+#X text 188 536 output the average center position velocity of links
+;
+#X text 190 619 output the average change in links length;
+#X restore 13 541 pd statistics _________;
+#X text 187 543 To get statistical data of the simulation;
#X connect 20 0 47 0;
#X connect 21 0 24 0;
#X connect 24 0 23 0;
diff --git a/pmpd2d-help.pd b/pmpd2d-help.pd
index fb5ad7a..8792fa8 100644
--- a/pmpd2d-help.pd
+++ b/pmpd2d-help.pd
@@ -1,25 +1,25 @@
-#N canvas 622 37 571 767 10;
-#X obj 4 369 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#N canvas 587 248 571 767 10;
+#X obj 4 309 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 685 cnv 15 550 30 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 5 705 cnv 15 550 30 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 8 6 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 14 389 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 14 339 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 14 604 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 14 624 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 547 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 567 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 4 582 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 602 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 7 76 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 635 cnv 15 550 20 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 5 655 cnv 15 550 20 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 5 655 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 5 675 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577
0;
-#N canvas 0 22 901 640 More_Info 0;
+#N canvas 1 83 901 640 More_Info 0;
#X text 96 12 pmpd : mass - spring - damper model;
#X text 27 155 Be careful : if masses are deleted \, lists messages
won't work;
@@ -33,7 +33,7 @@ links \, or manually \, by messages \, don't do anything.;
-1;
#X obj 426 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity1 4 float 1;
#A 0 -1 0 1 2;
#X array - 4 float 1;
@@ -156,7 +156,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X connect 44 0 36 0;
#X restore 27 304 pd figure;
#X text 105 375 Rigidity;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity2 101 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 -60 -58.5 -57 -55.5 -54 -52.5 -51 -49.5 -48
-46.5 -45 -43.5 -42 -40.5 -39 -37.5 -36 -34.5 -33 -31.5 -30 -28.5 -27
@@ -175,7 +175,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X text 466 374 Rigidity with Lmin and Lmax;
#X text 563 583 Lmin;
#X text 625 582 Lmax;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity3 51 float 1;
#A 0 -4.47214 -4.3589 -4.24264 -4.12311 -4 -3.87298 -3.74166 -3.60555
-3.4641 -3.31662 -3.16228 -3 -2.82843 -2.64575 -2.44949 -2.23607 -2
@@ -190,7 +190,7 @@ rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0
#X restore 241 428 graph;
#X text 314 581 L0;
#X text 257 375 Rigidity with power = 1/2;
-#N canvas 0 22 450 300 (subpatch) 0;
+#N canvas 0 50 450 300 (subpatch) 0;
#X array rigidity4 51 float 1;
#A 0 0 -400 -361 -324 -289 -256 -225 -196 -169 -144 -121 -100 -81 -64
-49 -36 -25 -16 -9 -4 -1 0 1 4 9 16 25 36 49 64 81 100 121 144 169
@@ -226,15 +226,15 @@ their Id.;
#X text 28 41 pmpd is the 2D object of the pmpd objects collection.
;
#X connect 3 0 4 0;
-#X restore 16 693 pd More_Info;
+#X restore 16 713 pd More_Info;
#X text 12 76 Examples:;
-#X text 9 369 Inlets:;
-#X text 19 388 - Left:;
-#X text 10 546 Arguments:;
-#X text 11 582 Outlets:;
-#X text 19 637 See Also:;
+#X text 9 309 Inlets:;
+#X text 19 338 - Left:;
+#X text 10 566 Arguments:;
+#X text 11 602 Outlets:;
+#X text 19 657 See Also:;
#X text 74 48 Full Name:;
-#N canvas 58 22 262 70 Related_Objects 0;
+#N canvas 54 145 262 70 Related_Objects 0;
#X obj 3 10 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 3 30 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577
@@ -242,7 +242,7 @@ their Id.;
#X text 5 10 Externals and libraries;
#X obj 44 37 pmpd;
#X obj 141 39 pmpd3d;
-#X restore 122 693 pd Related_Objects;
+#X restore 122 713 pd Related_Objects;
#N canvas 257 262 759 345 init 0;
#X obj 89 215 t a;
#X obj 89 33 loadbang;
@@ -269,10 +269,10 @@ their Id.;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
-#X restore 17 156 pd init;
-#X obj 18 321 s \$0-out;
-#X obj 18 272 r \$0-in;
-#X obj 393 317 s \$0-in;
+#X restore 17 136 pd init;
+#X obj 18 271 s \$0-out;
+#X obj 18 222 r \$0-in;
+#X obj 393 267 s \$0-in;
#N canvas 565 515 355 193 compute 0;
#X obj 27 29 inlet;
#X obj 27 127 s \$0-in;
@@ -284,28 +284,28 @@ their Id.;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
-#X restore 17 209 pd compute;
-#X obj 17 181 tgl 15 0 empty empty ON/OFF 25 10 1 10 -262144 -1 -1
-0 1;
-#X obj 172 270 r \$0-out;
-#X obj 17 126 bng 15 250 50 0 empty empty reset 25 10 1 10 -262144
+#X restore 17 189 pd compute;
+#X obj 17 161 tgl 15 0 empty empty ON/OFF 25 10 1 10 -262144 -1 -1
+1 1;
+#X obj 172 220 r \$0-out;
+#X obj 17 106 bng 15 250 50 0 empty empty reset 25 10 1 10 -262144
-1 -1;
-#X text 101 388 Bang - A bang at the left inlet compute the new model
+#X text 101 338 Bang - A bang at the left inlet compute the new model
state based on previous instant.;
-#X text 182 479 To set the model parameters after creation.;
-#X text 182 457 To create the model masses and links.;
-#X text 183 509 To get the model parameters;
-#X text 103 562 None;
-#X text 18 603 - Left:;
-#X text 101 604 Outputs the model parameters asked with the attributes
+#X text 182 429 To set the model parameters after creation.;
+#X text 182 407 To create the model masses and links.;
+#X text 183 459 To get the model parameters;
+#X text 103 582 None;
+#X text 18 623 - Left:;
+#X text 101 624 Outputs the model parameters asked with the attributes
messages.;
-#X text 101 420 Messages - Different messages are used to control the
+#X text 101 370 Messages - Different messages are used to control the
pmpd object. They are of three types :;
-#X text 9 659 CATEGORY: control;
-#X text 9 669 KEYWORDS: physical model mass spring damper link;
+#X text 9 679 CATEGORY: control;
+#X text 10 689 KEYWORDS: physical model mass spring damper link;
#X text 12 8 HELP: pmpd2d;
#X obj 157 48 pmpd2d;
-#X obj 18 296 pmpd2d;
+#X obj 18 246 pmpd2d;
#N canvas 731 296 450 300 gemmouse 0;
#X obj 189 77 gemmouse;
#X obj 189 184 pack f f;
@@ -335,10 +335,10 @@ pmpd object. They are of three types :;
#X connect 11 0 1 0;
#X connect 12 0 7 0;
#X connect 12 0 8 0;
-#X restore 393 295 pd gemmouse;
-#X obj 393 274 gemhead;
-#X obj 346 216 gemwin;
-#X msg 357 193 0 \, destroy;
+#X restore 393 245 pd gemmouse;
+#X obj 393 224 gemhead;
+#X obj 346 196 gemwin;
+#X msg 357 173 0 \, destroy;
#N canvas 472 258 550 319 gemrender 0;
#X obj 48 203 translateXYZ;
#X obj 48 229 sphere 0.1;
@@ -374,30 +374,30 @@ pmpd object. They are of three types :;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 15 0 4 0;
-#X restore 172 320 pd gemrender;
+#X restore 172 270 pd gemrender;
#X msg 346 129 reset \, create \, 1;
#X text 135 98 Sorry \, you need GEM for this example...;
-#X text 169 132 1 Create window -->;
-#X text 169 163 2 Drag the structure with the mouse;
-#X text 169 195 3 Destroy the window -->;
-#X obj 172 294 route massesPos linksPosNo;
+#X text 170 129 1 Create window -->;
+#X text 169 150 2 Drag the structure with the mouse;
+#X text 169 171 3 Destroy the window -->;
+#X obj 172 244 route massesPos linksPosNo;
#X text 11 19 DESCRIPTION: Physical modeling for Pd in 2d;
-#X text 265 689 - Cyrille Henry 2011;
-#X text 265 701 based on MSD by Nicolas Montgermont \, 2005;
-#N canvas 446 66 1236 814 links_attributes 0;
+#X text 265 709 - Cyrille Henry 2011;
+#X text 265 721 based on MSD by Nicolas Montgermont \, 2005;
+#N canvas 44 174 1207 766 links_attributes 0;
#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 10 108 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 8 260 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 4 87 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 2 239 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 7 2 ATTRIBUTES Messages;
-#X text 7 87 Lists :;
-#X text 169 167 Output all norm of position vector (sqrt(x*x+y*y))
+#X text 5 239 Lists :;
+#X text 168 332 Output all norm of position vector (sqrt(x*x+y*y))
in a list on outlet No 1;
-#X obj 11 222 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 9 374 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 11 335 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 9 487 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 611 26 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
@@ -407,149 +407,154 @@ in a list on outlet No 1;
-66577 0;
#X obj 612 253 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
-66577 0;
-#X msg 13 286 massesSpeedsNormL (\$1);
-#X text 402 546 \$1 (optional): Masses Id;
-#X text 850 488 \$2 (optional): Masses Id;
-#X text 849 475 \$1 : table name;
-#X obj 17 584 cnv 15 150 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 11 564 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X msg 22 597 massesPosMean;
-#X text 177 613 \$1 : none or Id;
-#X msg 23 629 massesPosStd \$1;
-#X text 179 644 \$1 : none or Id;
-#X text 173 597 output the average position of masses;
-#X text 174 628 output the standard deviation of masses position;
-#X text 177 674 \$1 : none or Id;
-#X text 179 711 \$1 : none or Id;
-#X text 173 658 output the average position of masses;
-#X text 174 695 output the standard deviation of masses position;
-#X text 177 749 \$1 : none or Id;
-#X text 178 786 \$1 : none or Id;
-#X text 173 733 output the average position of masses;
-#X text 173 770 output the standard deviation of masses position;
-#X msg 22 696 massesForcesStd \$1;
-#X msg 22 658 massesForcesMean;
-#X msg 23 735 massesSpeedsMean;
-#X msg 22 771 massesSpeedsStd \$1;
+#X text 833 502 \$2 (optional): Masses Id;
+#X text 832 489 \$1 : table name;
#X text 608 5 tables :;
-#X text 15 30 The attributes messages ask the object to output some
+#X text 17 26 The attributes messages ask the object to output some
of his internal parameters. They can be output by lists for positions
and forces of links;
-#X text 14 564 statistics (not implemented yet) :;
-#X msg 11 119 linksPosL (\$1);
-#X text 170 120 Output all links center positions in a list on outlet
+#X text 168 272 Output all links center positions in a list on outlet
No 1;
-#X msg 11 138 linksPosXL (\$1);
-#X msg 12 157 linksPosYL (\$1);
-#X msg 12 176 linksPosNormL (\$1);
-#X msg 13 229 linksLengthL (\$1);
-#X msg 13 248 linksLengthXL (\$1);
-#X msg 13 267 linksLengthYL (\$1);
-#X text 170 144 Output all links x or y in a list on outlet No 1;
-#X obj 12 451 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X msg 14 458 linksLengthSpeedL (\$1);
-#X msg 14 477 linksLengthSpeedXL (\$1);
-#X msg 14 496 linksLengthSpeedYL (\$1);
-#X msg 14 515 massesSpeedsSpeedNormL (\$1);
-#X text 184 459 Output all link lenght deformation speed in a list
+#X text 168 304 Output all links x or y in a list on outlet No 1;
+#X obj 10 603 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 182 611 Output all link lenght deformation speed in a list
on outlet No 1;
-#X text 184 485 Output all link lenght deformation speed in x or y
+#X text 182 647 Output all link lenght deformation speed in x or y
in a list on outlet No 1;
-#X text 215 515 Output all norm of link lenght deformation speed vector
+#X text 212 675 Output all norm of link lenght deformation speed vector
(sqrt(x*x+y*y)) in a list on outlet No 1;
-#X msg 615 38 linksPosT \$1 (\$2);
-#X msg 616 57 linksPosXT \$1 (\$2);
-#X msg 615 76 linksPosYT \$1 (\$2);
-#X msg 615 96 linksPosNormT \$1 (\$2);
-#X msg 616 152 linksLengthT \$1 (\$2);
-#X msg 616 210 linksLengthNormT \$1 (\$2);
#X obj 612 369 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
-66577 0;
-#X msg 614 376 linksLengthSpeedT \$1 (\$2);
-#X msg 613 395 linksLengthSpeedXT \$1 (\$2);
-#X msg 614 414 linksLengthSpeedYT \$1 (\$2);
-#X msg 614 434 massesSpeedsSpeedNormT \$1 (\$2);
-#X text 794 35 Output all links center positions in a table (\$1);
+#X text 808 377 Output all link lenght deformation speed in a list
+on outlet No 1;
+#X text 808 413 Output all link lenght deformation speed in x or y
+in a list on outlet No 1;
+#X text 838 441 Output all norm of link lenght deformation speed vector
+(sqrt(x*x+y*y)) in a list on outlet No 1;
+#X text 794 35 Output all links center positions in a table [\$1];
#X text 794 67 Output all links center positions x or y in a table
-(\$1);
-#X text 789 90 Output all norm of links center positions vector (sqrt(x*x+y*y))
-in a table (\$1);
-#X text 170 233 Output all link lenght in a list on outlet No 1;
-#X text 171 255 Output all link lenght in x or y in a list on outlet
+[\$1];
+#X text 793 105 Output all norm of links center positions vector (sqrt(x*x+y*y))
+in a table [\$1];
+#X text 168 385 Output all link lenght in a list on outlet No 1;
+#X text 170 418 Output all link lenght in x or y in a list on outlet
No 1;
-#X text 181 280 Output all norm of link lenght vector (sqrt(x*x+y*y))
+#X text 179 446 Output all norm of link lenght vector (sqrt(x*x+y*y))
in a list on outlet No 1;
-#X text 171 349 Output all link center speed in a list on outlet No
+#X text 169 501 Output all link center speed in a list on outlet No
1;
-#X text 175 363 Output all link center speed in x or y in a list on
+#X text 173 531 Output all link center speed in x or y in a list on
outlet No 1;
-#X text 192 393 Output all norm of link center speed vector (sqrt(x*x+y*y))
+#X text 192 567 Output all norm of link center speed vector (sqrt(x*x+y*y))
+in a list on outlet No 1;
+#X text 797 154 Output all link length in a list on outlet No 1;
+#X text 796 181 Output all link length in x or y in a list on outlet
+No 1;
+#X text 799 218 Output all norm of link length vector (sqrt(x*x+y*y))
in a list on outlet No 1;
-#X msg 16 342 linksPosSpeedL (\$1);
-#X msg 16 361 linksPosSpeedXL (\$1);
-#X msg 15 380 linksPosSpeedYL (\$1);
-#X msg 15 399 linksPosSpeedNormL (\$1);
-#X msg 616 259 linksPosSpeedT \$1 (\$2);
-#X msg 616 316 linksPosSpeedNormT \$1 (\$2);
-#X msg 616 171 linksLengthXT \$1 (\$2);
-#X msg 616 190 linksLengthYT \$1 (\$2);
-#X msg 616 278 linksPosSpeedXT \$1 (\$2);
-#X msg 616 297 linksPosSpeedYT \$1 (\$2);
-#X text 797 154 Output all link length in a list on a table;
-#X text 796 181 Output all link length in x or y in a list on a table
+#X text 795 264 Output all link center speed in a list on outlet No
+1;
+#X text 799 294 Output all link center speed in x or y in a list on
+outlet No 1;
+#X text 815 326 Output all norm of link center speed vector (sqrt(x*x+y*y))
+in a list on outlet No 1;
+#X msg 9 290 linkPosXL [\$1];
+#X msg 10 309 linkPosYL [\$1];
+#X msg 10 327 linkPosNormL [\$1];
+#X msg 11 381 linkLengthL [\$1];
+#X msg 11 400 linkLengthXL [\$1];
+#X msg 11 419 linkLengthYL [\$1];
+#X msg 14 494 linkPosSpeedL [\$1];
+#X msg 14 513 linkPosSpeedXL [\$1];
+#X msg 13 532 linkPosSpeedYL [\$1];
+#X msg 12 550 linkPosSpeedNormL [\$1];
+#X msg 12 610 linkLengthSpeedL [\$1];
+#X msg 12 629 linkLengthSpeedXL [\$1];
+#X msg 12 648 linkLengthSpeedYL [\$1];
+#X msg 615 38 linkPosT \$1 [\$2];
+#X msg 615 57 linkPosXT \$1 [\$2];
+#X msg 615 75 linkPosYT \$1 [\$2];
+#X msg 614 94 linkPosNormT \$1 [\$2];
+#X msg 616 152 linkLengthT \$1 [\$2];
+#X msg 616 171 linkLengthXT \$1 [\$2];
+#X msg 616 190 linkLengthYT \$1 [\$2];
+#X msg 615 208 linkLengthNormT \$1 [\$2];
+#X msg 616 259 linkPosSpeedT \$1 [\$2];
+#X msg 616 278 linkPosSpeedXT \$1 [\$2];
+#X msg 616 297 linkPosSpeedYT \$1 [\$2];
+#X msg 616 315 linkPosSpeedNormT \$1 [\$2];
+#X msg 614 376 linkLengthSpeedT \$1 [\$2];
+#X msg 613 395 linkLengthSpeedXT \$1 [\$2];
+#X msg 614 414 linkLengthSpeedYT \$1 [\$2];
+#X obj 8 88 cnv 15 150 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 172 93 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 799 201 Output all norm of link length vector (sqrt(x*x+y*y))
-in a table;
-#X text 795 264 Output all link center speed in a table;
-#X text 798 282 Output all link center speed in x or y in a list on
-a table;
-#X text 812 313 Output all norm of link center speed vector (sqrt(x*x+y*y))
-in a list on a table;
-#X text 808 377 Output all link lenght deformation speed in aa table
+#X text 172 153 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 806 401 Output all link lenght deformation speed in x or y
-in a table;
-#X text 839 430 Output all norm of link lenght deformation speed vector
-(sqrt(x*x+y*y)) in a list on a table;
-#X restore 12 519 pd links_attributes ___;
-#N canvas 41 48 967 626 creation____________ 0;
+#X msg 12 96 linkPos [\$1];
+#X msg 12 156 linkEnd [\$1];
+#X text 173 113 output a message for every links :;
+#X text 173 173 output a message for every links :;
+#X obj 2 69 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 5 69 generic :;
+#X msg 10 437 linkLengthNormL [\$1];
+#X msg 13 667 linkLengthSpeedNormL [\$1];
+#X msg 615 433 linkLengthSpeedNormT \$1 [\$2];
+#X obj 614 543 cnv 15 150 200 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 608 522 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 611 522 tables :;
+#X msg 628 551 linkEndT \$1 [\$2];
+#X text 790 551 Put position of the 2 link end on a table [\$1] \,
+filter on link id is possible;
+#X msg 640 571 linkEnd1T \$1 [\$2];
+#X msg 639 591 linkEnd2T \$1 [\$2];
+#X msg 638 612 linkEndXT \$1 [\$2];
+#X msg 638 631 linkEnd1XT \$1 [\$2];
+#X msg 638 651 linkEnd2XT \$1 [\$2];
+#X msg 639 673 linkEndYT \$1 [\$2];
+#X msg 641 693 linkEnd1YT \$1 [\$2];
+#X msg 640 713 linkEnd2YT \$1 [\$2];
+#X msg 9 271 linkPosL [\$1);
+#X text 202 130 linkPos symbolId number centerX centerY;
+#X text 172 189 linkEnd symbolId number posX1 posY1 posX2 posY2;
+#X text 795 583 table is posX1 posY1 posX2 posY2 ....;
+#X restore 12 469 pd links_attributes ___;
+#N canvas 111 129 967 626 creation____________ 0;
#X obj 5 75 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 5 3 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 7 2 CREATION Messages;
-#X obj 4 137 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 4 157 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 3 351 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
+#X obj 3 371 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X msg 32 104 reset;
-#X text 202 167 Add a mass;
-#X text 57 191 \$1 : Id (symbol);
-#X text 57 211 \$2 : fixed or mobile (0/1);
-#X text 57 229 \$3 : mass;
-#X text 7 137 Masses :;
+#X text 202 187 Add a mass;
+#X text 57 211 \$1 : Id (symbol);
+#X text 57 231 \$2 : fixed or mobile (0/1);
+#X text 57 249 \$3 : mass;
+#X text 7 157 Masses :;
#X text 7 74 Reset :;
#X text 129 105 Delete all masses \, links and internal variables;
-#X text 6 351 Links :;
-#X text 49 406 \$1 : Id (symbol);
-#X text 49 459 \$4 : rigidity;
-#X text 49 406 \$1 : Id (symbol);
-#X text 49 459 \$4 : rigidity;
-#X text 49 424 \$2 : creation No/Id of mass1;
-#X text 49 442 \$3 : creation No/Id of mass2;
-#X text 266 384 Add link(s);
-#X text 49 477 \$5 : damping;
+#X text 6 371 Links :;
+#X text 49 426 \$1 : Id (symbol);
+#X text 49 479 \$4 : rigidity;
+#X text 49 426 \$1 : Id (symbol);
+#X text 49 479 \$4 : rigidity;
+#X text 49 444 \$2 : creation No/Id of mass1;
+#X text 49 462 \$3 : creation No/Id of mass2;
+#X text 266 404 Add link(s);
+#X text 49 497 \$5 : damping;
#X text 10 28 Creation messages are used to define the structure of
the model. Messages create links and masses or destroy them.;
-#X msg 30 384 link \$1 \$2 \$3 \$4 \$5 (\$6 \$7 \$8);
-#X msg 32 167 mass \$1 \$2 \$3 \$4 \$5;
-#X text 57 247 \$4 \, \$5 : initial position;
-#X text 46 495 (\$6) : Power of the rigidity distance;
-#X text 46 514 (\$7) : minimum lenght of link;
-#X text 46 531 (\$8) : maximum lenght of link;
+#X msg 32 187 mass \$1 \$2 \$3 \$4 \$5;
+#X text 57 267 \$4 \, \$5 : initial position;
#X obj 471 75 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 501 75 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
@@ -564,15 +569,11 @@ the model. Messages create links and masses or destroy them.;
#X text 527 216 \$3 : creation No/Id of mass2;
#X text 527 251 \$5 : damping;
#X text 790 152 Add tangential link(s);
-#X text 524 289 (\$8) : Power of the rigidity distance;
-#X text 524 308 (\$9) : minimum lenght of link;
-#X text 524 325 (\$10) : maximum lenght of link;
#X text 506 102 In 2D (and 3D) there are two specials links : oriented
links. They works as general links excepts their calculation is made
following a vector.;
#X text 526 270 \$6 \, \$7 : tangential vector (x \, y);
#X text 504 75 Oriented links :;
-#X msg 507 153 tLink \$1 \$2 \$3 \$4 \$5 \$6 \$7 (\$8 \$9 \$10);
#X msg 502 406 tabLink \$1 \$2 \$3 \$4 \$5 \$6 \$7;
#X text 532 453 \$1 : Id (symbol);
#X text 532 453 \$1 : Id (symbol);
@@ -586,181 +587,37 @@ following a vector.;
#X obj 494 351 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 497 351 Table links :;
-#X connect 29 0 31 0;
-#X restore 12 457 pd creation____________;
-#N canvas 0 22 1224 756 attributes__________ 0;
-#X obj 11 95 cnv 15 100 35 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 5 75 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 10 158 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 4 137 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 616 422 cnv 15 110 330 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X obj 610 398 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 7 74 General :;
-#X text 7 2 ATTRIBUTES Messages;
-#X text 7 137 Lists :;
-#X text 136 104 Get infos on all masses and links on right outlet;
-#X text 170 170 Output all masses positions in a list on outlet No
-1;
-#X text 746 438 Get specific attribute on specific element;
-#X msg 626 436 get \$1 (\$2);
-#X text 613 398 Specific :;
-#X text 746 533 The get message return the asked attribute preceded
-by an identifier and the creation No of the element. The identifier
-is made of the asked parameter and the way you asked for it.;
-#X text 747 609 message;
-#X text 987 609 response;
-#X text 746 590 Examples with 3 masses numbered 0 \, 1 and 2 and named
-mas:;
-#X text 15 30 The attributes messages ask the object to output some
-of his internal parameters. They can be output by lists for positions
-and forces of masses.;
-#X text 172 399 Output all forces applied on masses in a list on outlet
-No 1;
-#X text 746 500 (\$2) : - If not defined all the attributes are send
-for all the elements. - Ids or/and creations No;
-#X text 170 202 Output all masses x or y in a list on outlet No 1;
-#X text 780 628 [get massesPos( -----> [massesPos 0 x0 y0(;
-#X text 766 678 [get massesPos 1( -----> [massesPosNo 1 x1 y1(;
-#X text 752 699 [get massesPos mas( -----> [massesPosId 0 x0 y0(;
-#X msg 33 104 print;
-#X text 170 230 Output all norm of position vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
-#X obj 11 272 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 171 284 Output all masses speeds in a list on outlet No 1;
-#X text 172 316 Output all masses speeds in x or y in a list on outlet
-No 1;
-#X text 171 344 Output all norm of speed vector (sqrt(x*x+y*y)) in
-a list on outlet No 1;
-#X obj 11 385 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 175 429 Output all masses forces in x or y in a list on outlet
-No 1;
-#X text 171 457 Output all norm of forces vector (sqrt(x*x+y*y)) in
-a list on outlet No 1;
-#X text 745 457 \$1 : Attribute type ( massesPos / massesPosName /
-massesSpeeds / massesSpeedsName / massesForces / massesForcesName /
-linksPos / linksPosName );
-#X text 752 750 [get massesPosName( -----> [massesPosName mas x0 y0(
+#X msg 33 131 print;
+#X text 103 131 post surrent physical model topology;
+#X msg 30 404 link \$1 \$2 \$3 \$4 \$5 [\$6 [\$7 [\$8]]];
+#X msg 507 153 tLink \$1 \$2 \$3 \$4 \$5 \$6 \$7 [\$8 [\$9 [\$10]]]
;
-#X obj 611 26 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 605 5 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 612 140 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X obj 612 253 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X msg 12 170 massesPosL (\$1);
-#X msg 12 190 massesPosXL (\$1);
-#X msg 12 210 massesPosYL (\$1);
-#X msg 12 230 massesPosNormL (\$1);
-#X msg 13 284 massesSpeedsL (\$1);
-#X msg 13 343 massesSpeedsNormL (\$1);
-#X msg 14 397 massesForcesL (\$1);
-#X msg 12 170 massesPosL (\$1);
-#X msg 13 456 massesSpeedsNormL (\$1);
-#X msg 615 38 massesPosT \$1 (\$2);
-#X msg 615 58 massesPosXT \$1 (\$2);
-#X msg 615 79 massesPosYT \$1 (\$2);
-#X msg 615 98 massesPosNormT \$1 (\$2);
-#X msg 616 152 massesSpeedsT \$1 (\$2);
-#X msg 616 213 massesSpeedsNormT \$1 (\$2);
-#X msg 617 265 massesForcesT \$1 (\$2);
-#X msg 616 324 massesSpeedsNormT \$1 (\$2);
-#X text 794 35 Output all masses positions in a table (\$1);
-#X text 794 67 Output all masses x or y in a table (\$1);
-#X text 794 95 Output all norm of position vector (sqrt(x*x+y*y)) in
-a table (\$1);
-#X text 174 498 \$1 (optional): Masses Id;
-#X text 815 376 \$2 (optional): Masses Id;
-#X text 814 363 \$1 : table name;
-#X obj 17 544 cnv 15 150 270 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 11 524 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 14 524 statistics :;
-#X msg 22 557 massesPosMean;
-#X text 177 573 \$1 : none or Id;
-#X msg 23 595 massesPosStd \$1;
-#X text 179 610 \$1 : none or Id;
-#X text 173 557 output the average position of masses;
-#X text 174 594 output the standard deviation of masses position;
-#X text 177 660 \$1 : none or Id;
-#X text 179 697 \$1 : none or Id;
-#X text 173 644 output the average position of masses;
-#X text 174 681 output the standard deviation of masses position;
-#X text 177 745 \$1 : none or Id;
-#X text 178 782 \$1 : none or Id;
-#X text 173 729 output the average position of masses;
-#X text 173 766 output the standard deviation of masses position;
-#X msg 22 682 massesForcesStd \$1;
-#X msg 22 644 massesForcesMean;
-#X msg 23 731 massesSpeedsMean;
-#X msg 22 767 massesSpeedsStd \$1;
-#X text 608 5 tables :;
-#X msg 14 304 massesSpeedsXL (\$1);
-#X msg 13 417 massesForcesXL (\$1);
-#X msg 616 173 massesSpeedsXT \$1 (\$2);
-#X msg 616 286 massesForcesXT \$1 (\$2);
-#X msg 13 324 massesSpeedsYL (\$1);
-#X msg 13 437 massesForcesYL (\$1);
-#X msg 616 192 massesSpeedsYT \$1 (\$2);
-#X msg 617 305 massesForcesYT \$1 (\$2);
-#X text 941 642 [massesPos 1 x2 y1(;
-#X text 941 657 [massesPos 2 x1 y2(;
-#X text 941 714 [massesPosId 1 x2 y1(;
-#X text 941 729 [massesPosId 2 x1 y2(;
-#X text 942 765 [massesPosName mas x1 y1(;
-#X text 942 780 [massesPosName mas x2 y2(;
-#X text 799 263 Output all forces applied on masses in a table;
-#X text 798 294 Output all masses forces in x or y in a table;
-#X text 795 149 Output all masses speeds in a table;
-#X text 796 181 Output all masses speeds in x or y in a table;
-#X text 801 209 Output all norm of speed vector (sqrt(x*x+y*y)) in
-a table;
-#X text 804 322 Output all norm of forces vector (sqrt(x*x+y*y)) in
-a table;
-#X obj 620 817 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 614 797 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 780 845 output the closest mass;
-#X text 617 797 others :;
-#X text 779 859 \$1 : x -position;
-#X text 779 874 \$2 : y -position;
-#X msg 625 845 closestMass \$1 \$2 (\$3);
-#X text 779 890 \$3 : none or Id;
-#X restore 12 499 pd attributes__________;
-#N canvas 100 72 1078 872 dynamic 0;
+#X text 524 289 [\$8] : Power of the rigidity distance;
+#X text 524 308 [\$9] : minimum lenght of link;
+#X text 524 325 [\$10] : maximum lenght of link;
+#X text 46 515 [\$6] : Power of the rigidity distance;
+#X text 46 534 [\$7] : minimum lenght of link;
+#X text 46 551 [\$8] : maximum lenght of link;
+#X connect 25 0 27 0;
+#X restore 12 407 pd creation____________;
+#N canvas 98 120 1133 862 dynamic 0;
#X obj 5 3 cnv 15 550 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 10 85 cnv 15 150 750 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 4 62 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 574 86 cnv 15 130 350 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 574 86 cnv 15 130 740 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 567 62 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 7 62 Masses :;
#X text 570 62 Links :;
#X text 7 2 DYNAMIC SETTINGS Messages;
-#X msg 31 116 posX \$1 \$2;
#X text 191 168 Add force on mass(es);
#X msg 30 183 forceX \$1 \$2;
#X text 190 114 \$1 : Id (symbol) or No;
#X text 193 185 \$1 : Id (symbol) or No;
-#X msg 31 265 Xmin \$1;
-#X msg 90 265 Xmax \$1;
#X msg 29 311 setMobile \$1;
#X msg 29 332 setFixed \$1;
#X text 190 96 Set position of fixed mass(es);
@@ -782,16 +639,10 @@ a table;
#X text 10 25 Dynamic settings messages allows the user to redefine
internal parameters of links and masses.;
#X msg 29 358 grabMass \$1 \$2 \$3;
-#X text 186 358 Grab nearest mass;
-#X text 191 374 \$1 \, \$2 : position;
-#X text 190 391 \$3 : grab or not (0/1);
-#X msg 31 137 posY \$1 \$2;
#X msg 30 204 forceY \$1 \$2;
-#X msg 31 287 Ymin \$1;
-#X msg 90 287 Ymax \$1;
#X text 191 445 \$2 : New Id;
#X msg 30 413 setMassId \$1 \$2;
-#X text 191 411 Change the Id of a mass;
+#X text 182 412 Change the Id of a mass;
#X text 192 428 \$1 : mass (number or Id);
#X msg 23 530 setSpeed \$1 \$2;
#X text 186 482 \$1 : Id (symbol) or No;
@@ -800,16 +651,12 @@ internal parameters of links and masses.;
#X text 182 532 set speed of a mass(es);
#X text 184 610 \$1 : Id (symbol) or No;
#X text 181 593 add pos of a mass(es);
-#X msg 23 684 grabMass \$1 \$2 \$3;
#X text 183 654 grab a mass \, and move it;
-#X text 185 676 \$1 : mass number;
-#X text 185 692 \$2 : position;
-#X text 185 708 \$3 : grab or not (0 or 1);
+#X text 196 388 \$3 : grab or not (0 or 1);
#X msg 24 462 setForce \$1 \$2 \$3;
#X text 186 500 \$2 / \$3 : Value;
#X msg 24 482 setForceX \$1 \$2;
#X msg 24 501 setForceY \$1 \$2;
-#X msg 31 96 pos \$1 \$2 \$3;
#X text 190 132 \$2 / \$3 : Value;
#X msg 30 163 force \$1 \$2 \$3;
#X text 191 203 \$2 / \$3 : Value;
@@ -819,35 +666,321 @@ internal parameters of links and masses.;
#X text 185 566 \$2 / \$3 : Value;
#X text 185 628 \$2 / \$3 : Value;
#X msg 24 593 addPos \$1 \$2 \$3;
-#X msg 588 280 setLinkId \$1 \$2;
-#X text 742 281 Change the Id of a link;
-#X text 743 298 \$1 : link (number or Id);
-#X text 746 315 \$2 : New Id;
-#X msg 591 353 setLKTab \$1 \$2;
-#X text 750 353 change the table (K) size of a non linear link;
-#X text 751 373 \$1 : link (number or Id);
-#X text 752 390 \$2 : New KL;
-#X text 751 435 \$1 : link (number or Id);
-#X msg 591 415 setLDTab \$1 \$2;
-#X text 750 415 change the table (D) size of a non linear link;
-#X text 752 452 \$2 : New DL;
+#X msg 588 346 setLinkId \$1 \$2;
+#X text 742 347 Change the Id of a link;
+#X text 743 364 \$1 : link (number or Id);
+#X text 746 381 \$2 : New Id;
+#X msg 586 406 setLKTab \$1 \$2;
+#X text 745 406 change the table (K) size of a non linear link;
+#X text 746 426 \$1 : link (number or Id);
+#X text 747 443 \$2 : New KL;
+#X text 746 488 \$1 : link (number or Id);
+#X msg 586 468 setLDTab \$1 \$2;
+#X text 745 468 change the table (D) size of a non linear link;
+#X text 747 505 \$2 : New DL;
#X msg 31 225 min \$1 \$2;
#X msg 31 245 max \$1 \$2;
#X msg 24 612 addPosX \$1 \$2;
#X msg 24 632 addPosY \$1 \$2;
-#X text 571 580 if only 1 argument is previded \, message generally
+#X text 580 778 if only 1 argument is previded \, message generally
used this argument as the value applayed to all masses (or link);
-#X text 186 819 \$2 : damping;
-#X text 185 804 \$1 : Id (symbol) or No;
-#X msg 22 788 setDEnvOffset \$1 \$2;
-#X text 174 788 Change environement damping offset;
-#X text 173 733 Change environement damping;
-#X msg 23 733 setDEnv \$1 \$2;
-#X text 185 764 \$2 : damping;
-#X text 184 749 \$1 : Id (symbol) or No;
-#X restore 12 478 pd dynamic settings ___;
-#X text 112 638 54_pmpd2dtest.pd;
-#X obj 307 324 print;
+#X text 186 769 \$2 : damping;
+#X text 185 754 \$1 : Id (symbol) or No;
+#X msg 22 738 setDEnvOffset \$1 \$2;
+#X text 174 738 Change environement damping offset;
+#X text 173 683 Change environement damping;
+#X msg 23 683 setDEnv \$1 \$2;
+#X text 185 714 \$2 : damping;
+#X text 184 699 \$1 : Id (symbol) or No;
+#X msg 31 265 minX \$1;
+#X msg 90 265 maxX \$1;
+#X msg 31 287 minY \$1;
+#X msg 90 287 maxY \$1;
+#X msg 31 96 setPos \$1 \$2 \$3;
+#X msg 31 116 setPosX \$1 \$2;
+#X msg 31 137 setPosY \$1 \$2;
+#X text 721 272 Set initial lenght of link(s);
+#X text 727 290 \$1 : Id (symbol) or No;
+#X msg 581 271 setLCurrent \$1 [\$2];
+#X text 727 308 \$2 : mix between link size (0) and curent length (1)
+;
+#X text 722 326 if no \$2 arg is provide \, then L is set to curent
+length;
+#X text 746 596 \$1 : link (number or Id);
+#X text 745 552 \$1 : link (number or Id);
+#X msg 586 576 setActive \$1 \$2;
+#X msg 585 532 setInactive \$1 \$2;
+#X text 744 532 did not compute a link anymore;
+#X text 745 576 compute the link at each bang;
+#X text 741 663 \$1 : link (number or Id);
+#X msg 586 620 setOverdamp \$1 \$2;
+#X text 741 677 \$2 : overdamp value;
+#X text 740 621 Change the overdamp of a link. i.e a strange parametter
+that amplifie forces that oposed to movment. Use at your own risk.
+;
+#X text 743 724 \$1 : link (number or Id);
+#X msg 588 705 setEnd \$1 \$2 \$3;
+#X text 742 740 \$2 : mass number for end 1;
+#X text 742 707 Change the masses a link is connected to;
+#X text 741 756 \$3 : mass number for end 2;
+#X msg 600 728 setEnd1 \$1 \$2;
+#X msg 600 750 setEnd2 \$1 \$2;
+#X text 181 352 Grab nearest mass and move it;
+#X text 196 372 \$1 \$2 : position;
+#X restore 12 428 pd dynamic settings ___;
+#X text 112 658 54_pmpd2dtest.pd;
+#X obj 307 274 print;
+#N canvas 298 136 1221 757 masses_attributes___ 0;
+#X obj 5 75 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 10 378 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 4 357 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 7 74 General :;
+#X text 7 2 ATTRIBUTES Messages;
+#X text 7 357 Lists :;
+#X text 170 390 Output all masses positions in a list on outlet No
+1;
+#X text 15 30 The attributes messages ask the object to output some
+of his internal parameters. They can be output by lists for positions
+and forces of masses.;
+#X text 172 619 Output all forces applied on masses in a list on outlet
+No 1;
+#X text 170 422 Output all masses x or y in a list on outlet No 1;
+#X text 170 450 Output all norm of position vector (sqrt(x*x+y*y))
+in a list on outlet No 1;
+#X obj 11 492 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 171 504 Output all masses speeds in a list on outlet No 1;
+#X text 172 536 Output all masses speeds in x or y in a list on outlet
+No 1;
+#X text 171 564 Output all norm of speed vector (sqrt(x*x+y*y)) in
+a list on outlet No 1;
+#X obj 11 605 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 175 649 Output all masses forces in x or y in a list on outlet
+No 1;
+#X text 171 677 Output all norm of forces vector (sqrt(x*x+y*y)) in
+a list on outlet No 1;
+#X obj 611 26 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 605 5 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X obj 612 140 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 612 253 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X text 794 35 Output all masses positions in a table (\$1);
+#X text 794 67 Output all masses x or y in a table (\$1);
+#X text 794 95 Output all norm of position vector (sqrt(x*x+y*y)) in
+a table (\$1);
+#X text 174 718 \$1 (optional): Masses Id;
+#X text 815 376 \$2 (optional): Masses Id;
+#X text 814 363 \$1 : table name;
+#X text 608 5 tables :;
+#X text 799 263 Output all forces applied on masses in a table;
+#X text 798 294 Output all masses forces in x or y in a table;
+#X text 795 149 Output all masses speeds in a table;
+#X text 796 181 Output all masses speeds in x or y in a table;
+#X text 801 209 Output all norm of speed vector (sqrt(x*x+y*y)) in
+a table;
+#X text 804 322 Output all norm of forces vector (sqrt(x*x+y*y)) in
+a table;
+#X obj 10 157 cnv 15 150 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 14 165 massPos [\$1];
+#X text 187 166 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 186 output a message for every masses :;
+#X text 218 203 massPos symbolId number posX posY posZ;
+#X text 187 226 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 246 output a message for every masses :;
+#X text 218 263 massPos symbolId number speedX speedY speedZ;
+#X text 187 285 \$1 : id float or symbol of masses (nothing for all)
+;
+#X text 188 301 output a message for every masses :;
+#X msg 14 284 massForce [\$1];
+#X text 218 318 massPos symbolId number forceX forceY forceZ;
+#X msg 14 225 massSpeed [\$1];
+#X msg 13 383 massPosL [\$1];
+#X msg 13 402 massPosXL [\$1];
+#X msg 13 421 massPosYL [\$1];
+#X msg 13 439 massesPosNormL [\$1];
+#X msg 14 498 massSpeedL [\$1];
+#X msg 15 517 massSpeedXL [\$1];
+#X msg 14 535 massSpeedYL [\$1];
+#X msg 15 554 massSpeedsNormL [\$1];
+#X msg 18 611 massForceL [\$1];
+#X msg 16 630 massForceXL [\$1];
+#X msg 16 649 massForceYL [\$1];
+#X msg 15 667 massForceNormL [\$1];
+#X msg 619 38 massPosT \$1 [\$2];
+#X msg 619 57 massPosXT \$1 [\$2];
+#X msg 619 76 massPosYT \$1 [\$2];
+#X msg 618 94 massPosNormT \$1 [\$2];
+#X msg 620 152 massSpeedsT \$1 [\$2];
+#X msg 620 171 massSpeedsXT \$1 [\$2];
+#X msg 620 190 massSpeedsYT \$1 [\$2];
+#X msg 620 208 massSpeedsNormT \$1 [\$2];
+#X msg 621 259 massForcesT \$1 [\$2];
+#X msg 620 278 massForcesXT \$1 [\$2];
+#X msg 620 297 massForcesYT \$1 [\$2];
+#X msg 620 315 massSpeedsNormT \$1 [\$2];
+#X obj 611 561 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 609 539 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 790 568 output the closest mass;
+#X text 612 539 others :;
+#X text 789 582 \$1 : x -position;
+#X text 789 597 \$2 : y -position;
+#X text 781 648 output a series of message :;
+#X msg 618 647 massDistance [\$1 [\$2]];
+#X text 796 662 distance mass1 mass2 distanceX \, distanceY \, distanceZ
+\, distance;
+#X obj 608 410 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 768 464 \$1 : table name;
+#X text 767 483 \$2 : masses name;
+#X text 766 441 apply a force to masses. Force come from a table;
+#X obj 609 431 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 617 438 forceXT \$1 [\$2];
+#X msg 618 458 forceYT \$1 [\$2];
+#X msg 622 570 closestMass \$1 \$2 \$3 [\$4];
+#X text 611 410 Table in:;
+#X text 789 614 \$3 : none or Id;
+#X restore 12 449 pd masses_attributes___;
+#N canvas 909 146 770 592 tests 0;
+#X msg 20 26 testMass testId filterId filter_parametter ...;
+#X text 315 29 output a message for every masses that pass all the
+tests:;
+#X text 265 52 testMass testId mass_number;
+#X text 327 92 output a list with 0 or 1 for every masses depending
+if it pass all test or not;
+#X text 344 125 testMassL filterID 0/1 0/1 0/1 ...;
+#X msg 22 154 testMassT tab_name filterId filter_parametter ...;
+#X msg 22 93 testMassL testId filterId filter_parametter ....;
+#X text 341 153 Put in a table 0 or 1 depending if masses pass all
+tests;
+#X text 38 191 masses test can be :;
+#X msg 19 344 testLink testId filterId filter_parametter ...;
+#X msg 21 411 testLinkL testId filterId filter_parametter ....;
+#X msg 21 472 testLinkT tab_name filterId filter_parametter ...;
+#X text 314 347 output a message for every links that pass all the
+tests:;
+#X text 264 370 testLink testId mass_number;
+#X text 342 442 testLinkL filterID 0/1 0/1 0/1 ...;
+#X text 340 471 Put in a table 0 or 1 depending if links pass all tests
+;
+#X text 326 410 output a list with 0 or 1 for every links depending
+if it pass all test or not;
+#X text 35 509 links test can be :;
+#X text 180 191 Id \$1 / posXSup \$1 / posXInf \$1 / posYSup \$1 /
+posYInf \$1 / speedXSup \$1 / speedXInf \$1 / speedYSup \$1 / speedYInf
+\$1 / speedSup \$1 / speedInf \$1 / distanceCircleSup \$1 \$2 \$3 \$4
+(centerX \, centerY \, distance) / distanceCircleInf \$1 \$2 \$3 \$4
+(centerX \, centerY \, distance) / massSup \$1 / massInf \$1 / forceSup
+\$1 / forceInf \$1 / forceXSup \$1 / forceXInf \$1 / forceYSup \$1
+/ forceYInf \$1;
+#X text 177 509 Id \$1 / forceSup \$1 / forceInf \$1 / forceXSup \$1
+/ forceXInf \$1 / forceYSup \$1 / forceYInf \$1 / lengthSup \$1 / lengthInf
+\$1 / lengthXSup \$1 / lengthXInf \$1 / lengthYSup \$1 / lengthYInf
+\$1 / connectedTo \$1 (symbol or float);
+#X restore 12 490 pd tests ______________;
+#X text 188 493 To test specific parametters;
+#N canvas 991 188 547 405 interactors 0;
+#X text 28 58 \$1 : mess Id (float or symbol) to apply this interactor
+;
+#X text 75 131 \$11 : K tengential;
+#X text 74 145 \$12 : power of the tengential force;
+#X text 27 71 \$2 \$3 : center of the circle;
+#X text 26 85 \$4 : circle radius;
+#X text 26 99 \$5 : K;
+#X text 25 112 \$6 : power of the force;
+#X text 23 161 \$7 : minimum radius of the interactor;
+#X text 20 175 \$8 : maximum radius of the interactor;
+#X msg 16 24 iCircle \$1 \$2 \$3 \$4 \$5 [\$6 [\$7 [\$8]]];
+#X text 24 241 \$1 : mass Id (float or symbol) to apply this interactor
+;
+#X text 23 254 \$2 \$3 : 1st point off the line;
+#X text 22 268 \$4 \$5 : 2nd point of the line;
+#X text 23 282 \$6 : K;
+#X text 23 297 \$7 : power of the force;
+#X text 22 314 \$8 : minimum profund of the interactor;
+#X text 21 329 \$9 : maximum profund of the interactor;
+#X msg 12 216 iLine \$1 \$2 \$3 \$4 \$5 \$6 [\$7 [\$8 [\$9 ]]];
+#X restore 12 509 pd interactors ________;
+#N canvas 890 232 700 758 statistics 0;
+#X obj 25 41 cnv 15 150 270 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 19 21 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 185 70 \$1 : none or Id;
+#X text 186 113 \$1 : none or Id;
+#X text 185 163 \$1 : none or Id;
+#X text 187 194 \$1 : none or Id;
+#X text 185 242 \$1 : none or Id;
+#X text 186 279 \$1 : none or Id;
+#X msg 30 54 massPosMean;
+#X msg 31 92 massPosStd \$1;
+#X msg 30 141 massForceMean;
+#X msg 30 179 massForceStd \$1;
+#X msg 31 228 massSpeedMean;
+#X msg 30 262 massSpeedStd \$1;
+#X text 181 54 output the average position of masses and center distance
+;
+#X text 182 91 output the standard deviation of masses position and
+center distance;
+#X text 182 178 output the standard deviation of masses force;
+#X text 181 263 output the standard deviation of masses velocity;
+#X text 22 21 masses :;
+#X obj 29 357 cnv 15 150 350 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 23 337 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 191 389 \$1 : none or Id;
+#X text 190 421 \$1 : none or Id;
+#X text 192 467 \$1 : none or Id;
+#X text 194 504 \$1 : none or Id;
+#X text 187 562 \$1 : none or Id;
+#X text 193 597 \$1 : none or Id;
+#X msg 38 402 linkPosStd \$1;
+#X msg 37 489 linkLengthStd \$1;
+#X msg 37 572 linkPosSpeedStd \$1;
+#X text 194 637 \$1 : none or Id;
+#X text 196 674 \$1 : none or Id;
+#X msg 38 658 linkLengthSpeedStd \$1;
+#X msg 37 364 linkPosMean \$1;
+#X msg 37 450 linkLengthMean \$1;
+#X msg 38 538 linkPosSpeedMean \$1;
+#X msg 39 618 linkLengthSpeedMean \$1;
+#X text 189 404 output the standard deviation of link center position
+;
+#X text 189 488 output the standard deviation of links length;
+#X text 192 572 output the standard deviation of links center position
+velocity;
+#X text 191 658 output the standard deviation of links length change
+;
+#X text 26 337 links :;
+#X text 181 141 output the average force applyed to masses (X \, Y
+and Norm);
+#X text 181 226 output the average velocity of masses (X \, Y \, Norm)
+;
+#X text 188 361 output the average position of links center (X \, Y
+\, center disdance);
+#X text 188 451 output the average links length (X \, Y \, L);
+#X text 188 536 output the average center position velocity of links
+(X \, Y \, Norm);
+#X text 190 619 output the average change in links length (X \, Y \,
+Norm);
+#X restore 13 531 pd statistics _________;
+#X text 185 510 To send complex forces;
+#X text 187 533 To get statistical data of the simulation;
#X connect 21 0 39 0;
#X connect 24 0 23 0;
#X connect 25 0 50 0;
@@ -859,4 +992,4 @@ used this argument as the value applayed to all masses (or link);
#X connect 45 0 42 0;
#X connect 50 0 44 0;
#X connect 50 1 44 1;
-#X connect 50 2 59 0;
+#X connect 50 2 58 0;
diff --git a/pmpd3d-help.pd b/pmpd3d-help.pd
index 4f7011d..e5d1eb1 100644
--- a/pmpd3d-help.pd
+++ b/pmpd3d-help.pd
@@ -1,4 +1,4 @@
-#N canvas 1035 175 568 784 10;
+#N canvas 12 250 570 717 10;
#X obj 4 289 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 5 675 cnv 15 550 30 empty empty empty 20 12 0 14 -158509 -66577
@@ -26,14 +26,14 @@
#X text 11 572 Outlets:;
#X text 19 627 See Also:;
#X text 74 48 Full Name:;
-#N canvas 56 111 262 70 Related_Objects 0;
+#N canvas 54 145 262 70 Related_Objects 0;
#X obj 3 10 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 3 30 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 5 10 Externals and libraries;
#X obj 44 37 pmpd;
-#X obj 141 39 pmpd3d;
+#X obj 141 39 pmpd2d;
#X restore 122 683 pd Related_Objects;
#X text 101 308 Bang - A bang at the left inlet compute the new model
state based on previous instant.;
@@ -130,7 +130,7 @@ mass mob 1 100 1 0 -1 \, mass mob 1 100 0 0 -1 \, mass mob 1 100 1
#X obj 17 226 pmpd3d;
#X text 417 226 2 Send forces;
#X text 112 628 01_pmpd3dtest.pd;
-#N canvas 544 115 967 626 creation____________ 0;
+#N canvas 60 83 967 626 creation____________ 0;
#X obj 5 75 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 5 3 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577
@@ -159,10 +159,6 @@ mass mob 1 100 1 0 -1 \, mass mob 1 100 0 0 -1 \, mass mob 1 100 1
#X text 49 497 \$5 : damping;
#X text 10 28 Creation messages are used to define the structure of
the model. Messages create links and masses or destroy them.;
-#X msg 30 404 link \$1 \$2 \$3 \$4 \$5 (\$6 \$7 \$8);
-#X text 46 515 (\$6) : Power of the rigidity distance;
-#X text 46 534 (\$7) : minimum lenght of link;
-#X text 46 551 (\$8) : maximum lenght of link;
#X obj 471 75 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 501 75 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
@@ -196,24 +192,28 @@ following a vector.;
#X text 497 351 Table links :;
#X msg 32 187 mass \$1 \$2 \$3 \$4 \$5 \$6;
#X text 58 267 \$4 \, \$5 \, \$6 : initial position;
-#X msg 507 153 tLink \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 (\$9 \$10 \$11)
-;
#X text 526 270 \$6 \, \$7 \, \$8 : tangential vector (x \, y);
-#X text 524 289 (\$9) : Power of the rigidity distance;
-#X text 524 308 (\$10) : minimum lenght of link;
-#X text 524 325 (\$11) : maximum lenght of link;
#X msg 33 131 print;
#X text 103 131 post surrent physical model topology;
-#X connect 27 0 29 0;
+#X msg 30 404 link \$1 \$2 \$3 \$4 \$5 [\$6 [\$7 [\$8]]];
+#X msg 507 153 tLink \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 [\$9 [\$10 [\$11]]]
+;
+#X text 524 289 [\$9] : Power of the rigidity distance;
+#X text 524 308 [\$10] : minimum lenght of link;
+#X text 524 325 [\$11] : maximum lenght of link;
+#X text 46 515 [\$6] : Power of the rigidity distance;
+#X text 46 534 [\$7] : minimum lenght of link;
+#X text 46 551 [\$8] : maximum lenght of link;
+#X connect 23 0 25 0;
#X restore 12 377 pd creation____________;
-#N canvas 601 155 1158 898 dynamic 0;
+#N canvas 609 157 1158 898 dynamic 0;
#X obj 5 3 cnv 15 550 15 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 10 85 cnv 15 150 750 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 10 85 cnv 15 150 800 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 4 62 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 574 86 cnv 15 130 350 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 574 86 cnv 15 130 800 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 567 62 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
@@ -231,7 +231,6 @@ following a vector.;
#X text 188 347 Set mass to mobile or fixed;
#X msg 593 150 setD \$1 \$2;
#X text 716 134 \$2 : New value;
-#X msg 593 99 setK \$1 \$2;
#X text 716 190 \$2 : New value;
#X text 718 249 \$2 : New value;
#X text 710 98 Set rigidity of link(s);
@@ -244,10 +243,7 @@ following a vector.;
#X text 191 364 \$1 : Id (symbol) or No;
#X text 10 25 Dynamic settings messages allows the user to redefine
internal parameters of links and masses.;
-#X msg 29 391 grabMass \$1 \$2 \$3;
#X text 186 391 Grab nearest mass;
-#X text 191 407 \$1 \, \$2 : position;
-#X text 190 424 \$3 : grab or not (0/1);
#X msg 30 210 forceY \$1 \$2;
#X text 191 476 \$2 : New Id;
#X msg 29 444 setMassId \$1 \$2;
@@ -260,11 +256,8 @@ internal parameters of links and masses.;
#X text 182 568 set speed of a mass(es);
#X text 178 664 \$1 : Id (symbol) or No;
#X text 175 647 add pos of a mass(es);
-#X msg 27 734 grabMass \$1 \$2 \$3;
#X text 183 703 grab a mass \, and move it;
-#X text 185 725 \$1 : mass number;
-#X text 185 741 \$2 : position;
-#X text 185 757 \$3 : grab or not (0 or 1);
+#X text 200 425 \$3 : grab or not (0 or 1);
#X msg 24 484 setForce \$1 \$2 \$3;
#X text 186 536 \$2 / \$3 : Value;
#X msg 24 503 setForceX \$1 \$2;
@@ -272,7 +265,7 @@ internal parameters of links and masses.;
#X text 190 132 \$2 / \$3 : Value;
#X msg 30 172 force \$1 \$2 \$3;
#X text 191 213 \$2 / \$3 : Value;
-#X text 178 781 Change environement damping;
+#X text 178 731 Change environement damping;
#X msg 24 583 setSpeedX \$1 \$2;
#X msg 24 602 setSpeedY \$1 \$2;
#X text 185 602 \$2 / \$3 : Value;
@@ -299,12 +292,12 @@ internal parameters of links and masses.;
#X msg 24 664 addPosX \$1 \$2;
#X msg 24 683 addPosY \$1 \$2;
#X msg 25 702 addPosZ \$1 \$2;
-#X msg 29 781 setDEnv \$1 \$2;
-#X text 190 812 \$2 : damping;
-#X text 189 797 \$1 : Id (symbol) or No;
-#X text 178 870 \$2 : damping;
-#X text 177 855 \$1 : Id (symbol) or No;
-#X msg 30 824 setDEnvOffset \$1 \$2;
+#X msg 29 731 setDEnv \$1 \$2;
+#X text 190 762 \$2 : damping;
+#X text 189 747 \$1 : Id (symbol) or No;
+#X text 178 820 \$2 : damping;
+#X text 177 805 \$1 : Id (symbol) or No;
+#X msg 30 774 setDEnvOffset \$1 \$2;
#X msg 31 289 minX \$1;
#X msg 90 288 maxX \$1;
#X msg 31 307 minY \$1;
@@ -313,11 +306,10 @@ internal parameters of links and masses.;
#X msg 90 326 maxZ \$1;
#X msg 31 96 setPos \$1 \$2 \$3;
#X msg 31 115 setPosX \$1 \$2;
-#X msg 31 134 setPposY \$1 \$2;
#X msg 31 153 setPosZ \$1 \$2;
-#X text 579 856 if only 1 argument is provided \, message generally
+#X text 579 796 if only 1 argument is provided \, message generally
used this argument as the value applayed to all masses (or link);
-#X text 176 828 Set environement damping offset (in order to force
+#X text 176 778 Set environement damping offset (in order to force
a specific velocity to masses);
#X text 719 273 Set initial lenght of link(s);
#X text 725 291 \$1 : Id (symbol) or No;
@@ -338,20 +330,20 @@ length;
#X text 741 635 Change the overdamp of a link. i.e a strange parametter
that amplifie forces that oposed to movment. Use at your own risk.
;
-#X text 745 732 \$1 : link (number or Id);
-#X msg 587 711 setLDTab \$1 \$2;
-#X text 744 712 change the table (D) size of a non linear link;
-#X text 746 749 \$2 : New DL;
-#X text 744 788 \$1 : link (number or Id);
-#X msg 589 769 setEnd \$1 \$2 \$3;
-#X text 743 804 \$2 : mass number for end 1;
-#X text 743 771 Change the masses a link is connected to;
-#X text 742 820 \$3 : mass number for end 2;
-#X msg 601 792 setEnd1 \$1 \$2;
-#X msg 601 814 setEnd2 \$1 \$2;
+#X text 744 728 \$1 : link (number or Id);
+#X msg 589 709 setEnd \$1 \$2 \$3;
+#X text 743 744 \$2 : mass number for end 1;
+#X text 743 711 Change the masses a link is connected to;
+#X text 742 760 \$3 : mass number for end 2;
+#X msg 601 732 setEnd1 \$1 \$2;
+#X msg 601 754 setEnd2 \$1 \$2;
+#X msg 593 99 setK \$1 \$2;
+#X msg 31 134 setPosY \$1 \$2;
+#X msg 29 391 grabMass \$1 \$2 \$3 \$4;
+#X text 202 408 \$1 \$2 \$3 : position;
#X restore 12 398 pd dynamic settings ___;
#X text 188 398 To set the model parameters after creation.;
-#N canvas 306 135 1234 920 masses_attributes 0;
+#N canvas 385 152 1237 753 masses_attributes 0;
#X obj 5 95 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
@@ -360,7 +352,7 @@ that amplifie forces that oposed to movment. Use at your own risk.
0;
#X obj 5 351 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
-#X obj 10 157 cnv 15 110 150 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 10 157 cnv 15 150 150 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 7 94 General :;
#X text 7 2 ATTRIBUTES Messages;
@@ -370,7 +362,7 @@ that amplifie forces that oposed to movment. Use at your own risk.
#X text 173 613 Output all forces applied on masses in a list on outlet
No 1;
#X text 171 416 Output all masses x or y in a list on outlet No 1;
-#X text 171 444 Output all norm of position vector (sqrt(x*x+y*y))
+#X text 171 449 Output all norm of position vector (sqrt(x*x+y*y))
in a list on outlet No 1;
#X obj 12 486 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
@@ -404,7 +396,6 @@ a list on outlet No 1;
No 1;
#X text 804 322 Output all norm of forces vector (sqrt(x*x+y*y)) in
a list on outlet No 1;
-#X msg 13 459 massesPosNormL (\$1);
#X text 794 35 Output all masses positions in a table (\$1);
#X text 794 67 Output all masses x or y in a table (\$1);
#X text 794 95 Output all norm of position vector (sqrt(x*x+y*y)) in
@@ -412,84 +403,83 @@ a table (\$1);
#X text 175 712 \$1 (optional): Masses Id;
#X text 815 376 \$2 (optional): Masses Id;
#X text 814 363 \$1 : table name;
-#X text 608 5 tables :;
#X text 15 30 The attributes messages ask the object to output some
of his internal parameters. They can be output by lists for positions
and forces of masses \, or directly send value to a table.;
-#X obj 623 488 cnv 15 150 95 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 617 468 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 783 516 output the closest mass;
-#X text 620 468 others :;
-#X text 782 530 \$1 : x -position;
-#X text 782 545 \$2 : y -position;
-#X text 782 560 \$3 : z -position;
-#X text 782 572 \$4 : none or Id;
-#X msg 628 516 closestMass \$1 \$2 \$3 (\$4);
-#X msg 13 383 massPosL (\$1);
-#X msg 13 402 massPosXL (\$1);
-#X msg 13 421 massPosYL (\$1);
-#X msg 13 440 massPosZL (\$1);
-#X msg 15 569 massSpeedsNormL (\$1);
-#X msg 14 493 massSpeedL (\$1);
-#X msg 15 512 massSpeedXL (\$1);
-#X msg 14 530 massSpeedYL (\$1);
-#X msg 15 549 massSpeedZL (\$1);
-#X msg 18 606 massForceL (\$1);
-#X msg 16 625 massForceXL (\$1);
-#X msg 16 644 massForceYL (\$1);
-#X msg 15 663 massForceZL (\$1);
-#X msg 615 38 massPosT \$1 (\$2);
-#X msg 615 57 massPosXT \$1 (\$2);
-#X msg 615 76 massPosYT \$1 (\$2);
-#X msg 615 95 massPosZT \$1 (\$2);
-#X msg 614 114 massPosNormT \$1 (\$2);
-#X msg 616 152 massSpeedsT \$1 (\$2);
-#X msg 616 171 massSpeedsXT \$1 (\$2);
-#X msg 616 190 massSpeedsYT \$1 (\$2);
-#X msg 616 209 massSpeedsZT \$1 (\$2);
-#X msg 616 228 massSpeedsNormT \$1 (\$2);
-#X msg 617 259 massForcesT \$1 (\$2);
-#X msg 616 278 massForcesXT \$1 (\$2);
-#X msg 616 297 massForcesYT \$1 (\$2);
-#X msg 616 316 massForcesZT \$1 (\$2);
-#X msg 616 335 massSpeedsNormT \$1 (\$2);
+#X obj 611 561 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 609 539 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 790 568 output the closest mass;
+#X text 612 539 others :;
+#X text 789 582 \$1 : x -position;
+#X text 789 597 \$2 : y -position;
+#X text 789 612 \$3 : z -position;
+#X text 789 624 \$4 : none or Id;
#X msg 14 165 massPos [\$1];
-#X text 136 167 \$1 : id float or symbol of masses (nothing for all)
+#X text 187 166 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 137 187 output a message for every masses :;
-#X text 167 204 massPos symbolId number posX posY posZ;
-#X text 136 227 \$1 : id float or symbol of masses (nothing for all)
+#X text 188 186 output a message for every masses :;
+#X text 218 203 massPos symbolId number posX posY posZ;
+#X text 187 226 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 137 247 output a message for every masses :;
-#X text 167 264 massPos symbolId number speedX speedY speedZ;
-#X text 136 286 \$1 : id float or symbol of masses (nothing for all)
+#X text 188 246 output a message for every masses :;
+#X text 218 263 massPos symbolId number speedX speedY speedZ;
+#X text 187 285 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 137 302 output a message for every masses :;
+#X text 188 301 output a message for every masses :;
#X msg 14 284 massForce [\$1];
-#X text 167 319 massPos symbolId number forceX forceY forceZ;
-#X obj 11 115 cnv 15 100 35 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 136 124 Get infos on all masses and links on right outlet;
-#X msg 33 124 print;
+#X text 218 318 massPos symbolId number forceX forceY forceZ;
#X msg 14 225 massSpeed [\$1];
-#X msg 15 682 massForceNormL (\$1);
-#X text 806 596 output a series of message :;
-#X msg 628 596 massDistance [\$1 [\$2]];
-#X text 825 617 distance mass1 mass2 distanceX \, distanceY \, distanceZ
+#X text 781 648 output a series of message :;
+#X msg 618 647 massDistance [\$1 [\$2]];
+#X text 796 662 distance mass1 mass2 distanceX \, distanceY \, distanceZ
\, distance;
-#X obj 12 728 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text 15 728 Table :;
-#X msg 21 756 forceXT \$1 [\$2];
-#X msg 22 776 forceYT \$1 [\$2];
-#X msg 21 796 forceZT \$1 [\$2];
-#X text 163 782 \$1 : table name;
-#X text 162 801 \$2 : masses name;
-#X text 161 759 apply a force to masses. Force come from a table;
+#X obj 608 410 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 768 464 \$1 : table name;
+#X text 767 483 \$2 : masses name;
+#X text 766 441 apply a force to masses. Force come from a table;
+#X msg 13 383 massPosL [\$1];
+#X msg 13 402 massPosXL [\$1];
+#X msg 13 421 massPosYL [\$1];
+#X msg 13 440 massPosZL [\$1];
+#X msg 13 459 massesPosNormL [\$1];
+#X msg 14 493 massSpeedL [\$1];
+#X msg 15 512 massSpeedXL [\$1];
+#X msg 14 530 massSpeedYL [\$1];
+#X msg 15 549 massSpeedZL [\$1];
+#X msg 15 569 massSpeedsNormL [\$1];
+#X msg 18 606 massForceL [\$1];
+#X msg 16 625 massForceXL [\$1];
+#X msg 16 644 massForceYL [\$1];
+#X msg 15 663 massForceZL [\$1];
+#X msg 15 682 massForceNormL [\$1];
+#X obj 609 431 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 617 438 forceXT \$1 [\$2];
+#X msg 618 458 forceYT \$1 [\$2];
+#X msg 617 478 forceZT \$1 [\$2];
+#X msg 615 38 massPosT \$1 [\$2];
+#X msg 615 57 massPosXT \$1 [\$2];
+#X msg 615 76 massPosYT \$1 [\$2];
+#X msg 615 95 massPosZT \$1 [\$2];
+#X msg 614 114 massPosNormT \$1 [\$2];
+#X msg 616 152 massSpeedsT \$1 [\$2];
+#X msg 616 171 massSpeedsXT \$1 [\$2];
+#X msg 616 188 massSpeedsYT \$1 [\$2];
+#X msg 616 209 massSpeedsZT \$1 [\$2];
+#X msg 616 228 massSpeedsNormT \$1 [\$2];
+#X msg 617 259 massForcesT \$1 [\$2];
+#X msg 616 278 massForcesXT \$1 [\$2];
+#X msg 616 297 massForcesYT \$1 [\$2];
+#X msg 616 316 massForcesZT \$1 [\$2];
+#X msg 616 335 massSpeedsNormT \$1 [\$2];
+#X msg 622 570 closestMass \$1 \$2 \$3 [\$4];
+#X text 608 5 tables out :;
+#X text 611 410 Table in:;
#X restore 12 419 pd masses_attributes __;
-#N canvas 274 125 1643 924 links_attributes 0;
+#N canvas 146 101 1223 808 links_attributes 0;
#X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 8 260 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
@@ -498,8 +488,6 @@ and forces of masses \, or directly send value to a table.;
0;
#X text 7 2 ATTRIBUTES Messages;
#X text 5 239 Lists :;
-#X text 168 332 Output all norm of position vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
#X obj 9 374 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 9 487 cnv 15 150 110 empty empty empty 20 12 0 14 -233017 -66577
@@ -527,116 +515,123 @@ No 1;
on outlet No 1;
#X text 182 647 Output all link lenght deformation speed in x or y
in a list on outlet No 1;
-#X text 212 675 Output all norm of link lenght deformation speed vector
-(sqrt(x*x+y*y)) in a list on outlet No 1;
#X obj 612 369 cnv 15 150 110 empty empty empty 20 12 0 14 -233017
-66577 0;
#X text 808 377 Output all link lenght deformation speed in a list
on outlet No 1;
#X text 808 413 Output all link lenght deformation speed in x or y
in a list on outlet No 1;
-#X text 838 441 Output all norm of link lenght deformation speed vector
-(sqrt(x*x+y*y)) in a list on outlet No 1;
-#X text 794 35 Output all links center positions in a table (\$1);
+#X text 794 35 Output all links center positions in a table [\$1];
#X text 794 67 Output all links center positions x or y in a table
-(\$1);
-#X text 793 105 Output all norm of links center positions vector (sqrt(x*x+y*y))
-in a table (\$1);
+[\$1];
#X text 168 385 Output all link lenght in a list on outlet No 1;
#X text 170 418 Output all link lenght in x or y in a list on outlet
No 1;
-#X text 179 446 Output all norm of link lenght vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
#X text 169 501 Output all link center speed in a list on outlet No
1;
#X text 173 531 Output all link center speed in x or y in a list on
outlet No 1;
-#X text 192 567 Output all norm of link center speed vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
#X text 797 154 Output all link length in a list on outlet No 1;
#X text 796 181 Output all link length in x or y in a list on outlet
No 1;
-#X text 799 218 Output all norm of link length vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
#X text 795 264 Output all link center speed in a list on outlet No
1;
#X text 799 294 Output all link center speed in x or y in a list on
outlet No 1;
-#X text 815 326 Output all norm of link center speed vector (sqrt(x*x+y*y))
-in a list on outlet No 1;
-#X msg 9 271 linkPosL (\$1);
-#X msg 9 290 linkPosXL (\$1);
-#X msg 10 309 linkPosYL (\$1);
-#X msg 10 328 linkPosZL (\$1);
-#X msg 10 347 linkPosNormL (\$1);
-#X msg 11 381 linkLengthL (\$1);
-#X msg 11 400 linkLengthXL (\$1);
-#X msg 11 419 linkLengthYL (\$1);
-#X msg 12 438 linkLengthZL (\$1);
-#X msg 14 494 linkPosSpeedL (\$1);
-#X msg 14 513 linkPosSpeedXL (\$1);
-#X msg 13 532 linkPosSpeedYL (\$1);
-#X msg 13 551 linkPosSpeedsZL (\$1);
-#X msg 12 570 linkPosSpeedNormL (\$1);
-#X msg 12 610 linkLengthSpeedL (\$1);
-#X msg 12 629 linkLengthSpeedXL (\$1);
-#X msg 12 648 linkLengthSpeedYL (\$1);
-#X msg 13 667 linkLengthSpeedZL (\$1);
-#X msg 615 38 linkPosT \$1 (\$2);
-#X msg 615 57 linkPosXT \$1 (\$2);
-#X msg 615 75 linkPosYT \$1 (\$2);
-#X msg 615 95 linkPosZT \$1 (\$2);
-#X msg 614 114 linkPosNormT \$1 (\$2);
-#X msg 616 152 linkLengthT \$1 (\$2);
-#X msg 616 171 linkLengthXT \$1 (\$2);
-#X msg 616 190 linkLengthYT \$1 (\$2);
-#X msg 616 209 linkLengthZT \$1 (\$2);
-#X msg 615 228 linkLengthNormT \$1 (\$2);
-#X msg 616 259 linkPosSpeedT \$1 (\$2);
-#X msg 616 278 linkPosSpeedXT \$1 (\$2);
-#X msg 616 297 linkPosSpeedYT \$1 (\$2);
-#X msg 616 316 linkPosSpeedZT \$1 (\$2);
-#X msg 616 335 linkPosSpeedNormT \$1 (\$2);
-#X msg 614 376 linkLengthSpeedT \$1 (\$2);
-#X msg 613 395 linkLengthSpeedXT \$1 (\$2);
-#X msg 614 414 linkLengthSpeedYT \$1 (\$2);
-#X msg 615 433 linkLengthSpeedZT \$1 (\$2);
-#X obj 8 88 cnv 15 110 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 134 98 \$1 : id float or symbol of masses (nothing for all)
+#X msg 9 290 linkPosXL [\$1];
+#X msg 10 309 linkPosYL [\$1];
+#X msg 10 328 linkPosZL [\$1];
+#X msg 10 347 linkPosNormL [\$1];
+#X msg 11 381 linkLengthL [\$1];
+#X msg 11 400 linkLengthXL [\$1];
+#X msg 11 419 linkLengthYL [\$1];
+#X msg 12 438 linkLengthZL [\$1];
+#X msg 14 494 linkPosSpeedL [\$1];
+#X msg 14 513 linkPosSpeedXL [\$1];
+#X msg 13 532 linkPosSpeedYL [\$1];
+#X msg 13 551 linkPosSpeedsZL [\$1];
+#X msg 12 570 linkPosSpeedNormL [\$1];
+#X msg 12 610 linkLengthSpeedL [\$1];
+#X msg 12 629 linkLengthSpeedXL [\$1];
+#X msg 12 648 linkLengthSpeedYL [\$1];
+#X msg 13 667 linkLengthSpeedZL [\$1];
+#X msg 615 38 linkPosT \$1 [\$2];
+#X msg 615 57 linkPosXT \$1 [\$2];
+#X msg 615 75 linkPosYT \$1 [\$2];
+#X msg 615 95 linkPosZT \$1 [\$2];
+#X msg 614 114 linkPosNormT \$1 [\$2];
+#X msg 616 152 linkLengthT \$1 [\$2];
+#X msg 616 171 linkLengthXT \$1 [\$2];
+#X msg 616 190 linkLengthYT \$1 [\$2];
+#X msg 616 209 linkLengthZT \$1 [\$2];
+#X msg 615 228 linkLengthNormT \$1 [\$2];
+#X msg 616 259 linkPosSpeedT \$1 [\$2];
+#X msg 616 278 linkPosSpeedXT \$1 [\$2];
+#X msg 616 297 linkPosSpeedYT \$1 [\$2];
+#X msg 616 316 linkPosSpeedZT \$1 [\$2];
+#X msg 616 335 linkPosSpeedNormT \$1 [\$2];
+#X msg 614 376 linkLengthSpeedT \$1 [\$2];
+#X msg 613 395 linkLengthSpeedXT \$1 [\$2];
+#X msg 614 414 linkLengthSpeedYT \$1 [\$2];
+#X msg 615 433 linkLengthSpeedZT \$1 [\$2];
+#X obj 8 88 cnv 15 150 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 172 93 \$1 : id float or symbol of masses (nothing for all)
;
-#X text 134 158 \$1 : id float or symbol of masses (nothing for all)
+#X text 172 153 \$1 : id float or symbol of masses (nothing for all)
;
#X msg 12 96 linkPos [\$1];
#X msg 12 156 linkEnd [\$1];
-#X text 135 118 output a message for every links :;
-#X text 135 178 output a message for every links :;
-#X text 164 135 linkPos symbolId number centerX centerY centerZ;
-#X text 134 194 linkEnd symbolId number posX1 posY1 posZ1 posX2 posY2
+#X text 173 113 output a message for every links :;
+#X text 173 173 output a message for every links :;
+#X text 202 130 linkPos symbolId number centerX centerY centerZ;
+#X text 172 189 linkEnd symbolId number posX1 posY1 posZ1 posX2 posY2
posZ2;
#X obj 2 69 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 5 69 generic :;
-#X msg 10 457 linkLengthNormL (\$1);
-#X msg 13 687 linkLengthSpeedNormL (\$1);
-#X msg 615 453 linkLengthSpeedNormT \$1 (\$2);
-#X msg 617 556 linkEndT \$1 [\$2];
-#X text 798 559 Put position of the 2 link end on a table (\$1) \,
+#X msg 10 457 linkLengthNormL [\$1];
+#X msg 13 687 linkLengthSpeedNormL [\$1];
+#X msg 615 453 linkLengthSpeedNormT \$1 [\$2];
+#X obj 614 543 cnv 15 150 250 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 608 522 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 611 522 tables :;
+#X msg 628 551 linkEndT \$1 [\$2];
+#X text 790 551 Put position of the 2 link end on a table [\$1] \,
filter on link id is possible;
-#X text 803 591 table is posX1 posY1 posZ1 posX2 posY2 posZ2 ....;
-#X msg 629 576 linkEnd1T \$1 [\$2];
-#X msg 628 596 linkEnd2T \$1 [\$2];
-#X msg 627 617 linkEndXT \$1 [\$2];
-#X msg 627 636 linkEnd1XT \$1 [\$2];
-#X msg 627 656 linkEnd2XT \$1 [\$2];
-#X msg 628 678 linkEndYT \$1 [\$2];
-#X msg 630 698 linkEnd1YT \$1 [\$2];
-#X msg 629 718 linkEnd2YT \$1 [\$2];
-#X msg 628 738 linkEndZT \$1 [\$2];
-#X msg 630 758 linkEnd1ZT \$1 [\$2];
-#X msg 629 778 linkEnd2ZT \$1 [\$2];
+#X text 795 583 table is posX1 posY1 posZ1 posX2 posY2 posZ2 ....;
+#X msg 640 571 linkEnd1T \$1 [\$2];
+#X msg 639 591 linkEnd2T \$1 [\$2];
+#X msg 638 612 linkEndXT \$1 [\$2];
+#X msg 638 631 linkEnd1XT \$1 [\$2];
+#X msg 638 651 linkEnd2XT \$1 [\$2];
+#X msg 639 673 linkEndYT \$1 [\$2];
+#X msg 641 693 linkEnd1YT \$1 [\$2];
+#X msg 640 713 linkEnd2YT \$1 [\$2];
+#X msg 639 733 linkEndZT \$1 [\$2];
+#X msg 641 753 linkEnd1ZT \$1 [\$2];
+#X msg 640 773 linkEnd2ZT \$1 [\$2];
+#X msg 9 271 linkPosL [\$1);
+#X text 168 332 Output all norm of position vector (sqrt(x*x+y*y+z*z))
+in a list on outlet No 1;
+#X text 179 446 Output all norm of link lenght vector (sqrt(x*x+y*y+z*z))
+in a list on outlet No 1;
+#X text 192 565 Output all norm of link center speed vector (sqrt(x*x+y*y+z*z))
+in a list on outlet No 1;
+#X text 212 675 Output all norm of link lenght deformation speed vector
+(sqrt(x*x+y*y+z*z)) in a list on outlet No 1;
+#X text 793 105 Output all norm of links center positions vector (sqrt(x*x+y*y+z*z))
+in a table [\$1];
+#X text 799 218 Output all norm of link length vector (sqrt(x*x+y*y+z*z))
+in a list on outlet No 1;
+#X text 815 326 Output all norm of link center speed vector (sqrt(x*x+y*y+z*z))
+in a list on outlet No 1;
+#X text 838 441 Output all norm of link lenght deformation speed vector
+(sqrt(x*x+y*y+z*z)) in a list on outlet No 1;
#X restore 12 439 pd links_attributes ___;
-#N canvas 0 50 901 640 More_Info 0;
+#N canvas 1 83 901 640 More_Info 0;
#X text 96 12 pmpd : mass - spring - damper model;
#X text 27 155 Be careful : if masses are deleted \, lists messages
won't work;
@@ -866,7 +861,7 @@ their Id.;
#X text 416 133 1 Create window;
#X msg 318 211 forceZ 1 30;
#X msg 318 233 forceX mob 10;
-#N canvas 915 128 774 655 tests 0;
+#N canvas 911 140 774 655 tests 0;
#X msg 20 26 testMass testId filterId filter_parametter ...;
#X text 315 29 output a message for every masses that pass all the
tests:;
@@ -906,7 +901,7 @@ if it pass all test or not;
/ connectedTo \$1 (symbol or float);
#X restore 12 460 pd tests ______________;
#X text 188 463 To test specific parametters;
-#N canvas 995 176 666 599 interactors 0;
+#N canvas 991 188 666 599 interactors 0;
#X msg 16 24 iCylinder \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 [\$10 [\$11
[\$12 [\$13 [\$14]]]]];
#X text 28 58 \$1 : mess Id (float or symbol) to apply this interactor
@@ -919,8 +914,6 @@ if it pass all test or not;
#X text 24 155 \$12 : power of the tengential force;
#X text 23 170 \$13 : minimum radius of the interactor;
#X text 22 185 \$14 : maximum radius of the interactor;
-#X text 24 241 \$1 : mess Id (float or symbol) to apply this interactor
-;
#X text 23 254 \$2 \$3 \$4 : vector perpendicular to the place;
#X text 22 268 \$5 \$6 \$7 : one point of the plane;
#X text 23 282 \$8 : K;
@@ -939,15 +932,17 @@ if it pass all test or not;
#X text 20 463 \$8 : minimum radius of the interactor;
#X text 19 478 \$9 : maximum radius of the interactor;
#X msg 13 365 iSphere \$1 \$2 \$3 \$4 \$5 \$6 [\$7 [\$8 [\$9]]];
+#X text 24 241 \$1 : mass Id (float or symbol) to apply this interactor
+;
#X restore 12 479 pd interactors ________;
-#N canvas 1 89 965 752 statistics 0;
+#N canvas 1 95 700 758 statistics 0;
#X obj 25 41 cnv 15 150 270 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 19 21 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
#X text 185 70 \$1 : none or Id;
-#X text 187 107 \$1 : none or Id;
-#X text 185 157 \$1 : none or Id;
+#X text 188 115 \$1 : none or Id;
+#X text 188 162 \$1 : none or Id;
#X text 187 194 \$1 : none or Id;
#X text 185 242 \$1 : none or Id;
#X text 186 279 \$1 : none or Id;
@@ -968,7 +963,7 @@ center distance;
\, Norm);
#X text 181 263 output the standard deviation of masses velocity;
#X text 22 21 masses :;
-#X obj 29 357 cnv 15 150 220 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 29 357 cnv 15 150 350 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 23 337 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577
0;
@@ -1005,6 +1000,8 @@ Z \, Norm);
;
#X text 26 337 links :;
#X restore 13 501 pd statistics _________;
+#X text 185 480 To send complex forces;
+#X text 187 503 To get statistical data of the simulation;
#X connect 35 0 40 0;
#X connect 38 0 50 0;
#X connect 40 0 34 0;