[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
AW: AW: [geclipse-dev] Traceview
|
I just take BIR*T* and VTK as an example because they definitely do not
have too much in common ... at least at a first glance ...
> BIRT does not have the concept of a visualisation pipeline, you just
pass
> arrays with the data for your axis and specify the chart type. In VTK
you
> specify a data source, data filters, a mapping from the derived data
to
> the
> geometry do display and then render the result of this pipeline. Those
> things
> do not have much in common.
OK
data source + data filters <-> arrays with data
mapping of data <-> birt axes
geometry <-> chart type
This mapping may not be perfect, but in fact it is the result of 10 secs
thinking with my tiny black hole in my head ;-)
Well, in fact ALL visualizations/chartings or whatever do have the same
basic concepts. You always have some input data (let's call it
IDataType) that you somehow map (let's call it Mapping) to some kind of
axes (let's call it IAxisType) - whereas these axes are not limited to
XYZ but may also be color or elevation or spherical coordinates or
whatever - and afterwards project (let's call it IProjection) in a 2
dimensional display. This even applies (at least partly) to AWT, SWT,
QT, root, OpenGL, VisAD, Direct3D or whatever.
So here is a first model:
IDataType
+ DataArray
+ RealNumber
+ ...
IAxisType
+ DisplayAxis
+ ColorAxis
+ ...
IProjection
+ Projection2D
+ ...
+ Projection3D
+ ...
Mapping( IDataType from, IAxisType to );
Of course I know that finding an abstraction here is far beyond the
scope of this project (Sylva will now be happy to hear that ;-) and as I
said, I am just dreaming. But honestly, we always try to have a generic
layer beyond our implementations. Visualization is the only thing that
is not generalised. And if there is any chance to come up with something
general, let's go for it. So you did not even have a try up to now, or
did you. You're just saying it is impossible, shame on you :-P
Mathias