ERP in BulletHingeConstraint is not changeable

Dear enn0x and colleagues

I have two questions on ERP (Error Reduction Parameter) in the hinge constraint using Bullet.

Question 1:
Is the definition of ERP originally from ODE (Open Dynamics Engine) ?
Of course, the bullet with Panda3d is from Bullet and the ERP is defined in bullet web site;
bulletphysics.org/mediawiki-1.5. … efinitions
bulletphysics.org/Bullet/phpBB3/ … f=9&t=6792

But the detail of ERP is not described in the URL above.
Here, I found the definition, which is the document of ODE written by Dr. Russell Smith and may be original
ode.org/ode-latest-userguide.html#sec_3_7_0

Would you think it is the original definition of ERP ?

Question 2:
ERP in BulletHingeConstraint is not changeable
I tried to set ERP using the code described below , according to the references
panda3d.org/reference/devel … embers.php

And examined the change of ERP using joint.getParam().
Then I found ERP can not be changed.
I guess you have converted the code in C++
github.com/panda3d/panda3d/blob … nt.cxx#L46
into Python, and I refer to the source code.

Is my code wrong ?

joint = BulletHingeConstraint( jointA.node(), jointB.node(), pivotA2B, pivotB2A,	Vec3(0,1,0), Vec3(0,1,0) , True )
# parameters
erp = 0.1
stoperp = 0.2
cfm = 0.3
stopcfm = 0.4
# set each parameter
joint.setParam(BulletHingeConstraint.CPErp, erp)
joint.setParam(BulletHingeConstraint.CPStopErp, stoperp)
joint.setParam(BulletHingeConstraint.CPCfm, cfm)
joint.setParam(BulletHingeConstraint.CPStopCfm, stopcfm)

erp = joint.getParam(BulletHingeConstraint.CPErp) 
stoperp = joint.getParam(BulletHingeConstraint.CPStopErp) 
cfm = joint.getParam(BulletHingeConstraint.CPCfm)
stopcfm = joint.getParam(BulletHingeConstraint.CPStopCfm)
print "Erp = %f, StopErp = %f, Cfm = %f, StopCfm = %f" % (erp,stoperp, cfm, stopcfm)

bpWorld.attachConstraint(joint)