aboutsummaryrefslogtreecommitdiff
path: root/pmpd3d.h
diff options
context:
space:
mode:
authorN.N. <nimon@users.sourceforge.net>2013-01-23 14:02:00 +0000
committerN.N. <nimon@users.sourceforge.net>2013-01-23 14:02:00 +0000
commita77d8afbe8ae7903825da080d01561462132c072 (patch)
tree4ad3ee99a69d07c00ce70373620ad03b34f745b3 /pmpd3d.h
parent6e61a93db2dceb3aba8c1b1623d41a9f19d4b7a0 (diff)
pmpd3d : code factorisation
svn path=/trunk/externals/pmpd/; revision=16973
Diffstat (limited to 'pmpd3d.h')
-rw-r--r--pmpd3d.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/pmpd3d.h b/pmpd3d.h
new file mode 100644
index 0000000..88d21ab
--- /dev/null
+++ b/pmpd3d.h
@@ -0,0 +1,68 @@
+/*
+ * pmpd3d.h
+ *
+ */
+
+#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 *pmpd3d_class;
+
+typedef struct _mass {
+ t_symbol *Id;
+ int mobile;
+ t_float invM;
+ t_float speedX;
+ t_float speedY;
+ t_float speedZ;
+ t_float posX;
+ t_float posY;
+ t_float posZ;
+ t_float forceX;
+ t_float forceY;
+ t_float forceZ;
+ t_float D2;
+ t_float D2offset;
+ 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_float VZ;
+ 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;
+ t_float forceZ;
+} foo1 ;
+
+typedef struct _pmpd3d {
+ 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, minZ, maxZ;
+ t_int grab; // si on grab une mass ou pas
+ t_int grab_nb; // la masse grabé
+} t_pmpd3d; \ No newline at end of file