From 6cb09178caa3fdd8876432998b0a62a04ffd4872 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Tue, 7 Sep 2010 16:07:33 +0000 Subject: svn path=/trunk/externals/nusmuk/; revision=13979 --- msd.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'msd.h') diff --git a/msd.h b/msd.h index 1216c83..f278b0d 100644 --- a/msd.h +++ b/msd.h @@ -127,7 +127,7 @@ public: inline bool getMobile() const { return invM != 0; } - inline void setMobile() { invM = M?1.f/M:1.; } + inline void setMobile() { invM = M?1/M:0.; } inline void setFixed() { invM = 0; } inline void compute(t_float limit[N][2]) @@ -1265,13 +1265,17 @@ protected: if(IsSymbol(argv[0])) { typename IDMap::iterator it; //typename IDMap::iterator it; - for(it = massids.find(GetSymbol(argv[0])); it; ++it) + for(it = massids.find(GetSymbol(argv[0])); it; ++it) { it.data()->M = ma; + it.data()->invM = ma?1/ma:0.; + } } else { t_mass *m = mass.find(GetAInt(argv[0])); - if(m) + if(m) { m->M = ma; + m->invM = ma?1/ma:0.; + } else error("%s - %s : Index not found",thisName(),GetString(thisTag())); } -- cgit v1.2.1