From f45e8f73be55206441581aa71f26fa2b5c5a1a57 Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Sun, 24 Aug 2014 17:59:14 +0000 Subject: update help and main file svn path=/trunk/externals/pmpd/; revision=17338 --- pmpd2d-help.pd | 242 ++++++++++++++++++++++++++++----------------------------- pmpd2d.c | 1 + 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 -- cgit v1.2.1