aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2014-08-24 17:59:14 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2014-08-24 17:59:14 +0000
commitf45e8f73be55206441581aa71f26fa2b5c5a1a57 (patch)
tree7283e4893ef690ea397f212d3819a5862c856bcb
parentb7b84d0b2330ae3d4b65ed18d8931eb0fe5b9da9 (diff)
update help and main file
svn path=/trunk/externals/pmpd/; revision=17338
-rw-r--r--pmpd2d-help.pd242
-rw-r--r--pmpd2d.c1
2 files changed, 122 insertions, 121 deletions
diff --git a/pmpd2d-help.pd b/pmpd2d-help.pd
index a0277c2..22be33d 100644
--- a/pmpd2d-help.pd
+++ b/pmpd2d-help.pd
@@ -1,4 +1,4 @@
-#N canvas 283 184 572 750 10;
+#N canvas 281 189 572 750 10;
#X declare -lib Gem;
#X obj 4 309 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577
0;
@@ -574,131 +574,131 @@ the model. Messages create links and masses or destroy them.;
links. They work as general links but their calculation is made following
a vector.;
#X restore 12 407 pd creation____________;
-#N canvas 80 129 1057 814 dynamic 0;
-#X obj -35 3 cnv 15 900 15 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -30 85 cnv 15 150 670 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -36 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X obj 434 86 cnv 15 130 670 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 427 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
-0;
-#X text -23 62 Masses :;
-#X text 440 62 Links :;
-#X text -23 2 DYNAMIC SETTINGS Messages;
-#X msg 0 183 forceX \$1 \$2;
-#X text 150 114 \$1 : Id (symbol) or No;
-#X text 153 184 \$1 : Id (symbol) or No;
-#X msg -20 311 setMobile \$1;
-#X msg -20 332 setFixed \$1;
-#X text 126 94 Set position of fixed mass(es);
-#X text 131 227 Set minimimum and maximum position of all masses;
-#X text 133 311 Set mass to mobile or fixed;
-#X msg 443 150 setD \$1 \$2;
-#X msg 443 99 setK \$1 \$2;
-#X text 571 98 Set rigidity of link(s);
-#X text 571 154 Set damping of link(s);
-#X msg 443 205 setL \$1 \$2;
-#X text 571 207 Set initial lenght of link(s);
-#X text 607 116 \$1 : Id (symbol) or No;
-#X text 607 172 \$1 : Id (symbol) or No;
-#X text 607 225 \$1 : Id (symbol) or No;
-#X text 157 329 \$1 : Id (symbol) or No;
-#X msg -20 353 grabMass \$1 \$2 \$3;
-#X msg 0 204 forceY \$1 \$2;
-#X msg -20 411 setMassId \$1 \$2;
-#X text 132 410 Change the Id of a mass;
-#X text 160 428 \$1 : mass (number or Id);
-#X msg -21 531 setSpeed \$1 \$2;
-#X text 160 487 \$1 : Id (symbol) or No;
-#X text 130 467 set force on mass(es);
-#X text 160 550 \$1 : Id (symbol) or No;
-#X text 128 531 set speed of a mass(es);
-#X text 160 610 \$1 : Id (symbol) or No;
-#X text 131 592 add pos of a mass(es);
-#X text 161 388 \$3 : grab or not (0 or 1);
-#X msg -20 467 setForce \$1 \$2 \$3;
-#X text 160 505 \$2 / \$3 : Value;
-#X msg 0 487 setForceX \$1 \$2;
-#X msg 0 506 setForceY \$1 \$2;
-#X msg -20 163 force \$1 \$2 \$3;
-#X text 156 241 \$1 / \$2 : Value;
-#X msg -1 550 setSpeedX \$1 \$2;
-#X msg -1 569 setSpeedY \$1 \$2;
-#X text 160 567 \$2 / \$3 : Value;
-#X text 161 628 \$2 / \$3 : Value;
-#X msg -20 592 addPos \$1 \$2 \$3;
-#X msg 443 346 setLinkId \$1 \$2;
-#X text 572 347 Change the Id of a link;
-#X text 607 379 \$2 : New Id;
-#X msg 443 406 setLKTab \$1 \$2;
-#X text 571 406 change the table (K) size of a non linear link;
-#X text 609 443 \$2 : New KL;
-#X msg 443 468 setLDTab \$1 \$2;
-#X text 571 468 change the table (D) size of a non linear link;
-#X text 607 505 \$2 : New DL;
-#X msg -19 225 min \$1 \$2;
-#X msg -19 245 max \$1 \$2;
-#X msg 0 611 addPosX \$1 \$2;
-#X msg 0 631 addPosY \$1 \$2;
-#X text 159 733 \$1 : Id (symbol) or No;
-#X msg -22 717 setDEnvOffset \$1 \$2;
-#X text 129 717 Change environement damping offset;
-#X text 133 662 Change environement damping;
-#X msg -21 662 setDEnv \$1 \$2;
-#X text 159 678 \$1 : Id (symbol) or No;
-#X msg 1 265 minX \$1;
-#X msg 60 265 maxX \$1;
-#X msg 1 287 minY \$1;
-#X msg 60 287 maxY \$1;
-#X msg -19 96 setPos \$1 \$2 \$3;
-#X msg 1 116 setPosX \$1 \$2;
-#X msg 1 137 setPosY \$1 \$2;
-#X text 575 272 Set initial lenght of link(s);
-#X text 607 290 \$1 : Id (symbol) or No;
-#X msg 442 271 setLCurrent \$1 [\$2];
-#X text 607 308 \$2 : mix between link size (0) and curent length (1)
+#N canvas 100 142 1031 818 dynamic 0;
+#X obj 5 3 cnv 15 900 15 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 10 85 cnv 15 150 670 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 4 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X obj 474 86 cnv 15 130 670 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 467 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577
+0;
+#X text 17 62 Masses :;
+#X text 480 62 Links :;
+#X text 17 2 DYNAMIC SETTINGS Messages;
+#X msg 40 183 forceX \$1 \$2;
+#X text 190 114 \$1 : Id (symbol) or No;
+#X text 193 184 \$1 : Id (symbol) or No;
+#X msg 20 311 setMobile \$1;
+#X msg 20 332 setFixed \$1;
+#X text 166 94 Set position of fixed mass(es);
+#X text 171 227 Set minimimum and maximum position of all masses;
+#X text 173 311 Set mass to mobile or fixed;
+#X msg 483 150 setD \$1 \$2;
+#X msg 483 99 setK \$1 \$2;
+#X text 611 98 Set rigidity of link(s);
+#X text 611 154 Set damping of link(s);
+#X msg 483 205 setL \$1 \$2;
+#X text 611 207 Set initial lenght of link(s);
+#X text 647 116 \$1 : Id (symbol) or No;
+#X text 647 172 \$1 : Id (symbol) or No;
+#X text 647 225 \$1 : Id (symbol) or No;
+#X text 197 329 \$1 : Id (symbol) or No;
+#X msg 20 353 grabMass \$1 \$2 \$3;
+#X msg 40 204 forceY \$1 \$2;
+#X msg 20 411 setMassId \$1 \$2;
+#X text 172 410 Change the Id of a mass;
+#X text 200 428 \$1 : mass (number or Id);
+#X msg 19 531 setSpeed \$1 \$2;
+#X text 200 487 \$1 : Id (symbol) or No;
+#X text 170 467 set force on mass(es);
+#X text 200 550 \$1 : Id (symbol) or No;
+#X text 168 531 set speed of a mass(es);
+#X text 200 610 \$1 : Id (symbol) or No;
+#X text 171 592 add pos of a mass(es);
+#X text 201 388 \$3 : grab or not (0 or 1);
+#X msg 20 467 setForce \$1 \$2 \$3;
+#X text 200 505 \$2 / \$3 : Value;
+#X msg 40 487 setForceX \$1 \$2;
+#X msg 40 506 setForceY \$1 \$2;
+#X msg 20 163 force \$1 \$2 \$3;
+#X text 196 241 \$1 / \$2 : Value;
+#X msg 39 550 setSpeedX \$1 \$2;
+#X msg 39 569 setSpeedY \$1 \$2;
+#X text 200 567 \$2 / \$3 : Value;
+#X text 201 628 \$2 / \$3 : Value;
+#X msg 20 592 addPos \$1 \$2 \$3;
+#X msg 483 346 setLinkId \$1 \$2;
+#X text 612 347 Change the Id of a link;
+#X text 647 379 \$2 : New Id;
+#X msg 483 406 setLKTab \$1 \$2;
+#X text 611 406 change the table (K) size of a non linear link;
+#X text 649 443 \$2 : New KL;
+#X msg 483 468 setLDTab \$1 \$2;
+#X text 611 468 change the table (D) size of a non linear link;
+#X text 647 505 \$2 : New DL;
+#X msg 21 225 min \$1 \$2;
+#X msg 21 245 max \$1 \$2;
+#X msg 40 611 addPosX \$1 \$2;
+#X msg 40 631 addPosY \$1 \$2;
+#X text 199 733 \$1 : Id (symbol) or No;
+#X msg 18 717 setDEnvOffset \$1 \$2;
+#X text 169 717 Change environement damping offset;
+#X text 173 662 Change environement damping;
+#X msg 19 662 setDEnv \$1 \$2;
+#X text 199 678 \$1 : Id (symbol) or No;
+#X msg 41 265 minX \$1;
+#X msg 100 265 maxX \$1;
+#X msg 41 287 minY \$1;
+#X msg 100 287 maxY \$1;
+#X msg 21 96 setPos \$1 \$2 \$3;
+#X msg 41 116 setPosX \$1 \$2;
+#X msg 41 137 setPosY \$1 \$2;
+#X text 615 272 Set initial lenght of link(s);
+#X text 647 290 \$1 : Id (symbol) or No;
+#X msg 482 271 setLCurrent \$1 [\$2];
+#X text 647 308 \$2 : mix between link size (0) and curent length (1)
;
-#X text 574 576 compute the link at each bang;
-#X msg 444 620 setOverdamp \$1 \$2;
-#X text 609 664 \$2 : overdamp value;
-#X msg 446 685 setEnd \$1 \$2 \$3;
-#X text 603 720 \$2 : mass number for end 1;
-#X text 571 686 Change the masses a link is connected to;
-#X text 603 736 \$3 : mass number for end 2;
-#X msg 460 708 setEnd1 \$1 \$2;
-#X msg 460 730 setEnd2 \$1 \$2;
-#X text 131 352 Grab nearest mass and move it;
-#X text 161 372 \$1 \$2 : position;
-#X text -30 25 Dynamic settings messages allow the user to redefine
+#X text 614 576 compute the link at each bang;
+#X msg 484 620 setOverdamp \$1 \$2;
+#X text 649 664 \$2 : overdamp value;
+#X msg 486 685 setEnd \$1 \$2 \$3;
+#X text 643 720 \$2 : mass number for end 1;
+#X text 611 686 Change the masses a link is connected to;
+#X text 643 736 \$3 : mass number for end 2;
+#X msg 500 708 setEnd1 \$1 \$2;
+#X msg 500 730 setEnd2 \$1 \$2;
+#X text 171 352 Grab nearest mass and move it;
+#X text 201 372 \$1 \$2 : position;
+#X text 10 25 Dynamic settings messages allow the user to redefine
internal parameters of links and masses.;
-#X text 131 163 Add force to mass(es);
-#X text 632 326 if no \$2 arg is provided \, then L is set to current
+#X text 171 163 Add force to mass(es);
+#X text 672 326 if no \$2 arg is provided \, then L is set to current
length;
-#X text 574 532 do not compute a link anymore;
-#X text 570 621 Change the overdamp of a link. i.e a strange parameter
+#X text 614 532 do not compute a link anymore;
+#X text 610 621 Change the overdamp of a link. i.e a strange parameter
that amplifies forces opposed to movment. Use at your own risk.;
-#X text 485 771 if only 1 argument is provided \, message generally
+#X text 525 771 if only 1 argument is provided \, message generally
uses this argument as the value applied to all masses (or links);
-#X text 607 363 \$1 : link (Id (symbol) or No);
-#X text 608 426 \$1 : link (Id (symbol) or No);
-#X text 607 488 \$1 : link (Id (symbol) or No);
-#X text 608 552 \$1 : link (Id (symbol) or No);
-#X text 608 596 \$1 : link (Id (symbol) or No);
-#X text 609 650 \$1 : link (Id (symbol) or No);
-#X text 603 704 \$1 : link (Id (symbol) or No);
-#X text 607 134 \$2 : New value (float or table);
-#X text 607 190 \$2 : New value (float or table);
-#X text 607 243 \$2 : New value (float or table);
-#X text 160 748 \$2 : damping (float or table);
-#X text 160 693 \$2 : damping (float or table);
-#X text 159 445 \$2 : New Id;
-#X text 152 202 \$2 / \$3 : Value (float or symbol);
-#X msg 443 532 setInactive \$1;
-#X msg 444 576 setActive \$1;
-#X text 150 131 \$2 / \$3 : Value (float or table);
+#X text 647 363 \$1 : link (Id (symbol) or No);
+#X text 648 426 \$1 : link (Id (symbol) or No);
+#X text 647 488 \$1 : link (Id (symbol) or No);
+#X text 648 552 \$1 : link (Id (symbol) or No);
+#X text 648 596 \$1 : link (Id (symbol) or No);
+#X text 649 650 \$1 : link (Id (symbol) or No);
+#X text 643 704 \$1 : link (Id (symbol) or No);
+#X text 647 134 \$2 : New value (float or table);
+#X text 647 190 \$2 : New value (float or table);
+#X text 647 243 \$2 : New value (float or table);
+#X text 200 748 \$2 : damping (float or table);
+#X text 200 693 \$2 : damping (float or table);
+#X text 199 445 \$2 : New Id;
+#X text 192 202 \$2 / \$3 : Value (float or symbol);
+#X msg 483 532 setInactive \$1;
+#X msg 484 576 setActive \$1;
+#X text 190 131 \$2 / \$3 : Value (float or table);
#X restore 12 427 pd dynamic settings ___;
#X text 112 658 54_pmpd2dtest.pd;
#X obj 325 272 print;
diff --git a/pmpd2d.c b/pmpd2d.c
index a401c24..7e0c99b 100644
--- a/pmpd2d.c
+++ b/pmpd2d.c
@@ -114,6 +114,7 @@ void pmpd2d_setup(void)
class_addmethod(pmpd2d_class, (t_method)pmpd2d_massForce, gensym("massForce"), A_GIMME, 0);
class_addmethod(pmpd2d_class, (t_method)pmpd2d_linkPos, gensym("linkPos"), A_GIMME, 0);
class_addmethod(pmpd2d_class, (t_method)pmpd2d_linkEnd, gensym("linkEnd"), A_GIMME, 0);
+ class_addmethod(pmpd2d_class, (t_method)pmpd2d_linkLength, gensym("linkLength"), A_GIMME, 0);
/*
pmpd2d_list