/* Simple test of cpConstraintIsDampedRotarySpring(). */ void test_cpConstraintIsDampedRotarySpring(void) { cpConstraint *isDampedRotarySpring = cpDampedRotarySpringNew(body1, body2, 1, 1,1); cpConstraint *isNotDampedRotarySpring = cpGrooveJointNew(body1, body2, cpv(0, 0), cpv(0, 0), cpv(3, 3)); CU_ASSERT(cpConstraintIsDampedRotarySpring(isDampedRotarySpring)); CU_ASSERT_FALSE(cpConstraintIsDampedRotarySpring(isNotDampedRotarySpring)); }
void cpDampedRotarySpringSetSpringTorqueFunc(cpConstraint *constraint, cpDampedRotarySpringTorqueFunc springTorqueFunc) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->springTorqueFunc = springTorqueFunc; }
void cpDampedRotarySpringSetDamping(cpConstraint *constraint, cpFloat damping) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->damping = damping; }
void cpDampedRotarySpringSetStiffness(cpConstraint *constraint, cpFloat stiffness) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->stiffness = stiffness; }
void cpDampedRotarySpringSetRestAngle(cpConstraint *constraint, cpFloat restAngle) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->restAngle = restAngle; }
cpDampedRotarySpringTorqueFunc cpDampedRotarySpringGetSpringTorqueFunc(const cpConstraint *constraint) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); return ((cpDampedRotarySpring *)constraint)->springTorqueFunc; }
cpFloat cpDampedRotarySpringGetDamping(const cpConstraint *constraint) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); return ((cpDampedRotarySpring *)constraint)->damping; }