--- Curtis Rueden <curtis@xxxxxxxxxxxxx> wrote:
>
> >how can i use visad to read any formula from a
> >textfield and evaluate it for a given point.
> >for example ://
> >if i have two variables x and y and i want to
> evaluate
> >f(x,y)=x+(y*2); for any x and y values i want.
> >//
> >i want the formula to be dynamic such that it can
> be
> >changed in the textfield not inside my program.
>
> Hi Bader,
>
> VisAD provides support for formulas with the
> visad.formula
> package. All you have to do is create a
> FormulaManager
> object. Here is an example that follows your idea
> above:
>
> // BEGIN CODE
>
> Data x = ...; // create a VisAD Data object somehow
> Data y = ...; // create another VisAD Data object
>
> // create the "formula manager" using built-in
> defaults
> FormulaManager fman
> FormulaUtil.createStandardManager();
>
> // add the x and y variables to the manager's
> database
> fman.setThing("x", x);
> fman.setThing("y", y);
>
> // define the f function using a formula
> fman.assignFormula("f", "x+(y*2)");
>
> // now get the computed value of the function
> Data f = (Data) fman.getThing("f");
>
> // END CODE
>
> Alternatively, you can use DataReference objects
> instead
> of Data objects by using fman.createVar() and
> fman.getReference() instead of fman.setThing() and
> fman.getThing(), respectively. The advantage to
> using
> DataReferences is that you can then use a VisAD
> CellImpl
> to listen for changes to your data via the
> DataReference.
>
> The visad.formula package is quite powerful, and
> there are
> many possibilities. See the VisAD SpreadSheet for
> an
> example of textfield formulas in action. Another
> example
> that uses textfield formulas is the visad.rabin.Rain
> application. I also recommend reading the
> visad.formula
> package's javadoc.
>
> If you have any more questions about formulas in
> VisAD,
> feel free to ask!
>
> Curtis
>
Hi Curtis,
what if i want to evaluate this dynamic formula for a
point (for example x=3.8 , y=4.5)such that it will
return to me f(x,y) as a float number
what should i do?
i'm a beginner with visad and data object please
explain the answer to me by a code example for these
values for x and y
Bader
__________________________________________________
Do You Yahoo!?
Send online invitations with Yahoo! Invites.
http://invites.yahoo.com