abstract class CP::Constraint
- CP::Constraint
- Reference
- Object
Overview
A constraint is something that describes how two bodies interact with each other (how they constrain each other). Constraints can be simple joints that allow bodies to pivot around each other like the bones in your body, or they can be more abstract like the gear joint or motors.
Direct Known Subclasses
- CP::Constraint::DampedRotarySpring
- CP::Constraint::DampedSpring
- CP::Constraint::GearJoint
- CP::Constraint::GrooveJoint
- CP::Constraint::PinJoint
- CP::Constraint::PivotJoint
- CP::Constraint::RatchetJoint
- CP::Constraint::RotaryLimitJoint
- CP::Constraint::SimpleMotor
- CP::Constraint::SlideJoint
Defined in:
chipmunk/constraint.crInstance Method Summary
-
#bodies : Tuple(Body, Body)
Get the bodies the constraint is attached to.
-
#body_a : Body
Get the first body the constraint is attached to.
-
#body_b : Body
Get the second body the constraint is attached to.
- #collide_bodies=(collide_bodies : Bool)
-
#collide_bodies? : Bool
Are the two bodies connected by the constraint allowed to collide or not?
-
#error_bias : Float64
Rate at which joint error is corrected.
- #error_bias=(error_bias : Number)
-
#impulse : Float64
Get the most recent impulse applied by this constraint.
-
#max_bias : Float64
The maximum rate at which joint error is corrected.
- #max_bias=(max_bias : Number)
-
#max_force : Float64
The maximum force that this constraint is allowed to use.
- #max_force=(max_force : Number)
-
#post_solve(space : Space)
The post-solve method that is called before the solver runs (can be overridden in a subclass).
-
#pre_solve(space : Space)
The pre-solve method that is called before the solver runs (can be overridden in a subclass).
-
#space : Space | Nil
Get the
Space
this constraint is added to.
Instance Method Detail
Are the two bodies connected by the constraint allowed to collide or not?
(defaults to false)
Rate at which joint error is corrected.
Defaults to (1.0 - 0.1) ** 60.0 meaning that it will correct 10% of the error every 1/60th of a second.
Get the most recent impulse applied by this constraint.
To convert this to a force, divide by the timestep passed to
Space#step
. You can use this to implement breakable joints to check
if the force they attempted to apply exceeded a certain threshold.
The maximum force that this constraint is allowed to use.
(defaults to INFINITY)
The post-solve method that is called before the solver runs (can be overridden in a subclass).
The pre-solve method that is called before the solver runs (can be overridden in a subclass).