public static RevoluteJoint CreateRevoluteJoint( World world, Body bodyA, Body bodyB, Vector2 anchor ) { var localanchorA = bodyA.getLocalPoint( bodyB.getWorldPoint( anchor ) ); var joint = new RevoluteJoint( bodyA, bodyB, localanchorA, anchor ); world.addJoint( joint ); return joint; }
/// <summary> /// Attaches the bodies with revolute joints. /// </summary> /// <param name="world">The world.</param> /// <param name="bodies">The bodies.</param> /// <param name="localAnchorA">The local anchor A.</param> /// <param name="localAnchorB">The local anchor B.</param> /// <param name="connectFirstAndLast">if set to <c>true</c> [connect first and last].</param> /// <param name="collideConnected">if set to <c>true</c> [collide connected].</param> public static List<RevoluteJoint> attachBodiesWithRevoluteJoint( World world, List<Body> bodies, Vector2 localAnchorA, Vector2 localAnchorB, bool connectFirstAndLast, bool collideConnected ) { var joints = new List<RevoluteJoint>( bodies.Count + 1 ); for( int i = 1; i < bodies.Count; i++ ) { RevoluteJoint joint = new RevoluteJoint( bodies[i], bodies[i - 1], localAnchorA, localAnchorB ); joint.collideConnected = collideConnected; world.addJoint( joint ); joints.Add( joint ); } if( connectFirstAndLast ) { RevoluteJoint lastjoint = new RevoluteJoint( bodies[0], bodies[bodies.Count - 1], localAnchorA, localAnchorB ); lastjoint.collideConnected = collideConnected; world.addJoint( lastjoint ); joints.Add( lastjoint ); } return joints; }
public static AngleJoint CreateAngleJoint( World world, Body bodyA, Body bodyB ) { var angleJoint = new AngleJoint( bodyA, bodyB ); world.addJoint( angleJoint ); return angleJoint; }
public static WheelJoint CreateWheelJoint( World world, Body bodyA, Body bodyB, Vector2 anchor, Vector2 axis, bool useWorldCoordinates = false ) { WheelJoint joint = new WheelJoint( bodyA, bodyB, anchor, axis, useWorldCoordinates ); world.addJoint( joint ); return joint; }
public static WeldJoint CreateWeldJoint( World world, Body bodyA, Body bodyB, Vector2 anchorA, Vector2 anchorB, bool useWorldCoordinates = false ) { var weldJoint = new WeldJoint( bodyA, bodyB, anchorA, anchorB, useWorldCoordinates ); world.addJoint( weldJoint ); return weldJoint; }
public static RopeJoint CreateRopeJoint( World world, Body bodyA, Body bodyB, Vector2 anchorA, Vector2 anchorB, bool useWorldCoordinates = false ) { var ropeJoint = new RopeJoint( bodyA, bodyB, anchorA, anchorB, useWorldCoordinates ); world.addJoint( ropeJoint ); return ropeJoint; }
public static FixedMouseJoint CreateFixedMouseJoint( World world, Body body, Vector2 worldAnchor ) { var joint = new FixedMouseJoint( body, worldAnchor ); world.addJoint( joint ); return joint; }
public static PulleyJoint CreatePulleyJoint( World world, Body bodyA, Body bodyB, Vector2 anchorA, Vector2 anchorB, Vector2 worldAnchorA, Vector2 worldAnchorB, float ratio, bool useWorldCoordinates = false ) { var pulleyJoint = new PulleyJoint( bodyA, bodyB, anchorA, anchorB, worldAnchorA, worldAnchorB, ratio, useWorldCoordinates ); world.addJoint( pulleyJoint ); return pulleyJoint; }
public static MotorJoint CreateMotorJoint( World world, Body bodyA, Body bodyB, bool useWorldCoordinates = false ) { var joint = new MotorJoint( bodyA, bodyB, useWorldCoordinates ); world.addJoint( joint ); return joint; }
public static GearJoint CreateGearJoint( World world, Body bodyA, Body bodyB, Joint jointA, Joint jointB, float ratio ) { var gearJoint = new GearJoint( bodyA, bodyB, jointA, jointB, ratio ); world.addJoint( gearJoint ); return gearJoint; }
public static FrictionJoint CreateFrictionJoint( World world, Body bodyA, Body bodyB, Vector2 anchor, bool useWorldCoordinates = false ) { var frictionJoint = new FrictionJoint( bodyA, bodyB, anchor, useWorldCoordinates ); world.addJoint( frictionJoint ); return frictionJoint; }
public static DistanceJoint CreateDistanceJoint( World world, Body bodyA, Body bodyB, Vector2 anchorA, Vector2 anchorB, bool useWorldCoordinates = false ) { var distanceJoint = new DistanceJoint( bodyA, bodyB, anchorA, anchorB, useWorldCoordinates ); world.addJoint( distanceJoint ); return distanceJoint; }