From ae5c64be35653c67533176657bdb16f471fcf50f Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Mon, 8 Apr 2013 22:57:39 +0000 Subject: code refactorisation, and few new fonctionalities copied from pmpd3d svn path=/trunk/externals/pmpd/; revision=17073 --- pmpd2d.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pmpd2d.h (limited to 'pmpd2d.h') 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; + -- cgit v1.2.1