diff options
-rw-r--r-- | examples/65_2d_interactors.pd | 8 | ||||
-rw-r--r-- | pmpd2d-help.pd | 16 | ||||
-rw-r--r-- | pmpd2d.c | 2 | ||||
-rw-r--r-- | pmpd2d_interactor.c | 8 |
4 files changed, 22 insertions, 12 deletions
diff --git a/examples/65_2d_interactors.pd b/examples/65_2d_interactors.pd index 9dcc65a..4ddeeec 100644 --- a/examples/65_2d_interactors.pd +++ b/examples/65_2d_interactors.pd @@ -1,4 +1,4 @@ -#N canvas 214 443 905 391 10; +#N canvas 212 448 905 391 10; #X declare -lib Gem; #X obj 52 253 pmpd2d; #X obj 52 78 loadbang; @@ -132,7 +132,7 @@ RaZ \$3 \$4 0.3 0; 0 0 -0.1 1 -0.1 0.1; #X text 483 12 select an interactor and clik-drag the mouse on the gem windows to see the effect.; -#N canvas 432 102 657 333 iTable 0; +#N canvas 430 107 657 333 iMatrix 0; #X obj 192 129 s iteractorX; #X obj 191 207 s iteractorY; #X obj 404 122 table iteractorX 9; @@ -140,11 +140,11 @@ gem windows to see the effect.; #X obj 404 142 table iteractorY 9; #X msg 196 105 0 -1 0 1 -1 0 1 -1 0 1; #X msg 193 185 0 -1 -1 -1 0 0 0 1 1 1; -#X msg 92 61 iTable mobil 0.1 0 1 0 1 3 3 iteractorX iteractorY; +#X msg 92 61 iMatrix mobil 0.1 0 1 0 1 3 3 iteractorX iteractorY; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 7 0 3 0; -#X restore 188 211 pd iTable; +#X restore 188 211 pd iMatrix; #X connect 0 0 10 0; #X connect 1 0 3 0; #X connect 2 0 3 0; diff --git a/pmpd2d-help.pd b/pmpd2d-help.pd index ca88683..4787a01 100644 --- a/pmpd2d-help.pd +++ b/pmpd2d-help.pd @@ -1,4 +1,4 @@ -#N canvas 299 144 572 750 10; +#N canvas 297 149 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; @@ -869,10 +869,10 @@ centerY \, distance) / massSup \$1 / massInf \$1 / forceSup \$1 / forceInf \$1 / forceXSup \$1 / forceXInf \$1 / forceYSup \$1 / forceYInf \$1 ; #X restore 12 486 pd tests ______________; -#N canvas 1087 493 650 358 interactors 0; +#N canvas 1085 498 709 556 interactors 0; #X obj -30 -169 cnv 15 600 15 empty empty empty 20 12 0 14 -233017 -66577 0; -#X obj -30 -147 cnv 15 330 300 empty empty empty 20 12 0 14 -233017 +#X obj -30 -147 cnv 15 330 450 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 25 -105 \$2 \$3 : center of the circle; #X text 24 -91 \$4 : circle radius; @@ -898,6 +898,16 @@ centerY \, distance) / massSup \$1 / massInf \$1 / forceSup \$1 / forceInf #X text -18 -170 INTERACTOR Messages; #X text 310 -140 create a one time circular interaction on masses; #X text 307 21 create a one time linear interaction on masses; +#X msg -16 174 iMatrix \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9; +#X text 25 193 \$1 : mass Id (float or symbol) to apply this interactor +; +#X text 26 208 \$2 : K; +#X text 26 222 \$3 \$4 \$5 \$6 : space limitation of the matrix in +the pm world (Xmin \, Xmax \, Ymin \, Ymax); +#X text 27 250 \$7 \$8 : matrix size; +#X text 27 265 \$9 \$10 : table name (X and Y) containing matrix data +; +#X text 307 171 create a one time spacial interaction on masses; #X restore 12 505 pd interactors ________; #N canvas 1058 327 589 534 statistics 0; #X obj -126 50 cnv 15 150 170 empty empty empty 20 12 0 14 -233017 @@ -277,7 +277,7 @@ void pmpd2d_setup(void) class_addmethod(pmpd2d_class, (t_method)pmpd2d_iCircle, gensym("iCircle"), A_GIMME, 0);
class_addmethod(pmpd2d_class, (t_method)pmpd2d_iLine, gensym("iLine"), A_GIMME, 0);
- class_addmethod(pmpd2d_class, (t_method)pmpd2d_iTable, gensym("iTable"), A_GIMME, 0);
+ class_addmethod(pmpd2d_class, (t_method)pmpd2d_iMatrix, gensym("iMatrix"), A_GIMME, 0);
/*
pmpd2d_various
diff --git a/pmpd2d_interactor.c b/pmpd2d_interactor.c index a2c7437..157a0df 100644 --- a/pmpd2d_interactor.c +++ b/pmpd2d_interactor.c @@ -193,7 +193,7 @@ void pmpd2d_iLine(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv) // -------------------------------------------------------- -void pmpd2d_iTable_i(t_pmpd2d *x, int i, t_float zone_x_min, t_float zone_x_max, t_float zone_y_min, t_float zone_y_max, int taille_x, int taille_y, t_float K, t_word *tableX, t_word *tableY) +void pmpd2d_iMatrix_i(t_pmpd2d *x, int i, t_float zone_x_min, t_float zone_x_max, t_float zone_y_min, t_float zone_y_max, int taille_x, int taille_y, t_float K, t_word *tableX, t_word *tableY) { t_float Xtable, Ytable, Xindex, Yindex, force1, force2, force; int index; @@ -219,7 +219,7 @@ void pmpd2d_iTable_i(t_pmpd2d *x, int i, t_float zone_x_min, t_float zone_x_max, } } -void pmpd2d_iTable(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv) +void pmpd2d_iMatrix(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv) { // Argument : // 0 : mass to apply this interactor @@ -266,13 +266,13 @@ void pmpd2d_iTable(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv) if ( argv[0].a_type == A_FLOAT ) { - pmpd2d_iTable_i(x, (int)atom_getfloatarg(0,argc,argv), Xmin, Xmax, Ymin, Ymax, X, Y, K, vec1, vec2); + pmpd2d_iMatrix_i(x, (int)atom_getfloatarg(0,argc,argv), Xmin, Xmax, Ymin, Ymax, X, Y, K, vec1, vec2); } else if ( argv[0].a_type == A_SYMBOL ) { for (i=0; i < x->nb_mass; i++) { if (atom_getsymbolarg(0,argc,argv) == x->mass[i].Id) { - pmpd2d_iTable_i(x, i, Xmin, Xmax, Ymin, Ymax, X, Y, K, vec1, vec2); + pmpd2d_iMatrix_i(x, i, Xmin, Xmax, Ymin, Ymax, X, Y, K, vec1, vec2); } } } |