B2.GearJoint
From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Supported platforms:
Available since: Gideros 2011.6
Inherits from: b2.Joint
Description
A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.
Examples
Gear joint combining revolute and prismatic joints
--create empty box2d body for joint
local ground = world:createBody({})
--create revolute joint
--note that ground should be passed as first parameter here
local jointDef = b2.createRevoluteJointDef(ground, body1, 300, 300)
local revoluteJoint = world:createJoint(jointDef)
--set motor
revoluteJoint:setMaxMotorTorque(1)
revoluteJoint:enableMotor(true)
--axisx, axisy values usually between 0 and 1
--note that ground should be passed as first parameter here
local jointDef = b2.createPrismaticJointDef(ground, body2, 350, 100, 0.3, 1)
local prismaticJoint = world:createJoint(jointDef)
--set motor
prismaticJoint:setMaxMotorForce(1)
prismaticJoint:enableMotor(true)
--create gear joint using two already created joints
local jointDef = b2.createGearJointDef(body1, body2, revoluteJoint, prismaticJoint, 1)
local gearJoint = world:createJoint(jointDef)
Methodsb2.GearJoint:getRatio returns the gear ratio |
EventsConstants |