Hi Hez:

A further IMPORTANT question: I have just been taking a look at the
plcolorbar implementation in the swig-related languages and I have a
question about the new arguments you introduced in revision 12235,
which are currently typed const char *labels[] and const char
*axis_opts[].  I would like to keep the proliferation of types to be
as narrow as possible for the PLplot API. For similar purposes
(passing an array of pointers to strings) and after considerable
discussion on list, we decided to use the type const char * const *
for the appropriate pllegend arguments. So would you be willing to go
along with that type in this case as well, i.e.,

const char * const *labels and
const char * const *axis_opts?

If so it makes _all_ language bindings of plcolorbar and associated
use of plcolorbar trivial to implement since developers can just copy
how they interfaced the array of pointers to strings arguments from
pllegend to plcolorbar.  Of course, this proposed API change also
implies C and (presumably) OCaml changes, but I will handle the C
changes if you will take responsibility for the OCaml ones.

More below in the context of your answers to my previous questions.

On 2013-05-01 06:09-0400 Hezekiah M. Carty wrote:

> On Wed, May 1, 2013 at 1:34 AM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> 
> wrote:
>> These are important questions which I hope both Andrew and Hez will
>> answer to the best of their knowledge.
>>
>> What is the status of plcolorbar?  Has that API been finalized?
>>
>
> I'd like some feedback before saying it's finalized.  I have used
> plcolorbar a lot (through the OCaml bindings) and have been pretty
> happy with it.  There at least one addition which I think would be
> useful but I don't know if it is worth adding:
>
> We could add displacement, position and justification options for axis
> labels such as what is available when using plmtex directly.  This is
> useful, for example, if you have two different unit systems labeled on
> each vertical axis on a vertically oriented color bar.  A work-around
> is available with the current interface if you use a single label and
> manually adjust the text to be centered appropriately around the bar.
> One option is to add the parameters now (a few additional PLFLT
> arrays) so you can do your binding propagation work.  The
> implementation of the feature in the C plcolorbar code could be
> carried out separately from the API propagation.

I don't have a lot of complex plcolorbar needs in my research, but it
does sound like the further API change that you propose would be
useful to you and others with more complex plcolorbar needs. So I
suggest you just go ahead and make the change.  We are still
officially in the experimental stage for the plcolorbar functionality
and API so let's take advantage of that grace period and make sure the
API is right rather than having to change the API later with all the
backwards incompatiblity issues that are raised by that.

Furthermore, I suggest you do the plcolorbar implementation and API
changes simultanously since experience shows it is hard to
anticipate all API needs until you actually have some working code to
test. If your time constraints allow it, it would be ideal if you
could finish off this last implementation and API change to plcolorbar
in the next few days.

>
>> If finalized, what further changes (if any) do you propose for C
>> examples 16 and 33?  My impression is 16 is done, and 33 just needs
>> one change so that the plcolorbar part of it is changed from optional
>> execution to always executed. If you confirm my impression, please
>> commit that one C example 33 change so it can be propagated
>> to the rest of the languages.
>>
>
> I think C example 16 is fine the way it is.

I agree.

> C example 33 with the colorbar option enabled is very verbose.  I'm ok
> with leaving that verbosity in place but it would leave a huge number
> of pages in that example.  Again, I would like feedback regarding
> whether the number of cases covered in this example (which still
> doesn't show all of what plcolorbar can do!) is reasonable.

No question, there are a lot of pages there, but as you say there is a
lot of plcolorbar functionality to test/demonstrate. Having an
incomplete example is bad because that means some of the plcolorbar
API will be untested not only in C but when the example is propagated
to other languages.  Therefore, I encourage you to add more pages to C
example 33 until you feel it is a good, comprehensive test of the
plcolorbar API.  Also, it appears to me we are currently testing most
of the optional plcolorbar functionality for that example with rather
compact code so despite the large number of pages being generated by
that compact code, I think the propagation efforts will actually not
require an onerous amount of editing work for the various example 33
implementations.

Giving what you had said about the status of plcolorbar and associated
examples, I will immediately concentrate today on propagating the
plshade/plshades and pllegend line width changes to the swig-related
bindings and associated examples 4, 15, 16, 26, and 33.  And if I get
a positive response from you concerning the proposed changes above to
the types of labels and axis_opts for plcolorbar, then I can undertake
to implement plcolorbar in the languages I am taking responsibility
for and use that new API in example 16 for those languages.  And also
take responsibility for further propagation if you implement the
further change to the plcolorbar API that you proposed above.

Completing example 33 is obviously a separate issue which I assume you
will want to put off until later because of your time constraints. But
whenever you are done with that I would be willing to follow up by
propagating those changes to example 33 for the languages I have
taken responsibility for.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to