[Kst] HPIC update
Theodore Kisner
kisner at physics.ucsb.edu
Thu Jun 9 17:36:25 CEST 2005
On Thursday 09 June 2005 04:39, Barth Netterfield wrote:
> We need to think about how data sources present matrixes. vectors can be
> read by index, or for special data sources, by time. How about matrixes?
Well, readField currently returns a bare vector of doubles. I guess
"readFieldMatrix" could return a flat-packed matrix of doubles. This seems
like the easiest way...
> I think that the new/edit matrix dialog gets an option like the vector
> dialog has which allows the user to read a matrix from a data source. It
> will have entries for xmin, xmax, ymin, ymax with some feedback in the
> dialog which tells the user what the datasource has to offer (minx, maxx,
> nx, etc). This would be generic to all matrix reading.
sounds reasonable...
> Then the data source configuration for hpic would also offer up resolution
> and projection options. There would be a sensible default so in general
> the user would not have to do anything.
Here is a useability question:
Let's say that the user creates a new KstMatrix and chooses to read from an
hpic datasource. In the datasource config, they select only a small
theta/phi range of the map to project. The matrix is now displayed on the
plot. The user zooms out to the maximum range (full sky), so there is a tiny
color region surrounded by blank white. Now they want to change the
projection so that they can see the whole map.
Is this simply a matter of going into the data manager and editting the matrix
to change the datasource parameters (triggering an update that reprojects the
matrix from the datasource)?
It would be nice if there was a "reproject to current view" button that would
take the current range of the plot and set the datasource projection range to
these values. I guess these are details for later. It would also be nice to
allow plugins to have input and output matrices.
Another thing that I still don't understand: what if I need to draw a
fundamentally "new" type of plot? Right now everything must fit into a rigid
category. For example, for vector fields I need to draw lines between pairs
of head/tail coordinates. How can this be done? Right now it seems like it
would have to be "hacked in" somewhere (probably in KstImage).
So I still think it would be nice to have a general "plotsource" plugin that
inherits from KstDataObject and is drawn by Kst2DPlot....
> This will likely break binary compatibility, which is fine with me, as long
> as we maintain source code compatibility with old data sources. Full
> matrix support is big enough a change to generate a 2.0 name change.
source code compatibility should be no problem- we are just adding a new
virtual function that existing datasources can safely ignore.
-Ted
More information about the Kst
mailing list