public PrismaticJoint(World world, RigidBody body1, RigidBody body2,float minimumDistance, float maximumDistance) : base(world) { fixedAngle = new FixedAngle(body1, body2); pointOnLine = new PointOnLine(body1, body2, body1.position, body2.position); minDistance = new PointPointDistance(body1, body2, body1.position, body2.position); minDistance.Behavior = PointPointDistance.DistanceBehavior.LimitMinimumDistance; minDistance.Distance = minimumDistance; maxDistance = new PointPointDistance(body1, body2, body1.position, body2.position); maxDistance.Behavior = PointPointDistance.DistanceBehavior.LimitMaximumDistance; maxDistance.Distance = maximumDistance; }
private void CreatePointOnLineJoint() { JVector lineStartPointBody1; Vector3D tempVector = ArrayExtensions.GetWithDefault<PropertyType, Vector3D>(Properties, PropertyType.LineStartPointBody); JitterDatatypesMapping.Convert(ref tempVector, out lineStartPointBody1); JVector pointBody2; tempVector = ArrayExtensions.GetWithDefault<PropertyType, Vector3D>(Properties, PropertyType.PointBody); JitterDatatypesMapping.Convert(ref tempVector, out pointBody2); if (RigidBodyB != null) Constraint = new PointOnLine(RigidBodyA, RigidBodyB, lineStartPointBody1, pointBody2); else Logger.Warning("You're trying to create PointOnLine with second " + "body at null.Maybe you should create SingleBodyPointOnLine."); }
public PrismaticJoint(World world, RigidBody body1, RigidBody body2, JVector pointOnBody1, JVector pointOnBody2, float maximumDistance, float minimumDistance) : base(world) { fixedAngle = new FixedAngle(body1, body2); pointOnLine = new PointOnLine(body1, body2, pointOnBody1, pointOnBody2); }
public PrismaticJoint(World world, RigidBody body1, RigidBody body2, JVector pointOnBody1,JVector pointOnBody2) : base(world) { fixedAngle = new FixedAngle(body1, body2); pointOnLine = new PointOnLine(body1, body2, pointOnBody1, pointOnBody2); }
public PrismaticJoint(World world, RigidBody body1, RigidBody body2) : base(world) { fixedAngle = new FixedAngle(body1, body2); pointOnLine = new PointOnLine(body1, body2, body1.position, body2.position); }