This is the first pass at adding some 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 |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/plot3d.c b/src/plot3d.c
index 653bb25..b4b065a 100644
--- a/src/plot3d.c
+++ b/src/plot3d.c
@@ -923,6 +923,40 @@ c_plot3dcl( PLFLT *x, PLFLT *y, PLFLT **z,
         opt, clevel, nlevel, ixstart, ixn, indexymin, indexymax );
 }
 
+//--------------------------------------------------------------------------
+// void plfplot3dcl(x, y, zops, zptr, nx, ny, opt, clevel, nlevel,
+//       ixstart, ixn, indexymin, indexymax)
+//
+// Plots a 3-d representation of the virutal function z, which is represented
+// by zops and zp. The x values are stored as x[0..nx-1]; the y values as
+// y[0..ny-1].  The values of the virtual z function are obtained by passing x
+// and y indices and zp to one of the functions in zops.  zops is a pointer to
+// a structure of function pointers (see plf2opts_t in plplot.h) which define
+// how to perform various operations (including retrieval) on the elements of
+// The ability to provide "opaque" data via zp and a set of "operator"
+// functions via zops provides total flexibility in how the underlying data
+// values are managed.  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 plplot.h) or you can create your own set for
+// arbitrary 2-d storage formats.
+//
+// The integer "opt" specifies:
+//
+//  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 combination, e.g. "MAG_COLOR | DRAW_LINEX"
+// indexymin and indexymax are arrays which specify the y index limits
+// (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,
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
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