aboutsummaryrefslogtreecommitdiff
path: root/pmpd3d_various.c
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2013-02-11 16:57:35 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2013-02-11 16:57:35 +0000
commit7f927c2f4a64c883eaab73472291c8aed2d769a8 (patch)
treea3ee0828e3d3f9fe7bb6b7fd013351cff0644363 /pmpd3d_various.c
parentc6e20af88d58602d44e5eefcf72a690265c4f616 (diff)
lot's of new features...
svn path=/trunk/externals/pmpd/; revision=17031
Diffstat (limited to 'pmpd3d_various.c')
-rw-r--r--pmpd3d_various.c257
1 files changed, 0 insertions, 257 deletions
diff --git a/pmpd3d_various.c b/pmpd3d_various.c
index 5ff2ec5..88713c6 100644
--- a/pmpd3d_various.c
+++ b/pmpd3d_various.c
@@ -418,263 +418,6 @@ void pmpd3d_massesDistances(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv)
}
}
-void pmpd3d_enumMasses(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv)
-{
- t_int i, j, test, tmp, tmp2;
- t_atom std_out[1];
-
-
- for (i=0; i < x->nb_mass; i++)
- {
- j = 0;
- test = 1;
-
- while ( (j < argc-1) && (test) )
- {
- if (atom_getsymbolarg(j,argc,argv) == gensym("Id") )
- {
- if ( x->mass[i].Id != atom_getsymbolarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("posXSup") )
- {
- if ( x->mass[i].posX < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("posXInf") )
- {
- if ( x->mass[i].posX > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("posYSup") )
- {
- if ( x->mass[i].posY < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("posYInf") )
- {
- if ( x->mass[i].posY > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("posZSup") )
- {
- if ( x->mass[i].posZ < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("posZInf") )
- {
- if ( x->mass[i].posZ > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedXSup") )
- {
- if ( x->mass[i].speedX < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedXInf") )
- {
- if ( x->mass[i].speedX > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedYSup") )
- {
- if ( x->mass[i].speedY < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedYInf") )
- {
- if ( x->mass[i].speedY > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedZSup") )
- {
- if ( x->mass[i].speedZ < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedZInf") )
- {
- if ( x->mass[i].speedZ > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedSup") )
- {
- tmp = x->mass[i].speedX * x->mass[i].speedX;
- tmp += x->mass[i].speedY * x->mass[i].speedY;
- tmp += x->mass[i].speedZ * x->mass[i].speedZ;
-
- if ( ( tmp < atom_getfloatarg(j+1,argc,argv)) * atom_getfloatarg(j+1,argc,argv) ) test = 0;
-
- j+= 2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("speedInf") )
- {
- tmp = x->mass[i].speedX * x->mass[i].speedX;
- tmp += x->mass[i].speedY * x->mass[i].speedY;
- tmp += x->mass[i].speedZ * x->mass[i].speedZ;
-
- if ( ( tmp > atom_getfloatarg(j+1,argc,argv)) * atom_getfloatarg(j+1,argc,argv) ) test = 0;
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("distanceCircleInf"))
- {
- tmp = x->mass[i].posX - atom_getfloatarg(j+1,argc,argv);
- tmp *= tmp;
- tmp2 = x->mass[i].posY - atom_getfloatarg(j+2,argc,argv);
- tmp = tmp + tmp2 * tmp2;
- tmp2 = x->mass[i].posZ - atom_getfloatarg(j+3,argc,argv);
- tmp = tmp + tmp2 * tmp2;
- tmp2 = atom_getfloatarg(j+4,argc,argv);
-
- if ( tmp > (tmp2 * tmp2) ) test = 0;
- j += 5;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("distanceCircleSup"))
- {
- tmp = x->mass[i].posX - atom_getfloatarg(j+1,argc,argv);
- tmp *= tmp;
- tmp2 = x->mass[i].posY - atom_getfloatarg(j+2,argc,argv);
- tmp = tmp + tmp2 * tmp2;
- tmp2 = x->mass[i].posZ - atom_getfloatarg(j+3,argc,argv);
- tmp = tmp + tmp2 * tmp2;
- tmp2 = atom_getfloatarg(j+4,argc,argv);
-
- if ( tmp < (tmp2 * tmp2) ) test = 0;
- j += 5;
- }
- // mass weight
- else
- {
- post("nor reconize %s",atom_getsymbolarg(j,argc,argv));
- j+=1;
- }
- }
- if (test)
- {
- SETFLOAT(&(std_out[0]),i);
- outlet_anything(x->main_outlet, gensym("listMasses"),1,std_out);
- }
- }
-}
-
-void pmpd3d_enumLinks(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv)
-{
- t_int i, j, test, tmp, tmp2;
- t_atom std_out[1];
-
-
- for (i=0; i < x->nb_link; i++)
- {
- j = 0;
- test = 1;
-
- while ( (j < argc-1) && (test) )
- {
-
- if (atom_getsymbolarg(j,argc,argv) == gensym("Id") )
- {
- if ( x->link[i].Id != atom_getsymbolarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("forcesXSup") )
- {
- if ( x->link[i].forceX < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("forcesXInf") )
- {
- if ( x->link[i].forceX > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("forcesYSup") )
- {
- if ( x->link[i].forceY < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("forcesYInf") )
- {
- if ( x->link[i].forceY > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("forcesZSup") )
- {
- if ( x->link[i].forceZ < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("forcesZInf") )
- {
- if ( x->link[i].forceZ > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("forcesSup") )
- {
- tmp = x->link[i].forceX;
- tmp *= tmp;
- tmp2 = x->link[i].forceY;
- tmp = tmp + tmp2*tmp2;
- tmp2 = x->link[i].forceZ;
- tmp = tmp + tmp2*tmp2;
-
- tmp2 = atom_getfloatarg(j+1,argc,argv);
- tmp2 *= tmp2;
-
- if ( tmp < tmp2 ) { test = 0; j+=2;}
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("forcesInf") )
- {
- tmp = x->link[i].forceX;
- tmp = tmp * tmp;
- tmp2 = x->link[i].forceY;
- tmp = tmp + tmp2*tmp2;
- tmp2 = x->link[i].forceZ;
- tmp = tmp + tmp2*tmp2;
-
- tmp2 = atom_getfloatarg(j+1,argc,argv);
- tmp2 *= tmp2;
-
- if ( tmp > tmp2 ) { test = 0; j+=2;}
- }
- else if (atom_getsymbolarg(j,argc,argv) == gensym("lengthSup") )
- {
- if ( x->link[i].distance < atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("lengthInf") )
- {
- if ( x->link[i].distance > atom_getfloatarg(j+1,argc,argv) ) { test = 0; }
- j+=2;
- }
- else if ( atom_getsymbolarg(j,argc,argv) == gensym("connectedTo") )
- {
- if (argv[j+1].a_type == A_SYMBOL)
- {
- if (!( (x->link[i].mass1->Id == atom_getsymbolarg(j+1,argc,argv)) || (x->link[i].mass2->Id == atom_getsymbolarg(j+1,argc,argv)) ))
- { test = 0; j+=2;}
- }
- else if (argv[j+1].a_type == A_FLOAT)
- {
- if (!( (x->link[i].mass1->num == atom_getfloatarg(j+1,argc,argv)) || (x->link[i].mass2->num == atom_getfloatarg(j+1,argc,argv)) ))
- { test = 0; j+=2;}
- }
- else
- {
- post("bad argument for connectedTo");
- j+=1;
- }
- }
- else
- {
- post("nor reconize %s",atom_getsymbolarg(j,argc,argv));
- j+=1;
- }
- }
- if (test)
- {
- SETFLOAT(&(std_out[0]),i);
- outlet_anything(x->main_outlet, gensym("listLinks"),1,std_out);
- }
- }
-}
-
void pmpd3d_forcesXT(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv)
{
// add forces to masses. forces comes from a table, masse can be filter on ther Id or not