I've gone through the coordinate transformation and where/how it is applied in 
the library.  The coordinates that are stored in the plot buffer can be best 
described as "device virtual pixels" and the definition is not necessarily 
consistent across all the devices. I don't think that is a show stopper and I 
have argued with myself on the pros/cons of different solutions.  

Solution 1:  
Standardize the definition of device virtual pixels (e.g. plplot device 
independent coordinate system).  Use that coordinate system in the plot buffer.

Pros:
- A standard coordinate system being represented to the devices
- Consistency in the device output (direct output to a device vs reading a plot 
metafile and rendering to a device)

Cons:
- An additional coordinate system transformation for some devices
- Coordinate system transformation when the plot buffer is replayed (e.g. 
during window resize for some devices)
- Substantial modification to the code, do not recommend this close to release

Solution 2: 
Standardize the definition of device virtual pixels (e.g. plplot device 
independent coordinate system).  Use device coordinate system in the plot 
buffer.

Pros:
- A standard coordinate system being represented to the devices
- Consistency in the device output (direct output to a device vs reading a plot 
metafile and rendering to a device)

Cons:
- An additional coordinate system transformation for some devices
- Substantial modification to the code, do not recommend this close to release

Solution 3:
Keep the current implementation of coordinate systems and the plot buffer.  
Translate coordinates when reading from plot metafiles or when copying a stream 
to a different device stream.

Pros:
- Less changes to the code

Cons:
- Round off error during coordinate transformation may result in differences in 
the output files

I think solution #3 is the best choice at this time.  In addition, using 
solution #3 does not preclude using solutions 1 & 2 at a later date.  While I 
don't think it is strictly necessary, going to solution #2 in the long term 
might simplify the code in the long run.
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to