Exemple #1
0
        /// <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);
        }
Exemple #2
0
 /// <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);
 }