protected override void CopyTo(JointInfo target) { base.CopyTo(target); FixedRevoluteJointInfo c = target as FixedRevoluteJointInfo; c.worldAnchor = this.worldAnchor; c.localAnchor = this.localAnchor; c.motorSpeed = this.motorSpeed; c.maxMotorTorque = this.maxMotorTorque; c.motorEnabled = this.motorEnabled; c.limitEnabled = this.limitEnabled; c.lowerLimit = this.lowerLimit; c.upperLimit = this.upperLimit; c.refAngle = this.refAngle; }
private void DrawJoint(Canvas canvas, FixedRevoluteJointInfo joint) { float angularCircleRad = joint.BodyA.BoundRadius * 0.25f; this.DrawWorldPosConstraint(canvas, joint.BodyA, joint.LocalAnchor, joint.WorldAnchor); if (joint.LimitEnabled) { this.DrawLocalAngleConstraint( canvas, joint.BodyA, joint.LocalAnchor, joint.LowerLimit + joint.ReferenceAngle, joint.UpperLimit + joint.ReferenceAngle, joint.BodyA.GameObj.Transform.Angle, angularCircleRad); } if (joint.MotorEnabled) { this.DrawLocalAngleMotor(canvas, joint.BodyA, Vector2.Zero, joint.MotorSpeed, joint.MaxMotorTorque, joint.BodyA.BoundRadius * 1.15f); } this.DrawWorldAnchor(canvas, joint.BodyA, joint.WorldAnchor); this.DrawLocalAnchor(canvas, joint.BodyA, joint.LocalAnchor); }