aboutsummaryrefslogtreecommitdiff
path: root/pmpd2d.h
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2013-04-08 22:57:39 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2013-04-08 22:57:39 +0000
commitae5c64be35653c67533176657bdb16f471fcf50f (patch)
treec1b3c04939698b1866e486f2185f5cd47989e8d0 /pmpd2d.h
parentcdc1e62f0dd1a08648fc5e7bd6a9b5138a036681 (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.h60
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;
+