void cpRatchetJointSetAngle(cpConstraint *constraint, cpFloat angle) { cpAssertHard(cpConstraintIsRatchetJoint(constraint), "Constraint is not a ratchet joint."); cpConstraintActivateBodies(constraint); ((cpRatchetJoint *)constraint)->angle = angle; }
void cpDampedRotarySpringSetDamping(cpConstraint *constraint, cpFloat damping) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->damping = damping; }
void cpDampedRotarySpringSetSpringTorqueFunc(cpConstraint *constraint, cpDampedRotarySpringTorqueFunc springTorqueFunc) { cpAssertHard(cpConstraintIsDampedRotarySpring(constraint), "Constraint is not a damped rotary spring."); cpConstraintActivateBodies(constraint); ((cpDampedRotarySpring *)constraint)->springTorqueFunc = springTorqueFunc; }
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; }
void cpPinJointSetDist(cpConstraint *constraint, cpFloat dist) { cpAssertHard(cpConstraintIsPinJoint(constraint), "Constraint is not a pin joint."); cpConstraintActivateBodies(constraint); ((cpPinJoint *)constraint)->dist = dist; }
void cpRatchetJointSetRatchet(cpConstraint *constraint, cpFloat ratchet) { cpAssertHard(cpConstraintIsRatchetJoint(constraint), "Constraint is not a ratchet joint."); cpConstraintActivateBodies(constraint); ((cpRatchetJoint *)constraint)->ratchet = ratchet; }
void cpSimpleMotorSetRate(cpConstraint *constraint, cpFloat rate) { cpAssertHard(cpConstraintIsSimpleMotor(constraint), "Constraint is not a pin joint."); cpConstraintActivateBodies(constraint); ((cpSimpleMotor *)constraint)->rate = rate; }
void cpPivotJointSetAnchorB(cpConstraint *constraint, cpVect anchorB) { cpAssertHard(cpConstraintIsPivotJoint(constraint), "Constraint is not a pivot joint."); cpConstraintActivateBodies(constraint); ((cpPivotJoint *)constraint)->anchorB = anchorB; }
void cpRotaryLimitJointSetMax(cpConstraint *constraint, cpFloat max) { cpAssertHard(cpConstraintIsRotaryLimitJoint(constraint), "Constraint is not a rotary limit joint."); cpConstraintActivateBodies(constraint); ((cpRotaryLimitJoint *)constraint)->max = max; }
void cpConstraintSetErrorBias(cpConstraint *constraint, cpFloat errorBias) { cpAssertHard(errorBias >= 0.0f, "errorBias must be positive."); cpConstraintActivateBodies(constraint); constraint->errorBias = errorBias; }
void cpGrooveJointSetAnchorB(cpConstraint *constraint, cpVect anchorB) { cpAssertHard(cpConstraintIsGrooveJoint(constraint), "Constraint is not a groove joint."); cpConstraintActivateBodies(constraint); ((cpGrooveJoint *)constraint)->anchorB = anchorB; }
void cpConstraintSetMaxBias(cpConstraint *constraint, cpFloat maxBias) { cpAssertHard(maxBias >= 0.0f, "maxBias must be positive."); cpConstraintActivateBodies(constraint); constraint->maxBias = maxBias; }
void cpConstraintSetMaxForce(cpConstraint *constraint, cpFloat maxForce) { cpAssertHard(maxForce >= 0.0f, "maxForce must be positive."); cpConstraintActivateBodies(constraint); constraint->maxForce = maxForce; }
void cpGearJointSetPhase(cpConstraint *constraint, cpFloat phase) { cpAssertHard(cpConstraintIsGearJoint(constraint), "Constraint is not a ratchet joint."); cpConstraintActivateBodies(constraint); ((cpGearJoint *)constraint)->phase = phase; }
void cpPinJointSetAnchorA(cpConstraint *constraint, cpVect anchorA) { cpAssertHard(cpConstraintIsPinJoint(constraint), "Constraint is not a pin joint."); cpConstraintActivateBodies(constraint); ((cpPinJoint *)constraint)->anchorA = anchorA; }
void cpGearJointSetRatio(cpConstraint *constraint, cpFloat ratio) { cpAssertHard(cpConstraintIsGearJoint(constraint), "Constraint is not a ratchet joint."); cpConstraintActivateBodies(constraint); ((cpGearJoint *)constraint)->ratio = ratio; ((cpGearJoint *)constraint)->ratio_inv = 1.0f/ratio; }
void cpGearJointSetRatio(cpConstraint *constraint, cpFloat value) { cpConstraintCheckCast(constraint, cpGearJoint); ((cpGearJoint *)constraint)->ratio = value; ((cpGearJoint *)constraint)->ratio_inv = 1.0f/value; cpConstraintActivateBodies(constraint); }
void cpGrooveJointSetGrooveB(cpConstraint *constraint, cpVect value) { cpAssertHard(cpConstraintIsGrooveJoint(constraint), "Constraint is not a groove joint."); cpGrooveJoint *g = (cpGrooveJoint *)constraint; g->grv_b = value; g->grv_n = cpvperp(cpvnormalize(cpvsub(value, g->grv_a))); cpConstraintActivateBodies(constraint); }
void cpGrooveJointSetGrooveB(cpConstraint *constraint, cpVect value) { cpGrooveJoint *g = (cpGrooveJoint *)constraint; cpConstraintCheckCast(constraint, cpGrooveJoint); g->grv_b = value; g->grv_n = cpvperp(cpvnormalize(cpvsub(value, g->grv_a))); cpConstraintActivateBodies(constraint); }
void cpConstraintSetCollideBodies(cpConstraint *constraint, cpBool collideBodies) { cpConstraintActivateBodies(constraint); constraint->collideBodies = collideBodies; }