diff options
author | Cyrille Henry <nusmuk@users.sourceforge.net> | 2013-04-08 22:57:39 +0000 |
---|---|---|
committer | Cyrille Henry <nusmuk@users.sourceforge.net> | 2013-04-08 22:57:39 +0000 |
commit | ae5c64be35653c67533176657bdb16f471fcf50f (patch) | |
tree | c1b3c04939698b1866e486f2185f5cd47989e8d0 /pmpd2d.h | |
parent | cdc1e62f0dd1a08648fc5e7bd6a9b5138a036681 (diff) |
code refactorisation, and few new fonctionalities copied from pmpd3d
svn path=/trunk/externals/pmpd/; revision=17073
Diffstat (limited to 'pmpd2d.h')
-rw-r--r-- | pmpd2d.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/pmpd2d.h b/pmpd2d.h new file mode 100644 index 0000000..a9a1cf4 --- /dev/null +++ b/pmpd2d.h @@ -0,0 +1,60 @@ +#define nb_max_link 100000 +#define nb_max_mass 100000 + +#define max(a,b) ( ((a) > (b)) ? (a) : (b) ) +#define min(a,b) ( ((a) < (b)) ? (a) : (b) ) + +static t_class *pmpd2d_class; + +typedef struct _mass { + t_symbol *Id; + int mobile; + t_float invM; + t_float speedX; + t_float speedY; + t_float posX; + t_float posY; + t_float forceX; + t_float forceY; + t_float D2; + t_float D2offset; + t_float overdamp; + int num; +} foo; + +typedef struct _link { + t_symbol *Id; + int lType; + struct _mass *mass1; + struct _mass *mass2; + t_int active; + t_float K; + t_float D; + t_float L; + t_float Pow; + t_float Lmin; + t_float Lmax; + t_float distance; + t_float VX; // vecteur portant la liaison, si c'est le cas + t_float VY; + t_symbol *arrayK; + t_symbol *arrayD; + t_float K_L; // longeur du tabeau K + t_float D_L; // longeur du tabeau D + t_float forceX; + t_float forceY; +} foo1 ; + +typedef struct _pmpd2d { + t_object x_obj; + struct _link link[nb_max_link]; + struct _mass mass[nb_max_mass]; + t_outlet *main_outlet; + t_outlet *info_outlet; + int nb_link; + int nb_mass; + t_float minX, maxX, minY, maxY; + t_int grab; // si on grab une mass ou pas + t_int grab_nb; // la masse grabé +} t_pmpd2d; + |