aboutsummaryrefslogtreecommitdiff
path: root/pmpd2d_stat.c
diff options
context:
space:
mode:
Diffstat (limited to 'pmpd2d_stat.c')
-rw-r--r--pmpd2d_stat.c68
1 files changed, 54 insertions, 14 deletions
diff --git a/pmpd2d_stat.c b/pmpd2d_stat.c
index 260b14d..86dfff0 100644
--- a/pmpd2d_stat.c
+++ b/pmpd2d_stat.c
@@ -892,7 +892,7 @@ void pmpd2d_linkLengthSpeedStd(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
void pmpd2d_massInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
{
t_atom info[11];
- int i, j;
+ int i;
if (argc==0)
{
@@ -911,15 +911,12 @@ void pmpd2d_massInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
SETFLOAT(&(info[10]), x->mass[i].forceY);
outlet_anything(x->main_outlet, gensym("massInfo"), 11, info);
}
- SETFLOAT(&(info[0]), x->nb_mass);
- outlet_anything(x->main_outlet, gensym("massNumber"), 1, info);
}
else if ((argc==1) && (argv[0].a_type == A_SYMBOL))
{
- j=0;
for(i=0; i < x->nb_mass; i++)
{
- if (atom_getsymbolarg(0,argc,argv) == x->mass[j].Id)
+ if (atom_getsymbolarg(0,argc,argv) == x->mass[i].Id)
{
SETFLOAT(&(info[0]), i);
SETSYMBOL(&(info[1]), x->mass[i].Id);
@@ -933,11 +930,8 @@ void pmpd2d_massInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
SETFLOAT(&(info[9]), x->mass[i].forceX);
SETFLOAT(&(info[10]), x->mass[i].forceY);
outlet_anything(x->main_outlet, gensym("massInfo"), 11, info);
- j++;
}
}
- SETFLOAT(&(info[0]), j);
- outlet_anything(x->main_outlet, gensym("massNumber"), 1, info);
}
else if ((argc==1) && (argv[0].a_type == A_FLOAT))
{
@@ -963,7 +957,7 @@ void pmpd2d_massInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
void pmpd2d_linkInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
{
t_atom info[14];
- int i, j, k;
+ int i, k;
if (argc==0)
{
@@ -1011,10 +1005,9 @@ void pmpd2d_linkInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
}
else if ((argc==1) && (argv[0].a_type == A_SYMBOL))
{
- j=0;
for(i=0; i < x->nb_link; i++)
{
- if (atom_getsymbolarg(0,argc,argv) == x->link[j].Id)
+ if (atom_getsymbolarg(0,argc,argv) == x->link[i].Id)
{
SETFLOAT(&(info[1]), i);
SETSYMBOL(&(info[2]), x->link[i].Id);
@@ -1053,10 +1046,7 @@ void pmpd2d_linkInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
outlet_anything(x->main_outlet, gensym("linkInfo"), 12, info);
}
}
- j++;
}
- SETFLOAT(&(info[0]), j);
- outlet_anything(x->main_outlet, gensym("linkNumber"), 1, info);
}
else if ((argc==1) && (argv[0].a_type == A_FLOAT))
{
@@ -1102,3 +1092,53 @@ void pmpd2d_linkInfo(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
}
}
}
+
+void pmpd2d_massNumber(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
+{
+ t_atom info[1];
+ int i, j;
+
+ if (argc==0)
+ {
+ SETFLOAT(&(info[0]), x->nb_mass);
+ outlet_anything(x->main_outlet, gensym("massNumber"), 1, info);
+ }
+ else if ((argc==1) && (argv[0].a_type == A_SYMBOL))
+ {
+ j=0;
+ for(i=0; i < x->nb_mass; i++)
+ {
+ if (atom_getsymbolarg(0,argc,argv) == x->mass[j].Id)
+ {
+ j++;
+ }
+ }
+ SETFLOAT(&(info[0]), j);
+ outlet_anything(x->main_outlet, gensym("massNumber"), 1, info);
+ }
+}
+
+void pmpd2d_linkNumber(t_pmpd2d *x, t_symbol *s, int argc, t_atom *argv)
+{
+ t_atom info[1];
+ int i, j ;
+
+ if (argc==0)
+ {
+ SETFLOAT(&(info[0]), x->nb_link);
+ outlet_anything(x->main_outlet, gensym("linkNumber"), 1, info);
+ }
+ else if ((argc==1) && (argv[0].a_type == A_SYMBOL))
+ {
+ j=0;
+ for(i=0; i < x->nb_link; i++)
+ {
+ if (atom_getsymbolarg(0,argc,argv) == x->link[j].Id)
+ {
+ j++;
+ }
+ }
+ SETFLOAT(&(info[0]), j);
+ outlet_anything(x->main_outlet, gensym("linkNumber"), 1, info);
+ }
+}