public override void RetrieveRenderKnowledge() { if (_query.CachedEntities.Count == 0) { return; } var lst = new ObservableCollection <IKnowledge>(); foreach (var cacheObj in _query.CachedEntities) { var cacheShapeSymbol = cacheObj as ShapeSymbol; var cacheGoal = cacheObj as EqGoal; var cacheEq = cacheObj as Equation; if (cacheShapeSymbol != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheShapeSymbol); var agShape = new AGShapeExpr(expr, cacheShapeSymbol); lst.Add(agShape); } else if (cacheGoal != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheGoal); var agGoal = new AGPropertyExpr(expr, cacheGoal); lst.Add(agGoal); } else if (cacheEq != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheEq); var agEq = new AGEquationExpr(expr, cacheEq); lst.Add(agEq); } } RenderKnowledge = lst; }
public override void RetrieveRenderKnowledge() { var symbols = _shapeSymbol.RetrieveConcreteShapes(); var shapes = new ObservableCollection <IKnowledge>(); RenderKnowledge = null; if (symbols != null) { var shapeSymbol = symbols as ShapeSymbol; var ssLst = symbols as IEnumerable <ShapeSymbol>; if (shapeSymbol != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(shapeSymbol); var agShape = new AGShapeExpr(expr, shapeSymbol); shapes.Add(agShape); } if (ssLst != null) { foreach (ShapeSymbol ss in ssLst.ToList()) { var expr = ExprG.Generate(ss); var agExpr = new AGShapeExpr(expr, ss); shapes.Add(agExpr); } } RenderKnowledge = shapes; RenderKnowledge.CollectionChanged += RenderKnowledge_CollectionChanged; } }
public void Test1() { //x= //x+1= const string txt1 = "x="; starPadSDK.MathExpr.Expr expr = Text.Convert(txt1); object obj; bool result = expr.IsQuery(out obj); Assert.True(result); var query = obj as Query; Assert.NotNull(query); Assert.True(query.Constraint1.ToString().Equals("x")); const string txt2 = "x+1="; expr = Text.Convert(txt2); result = expr.IsQuery(out obj); Assert.True(result); var variable = new Var('x'); var term = new Term(Expression.Add, new List <object>() { variable, 1 }); query = obj as Query; Assert.NotNull(query); Assert.True(query.Constraint1.Equals(term)); }
public override void RetrieveRenderKnowledge() { if (_equation == null) { return; } if (_equation.CachedEntities.Count == 0) { return; } var lst = new ObservableCollection <IKnowledge>(); foreach (var cacheObj in _equation.CachedEntities) { var cacheShapeSymbol = cacheObj as ShapeSymbol; var cacheGoal = cacheObj as EqGoal; var cacheEq = cacheObj as Equation; if (cacheShapeSymbol != null) { throw new Exception("TODO"); /* starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheShapeSymbol); * var agShape = new AGShapeExpr(expr, cacheShapeSymbol); * lst.Add(agShape);*/ } else if (cacheGoal != null) { throw new Exception("TODO"); /* starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheGoal); * var agGoal = new AGPropertyExpr(expr, cacheGoal); * lst.Add(agGoal);*/ } else if (cacheEq != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(cacheEq); var agEq = new AGEquationExpr(expr, cacheEq); lst.Add(agEq); } else { var boolValue = cacheObj as bool?; if (boolValue != null) { starPadSDK.MathExpr.Expr expr = ExprG.Generate(boolValue); var agEq = new IKnowledge(expr); lst.Add(agEq); } } } RenderKnowledge = lst; }
public AGShapeExpr(starPadSDK.MathExpr.Expr expr, ShapeSymbol ss) : base(expr) { _shapeSymbol = ss; }
public AGPropertyExpr(starPadSDK.MathExpr.Expr expr, EqGoal goal) : base(expr) { _goal = goal; }
} // outer and inner loop scaffolding public IKnowledge(starPadSDK.MathExpr.Expr exp) { _inputExpr = exp; }
public AGEquationExpr(starPadSDK.MathExpr.Expr expr, Equation eq) : base(expr) { _equation = eq; }
protected AGEquationExpr(starPadSDK.MathExpr.Expr expr) : base(expr) { }
public AGQueryExpr(starPadSDK.MathExpr.Expr expr, Query queryTag) : base(expr) { QueryTag = queryTag; }
public IKnowledge(starPadSDK.MathExpr.Expr exp) { _inputExpr = exp; }