Exemplo n.º 1
0
void OscPistonODE::simulationCallback()
{
    ODEConstraint& me = *static_cast<ODEConstraint*>(special());

    dReal pos = dJointGetPistonPosition(me.joint());
    dReal rate = dJointGetPistonPositionRate(me.joint());

    dReal addforce =
        - m_response->m_stiffness.m_value*pos
        - m_response->m_damping.m_value*rate;

    m_force.m_value = addforce;

    dJointAddPistonForce(me.joint(), addforce);
}
Real32 PhysicsPistonJoint::getPistonPosition(void) const
{
    return dJointGetPistonPosition(_JointID);
}