aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/65_2d_interactors.pd8
-rw-r--r--pmpd2d-help.pd16
-rw-r--r--pmpd2d.c2
-rw-r--r--pmpd2d_interactor.c8
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
diff --git a/pmpd2d.c b/pmpd2d.c
index 84878d4..665089d 100644
--- a/pmpd2d.c
+++ b/pmpd2d.c
@@ -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);
}
}
}