NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
--- 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
visad
archives: