Hi, Ed,

On Apr 19, 2010, at 13:47 , Ed Zaron wrote:

> it involves wrapping the phases locally for the corners of each  
> grid cell.

In addition to the already mentioned possibility of creating a  
"wrapped phase" copy of your data array, another alternative you  
might want to consider is using the "plfcont" routine rather than  
c_plcont (aka plcont).  The "plf" variants of 2d data functions are  
passed data via a pointer to the data and a pointer to either an  
evaluator function or (for "new style" plf functions) a structure of  
pointers to a set of operator functions.

For each point, the 2d data function will access the user data via  
the evaluator function (which is passed the user data pointer).  If  
you could create an "evaluator" function that performed the local  
phase wrap for each point "on-the-fly", I think you'd be able to do  
what you want with the existing plplot API without having to create a  
"wrapped phase" (or even "unwrapped phase") copy of your data.  My  
guess is that whatever you added to plcont's internals could be  
refactored into a suitable evaluator function.

If you look at the implementation of c_plcont, you'll see that it  
simply calls plfcont "with a particular choice for f2eval and  
f2eval_data".  In your case, f2eval_data would be a pointer to your  
data and f2eval would be replaced with your "local phase wrap  
evaluator function".

Hope this helps,
Dave


------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to