예제 #1
0
 static Quaternion ApplyRotBlendHint(
     Quaternion rotA, BlendHintValue hintA, 
     Quaternion rotB, BlendHintValue hintB, 
     Quaternion original, Quaternion blended)
 {
     if (((hintA | hintB) & BlendHintValue.NoOrientation) == 0)
         return blended;
     if (((hintA & hintB) & BlendHintValue.NoOrientation) != 0)
         return original;
     if ((hintA & BlendHintValue.NoOrientation) != 0)
         return rotB;
     return rotA;
 }
예제 #2
0
 static Vector3 ApplyPosBlendHint(
     Vector3 posA, BlendHintValue hintA, 
     Vector3 posB, BlendHintValue hintB, 
     Vector3 original, Vector3 blended)
 {
     if (((hintA | hintB) & BlendHintValue.NoPosition) == 0)
         return blended;
     if (((hintA & hintB) & BlendHintValue.NoPosition) != 0)
         return original;
     if ((hintA & BlendHintValue.NoPosition) != 0)
         return posB;
     return posA;
 }
예제 #3
0
 static Quaternion ApplyRotBlendHint(
     Quaternion rotA, BlendHintValue hintA,
     Quaternion rotB, BlendHintValue hintB,
     Quaternion original, Quaternion blended)
 {
     if (((hintA | hintB) & BlendHintValue.NoOrientation) == 0)
     {
         return(blended);
     }
     if (((hintA & hintB) & BlendHintValue.NoOrientation) != 0)
     {
         return(original);
     }
     if ((hintA & BlendHintValue.NoOrientation) != 0)
     {
         return(rotB);
     }
     return(rotA);
 }
예제 #4
0
 static Vector3 ApplyPosBlendHint(
     Vector3 posA, BlendHintValue hintA,
     Vector3 posB, BlendHintValue hintB,
     Vector3 original, Vector3 blended)
 {
     if (((hintA | hintB) & BlendHintValue.NoPosition) == 0)
     {
         return(blended);
     }
     if (((hintA & hintB) & BlendHintValue.NoPosition) != 0)
     {
         return(original);
     }
     if ((hintA & BlendHintValue.NoPosition) != 0)
     {
         return(posB);
     }
     return(posA);
 }