/// <summary> /// Constructs a new constraint which attempts to restrict the relative angular motion of two entities. /// </summary> /// <param name="connectionA">First connection of the pair.</param> /// <param name="connectionB">Second connection of the pair.</param> public AngularMotor(Entity connectionA, Entity connectionB) { ConnectionA = connectionA; ConnectionB = connectionB; settings = new MotorSettingsOrientation(this); //Compute the rotation from A to B in A's local space. Quaternion orientationAConjugate; Quaternion.Conjugate(ref connectionA.orientation, out orientationAConjugate); Quaternion.Concatenate(ref connectionB.orientation, ref orientationAConjugate, out settings.servo.goal); }
/// <summary> /// Constructs a new constraint which attempts to restrict the relative angular motion of two entities. /// To finish the initialization, specify the connections (ConnectionA and ConnectionB). /// This constructor sets the constraint's IsActive property to false by default. /// </summary> public AngularMotor() { IsActive = false; settings = new MotorSettingsOrientation(this); }