This is the first pass at adding some doxygen commentary to the
new(-ish) functions that support arbitrary storage of 2-D data.  Please
let me know if this is on the right track.  I think most of the related
functions will have similarly worded explanations, so perhaps it would
be better to document the concept in one place and then refer to it from
each of the relevant functions.  More commentary can be seen in the
commit log of r10864.

Any feedback would be most appreciated!

Thanks,
Dave
---
 src/plot3d.c |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/plot3d.c b/src/plot3d.c
index 653bb25..eecb129 100644
--- a/src/plot3d.c
+++ b/src/plot3d.c
@@ -923,6 +923,47 @@ c_plot3dcl( PLFLT *x, PLFLT *y, PLFLT **z,
         opt, clevel, nlevel, ixstart, ixn, indexymin, indexymax );
 }
 
+//--------------------------------------------------------------------------
+//! Plots a 3-d representation of the virutal function z, which is represented
+//! by zops and zp.
+//!
+//! @param x The x values are stored as x[0..nx-1]
+//! @param y The y values are stored as y[0..ny-1]
+//! @param zops Pointer to a plf2ops_t structure of function pointers (see
+//! plf2opts_t in plplot.h) which define how to perform various manipulations
+//! (including retrieval) on the elements of the the 2D data field pointed to
+//! by zp.  Pointers suitable for passing as zops can be obtained for some
+//! predefined types of 2-d data storage by calling one of the plf2ops_*()
+//! functions (see plf2ops.c) or you can create your own set for arbitrary 2-d
+//! storage formats.
+//! @param zp Pointer to 2D data field.  This pointer is passed to the
+//! functions of zops whenever the 2D field needs to be maipulated.  The
+//! combination of zops and zp provides total flexibility in how the underlying
+//! data values are managed.
+//! @param nx The number of values in x.
+//! @param ny The number of values in y.
+//! @param opt Specifies options for the plot.  It can be a bitwise OR-ing of
+//! these:
+//!   - DRAW_LINEX :  Draw lines parallel to x-axis
+//!   - DRAW_LINEY :  Draw lines parallel to y-axis
+//!   - DRAW_LINEXY:  Draw lines parallel to both axes
+//!   - MAG_COLOR:    Magnitude coloring of wire frame
+//!   - BASE_CONT:    Draw contour at bottom xy plane
+//!   - TOP_CONT:     Draw contour at top xy plane (not yet)
+//!   - DRAW_SIDES:   Draw sides around the plot
+//!   - MESH:         Draw the "under" side of the plot
+//! or any bitwise OR'd combination, e.g. "MAG_COLOR | DRAW_LINEX"
+//! @param clevel z values at which to draw contours
+//! @param nlevel Number of values in clevels
+//! @param ixstart Index of first x coordinate to include in plot
+//! @param ixn Number of x coordinates to inlcude in plot
+//! @param indexymin Array which specifies the min y index for each x
+//! index in range ixstart, ixn.
+//! @param indexymax Array which specifies the max y index for each x
+//! coordinate (following the convention that the upper range limit is one more
+//! than actual index limit) for an x index range of ixstart, ixn.
+//--------------------------------------------------------------------------
+
 void
 plfplot3dcl( PLFLT *x, PLFLT *y, PLF2OPS zops, PLPointer zp,
              PLINT nx, PLINT ny, PLINT opt,
------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to