[PD-cvs] SF.net SVN: pure-data: [9631] trunk/externals/nusmuk/msd.h
nimon at users.sourceforge.net
nimon at users.sourceforge.net
Thu Mar 27 23:21:58 CET 2008
Revision: 9631
http://pure-data.svn.sourceforge.net/pure-data/?rev=9631&view=rev
Author: nimon
Date: 2008-03-27 15:21:58 -0700 (Thu, 27 Mar 2008)
Log Message:
-----------
added setM function
Modified Paths:
--------------
trunk/externals/nusmuk/msd.h
Modified: trunk/externals/nusmuk/msd.h
===================================================================
--- trunk/externals/nusmuk/msd.h 2008-03-27 22:00:02 UTC (rev 9630)
+++ trunk/externals/nusmuk/msd.h 2008-03-27 22:21:58 UTC (rev 9631)
@@ -1200,6 +1200,31 @@
}
}
+ // set mass of mass(s) named Id or number No
+ void m_setM(int argc,t_atom *argv)
+ {
+ if (argc != 2) {
+ error("%s - %s Syntax : Id/NoLink Value",thisName(),GetString(thisTag()));
+ return;
+ }
+
+ const t_float ma = GetAFloat(argv[1]);
+
+ if(IsSymbol(argv[0])) {
+ typename IDMap<t_mass *>::iterator it;
+ //typename IDMap<t_link *>::iterator it;
+ for(it = massids.find(GetSymbol(argv[0])); it; ++it)
+ it.data()->M = ma;
+ }
+ else {
+ t_mass *m = mass.find(GetAInt(argv[0]));
+ if(m)
+ m->M = ma;
+ else
+ error("%s - %s : Index not found",thisName(),GetString(thisTag()));
+ }
+ }
+
// set damping of link(s) named Id
void m_setD2(int argc,t_atom *argv)
{
@@ -1867,6 +1892,7 @@
FLEXT_CADDMETHOD_(c,0,"setK",m_setK);
FLEXT_CADDMETHOD_(c,0,"setD",m_setD);
FLEXT_CADDMETHOD_(c,0,"setL",m_setL);
+ FLEXT_CADDMETHOD_(c,0,"setM",m_setM);
FLEXT_CADDMETHOD_(c,0,"setD2",m_setD2);
FLEXT_CADDMETHOD_(c,0,"mass",m_mass);
FLEXT_CADDMETHOD_(c,0,"link",m_link);
@@ -1917,6 +1943,7 @@
FLEXT_CALLBACK_V(m_setK)
FLEXT_CALLBACK_V(m_setD)
FLEXT_CALLBACK_V(m_setL)
+ FLEXT_CALLBACK_V(m_setM)
FLEXT_CALLBACK_V(m_setD2)
FLEXT_CALLBACK_V(m_get)
FLEXT_CALLBACK_V(m_delete_link)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Pd-cvs
mailing list