コード例 #1
0
    public void UpdateEquation()
    {
        Debug.Log("UpdateEquation()");
        positions = new List <Vector3>();
        normals   = new List <Vector3>();
        uvs       = new List <Vector2>();
        faces     = new List <int>();

        try
        {
            expZ = solver.SymbolicateExpression(expressionZ);
            uMin = (float)solver.EvaluateExpression(u_min);
            uMax = (float)solver.EvaluateExpression(u_max);
            vMin = (float)solver.EvaluateExpression(v_min);
            vMax = (float)solver.EvaluateExpression(v_max);
        }
        catch (AK.ESSyntaxErrorException e)
        {
            return;
        }
        TessellateSurface();
        //StartCoroutine(TessellateSurface());
        sphere.GetComponent <ConstraintGrabbable>().SetXRange(uMin, uMax);
        sphere.GetComponent <ConstraintGrabbable>().SetZRange(vMin, vMax);
    }
コード例 #2
0
 private void Start()
 {
     solver = new ExpressionSolver();
     InitializeParticleSystem();
     varX    = solver.SetGlobalVariable("x", 0);
     varY    = solver.SetGlobalVariable("y", 0);
     xMin    = (float)solver.EvaluateExpression(expressionXMin);
     xMax    = (float)solver.EvaluateExpression(expressionXMax);
     expYMin = solver.SymbolicateExpression(expressionYMin);
     expYMax = solver.SymbolicateExpression(expressionYMax);
     expZMin = solver.SymbolicateExpression(expressionZMin);
     expZMax = solver.SymbolicateExpression(expressionZMax);
     Generate3DRegion();
 }
コード例 #3
0
 public void UpdateEquation()
 {
     try
     {
         xMin    = (float)solver.EvaluateExpression(expressionXMin);
         xMax    = (float)solver.EvaluateExpression(expressionXMax);
         expYMin = solver.SymbolicateExpression(expressionYMin);
         expYMax = solver.SymbolicateExpression(expressionYMax);
         expZMin = solver.SymbolicateExpression(expressionZMin);
         expZMax = solver.SymbolicateExpression(expressionZMax);
     }
     catch (AK.ESSyntaxErrorException e)
     {
         return;
     }
     Generate3DRegion();
 }
コード例 #4
0
    // Use this for initialization
    void Start()
    {
        solver = new ExpressionSolver();
        expZ   = new AK.Expression();
        //Variable varU = new Variable(), varV = new Variable();
        positions = new List <Vector3>();
        normals   = new List <Vector3>();
        uvs       = new List <Vector2>();
        faces     = new List <int>();

        /* TEST */
        solver.SetGlobalVariable("x", -5);
        solver.SetGlobalVariable("y", -5);
        expZ = solver.SymbolicateExpression(expressionZ);
        varU = solver.GetGlobalVariable("x");
        varV = solver.GetGlobalVariable("y");
        uMin = (float)solver.EvaluateExpression(u_min); uMax = (float)solver.EvaluateExpression(u_max);
        vMin = (float)solver.EvaluateExpression(v_min); vMax = (float)solver.EvaluateExpression(v_max);
        TessellateSurface();
        left.mesh  = TessellateCurve(0, 1, 0, null);
        right.mesh = TessellateCurve(0, 1, 1, null);
        back.mesh  = TessellateCurve(0, null, 0, 1);
        front.mesh = TessellateCurve(1, null, 0, 1);
    }
コード例 #5
0
        int Calculate(int attr)
        {
            ExpressionSolver solver = new ExpressionSolver();

            return((int)solver.EvaluateExpression(calc[attr - minAttr]));
        }