Esempio n. 1
0
        public static LipDeform FromLipCode(LipCode code)
        {
            switch (code)
            {
            case LipCode.A:
                return(A());

            case LipCode.I:
                return(I());

            case LipCode.U:
                return(U());

            case LipCode.E:
                return(E());

            case LipCode.O:
                return(O());

            case LipCode.N:
                return(N());

            case LipCode.Closed:
                return(Silence());

            default:
                throw new ArgumentOutOfRangeException(nameof(code), code, null);
            }
        }
Esempio n. 2
0
        public static bool IsVoice(this LipCode code)
        {
            switch (code)
            {
            case LipCode.A:
            case LipCode.I:
            case LipCode.U:
            case LipCode.E:
            case LipCode.O:
            case LipCode.N:
            case LipCode.Closed:
                return(true);

            case LipCode.Control1:
            case LipCode.Control2:
            case LipCode.Control3:
                return(false);

            default:
                throw new ArgumentOutOfRangeException(nameof(code), code, null);
            }
        }
Esempio n. 3
0
        private static bool DoesLipCodeInfluenceLipMorph(LipCode code)
        {
            switch (code)
            {
            case LipCode.A:
            case LipCode.I:
            case LipCode.U:
            case LipCode.E:
            case LipCode.O:
            case LipCode.N:
            case LipCode.Closed:
                return(true);

            case LipCode.Control1:
            case LipCode.Control2:
            case LipCode.Control3:
                return(false);

            default:
                throw new ArgumentOutOfRangeException(nameof(code), code, "Invalid lip code.");
            }
        }
Esempio n. 4
0
 public static bool IsControl(this LipCode code)
 {
     return(!IsVoice(code));
 }