예제 #1
0
        public static bool DependsOn(this IVisitorVariables var, IVisitorVariables other)
        {
            if (var.Equals(other))
            {
                return(false);
            }

            return(other.ProvidedVariables.Any(p => var.DependendtVariables.Contains(p)));
        }
예제 #2
0
        public static void AddOrReplace(this IList <IVisitorVariables> vars, IVisitorVariables value, double blend = 0)
        {
            var currentIndex = vars.IndexOf(value);

            if (currentIndex > -1)
            {
                vars[currentIndex] = blend > 0 ? new CompositeVariable(vars[currentIndex], value, blend) : value;
                return;
            }

            vars.Add(value);
        }
예제 #3
0
 public CompositeVariable(IVisitorVariables var1, IVisitorVariables var2, double var2Prob)
 {
     Var1     = var1;
     Var2     = var2;
     Var2Prob = var2Prob;
 }