RE: invalid/extreme rectangles in setView()

I think we received one response (from Don), favoring option (i).

________________________________

From: public-webcgm-wg-request@w3.org
[mailto:public-webcgm-wg-request@w3.org] On Behalf Of Lofton Henderson
Sent: Thursday, December 04, 2008 12:19 PM
To: WebCGM WG
Subject: invalid/extreme rectangles in setView()


All -- 

This is a dangling open piece of Benoit's setView() questions.  We
closed the other piece (about different aspect ratios).  I can't find
any thread discussion about this piece, after Benoit's message below
(top), and it apparently remains open.

Discussion?

-Lofton.

At 09:44 AM 11/19/2008 -0500, Bezaire, Benoit wrote:


	I remember this thread. I don't want to reopen old issues.
	 
	However, for this particular API, a script writer can easily
loose the display (zooming on a very small rectangle or zooming our far
enough that nothing is displayed). I think the API should at least
return a more meaningful value.
	 
	Some options:
	i) boolean: TRUE if new view was set; FALSE is rectangle was
invalid.
	ii) float: returns the scale factor between the old view and the
new view. > 0 is successful, failed otherwise.
	iii) WebCGMRect: a rectangle defining the old view.
	 
	Any of those would help the script writer understand what went
wrong, instead of getting in touch with technical support.
	 
	Benoit.
	
	
________________________________

	From: Lofton Henderson [mailto:lofton@rockynet.com] 
	Sent: Tuesday, November 18, 2008 7:08 PM
	To: Bezaire, Benoit; WebCGM WG
	Subject: Re: Question about setView()
	
	At 08:57 AM 11/18/2008 -0500, Bezaire, Benoit wrote:
	

		I'm wondering if the wording of setView() is not a bit
short? The draft doesn't say anything about invalid rectangles being
passed in for example.
		 
		Should more feedback be sent to the user? Currently, the
function prototype has a void return type. Should we change that to a
boolean or something else? or throw an exception perhaps.


	Dieter raised and we discussed a similar question a few months
back.  As a general rule, CGM and WebCGM say what happens with valid
input but have been relatively silent about error fallbacks, viewer
error reactions, etc.  What we have done most recently is say something
like "...has no effect".  We generally have not gone to more extensive
error reactions.  See for example the 'grnode' stuff that we added to
the interfaces.
	
	My view is that, if we start opening the door to saying what
viewers do for this and that bad input, where do we stop?  Should we go
back and define mandatory error responses for all bad input?
	
	Note that the profile (Ch.6) *does* talk a lot about
"degeneracies".  It says what is the graphical effect of a degenerate
primitive, etc., and this is what is *suggested* in CGM:1999 itself --
WebCGM just makes it normative.  (But says nothing more about what the
viewer should do when encountering degeneracies. Silent?  Warning?
Task-bar "abnormality" icon?)
	
	I guess I favor "...invalid input has no effect, neither
graphical nor to the DOM tree."  Then leave it to the implementor, what
else the viewer might do in the way of error response to the user.
	
	


		I also question the possibility of a major scale change,
ex: scaling in by a factor of 100 (and loosing sight of the overall
picture). Should the user be told that such a change occurred?


	I guess I view this as another choice for implementors.
	
	I could also live with putting some valid limits on it.  "Valid
rectangles shall not change the scale by more than ...blah..."
	
	-Lofton. 

Received on Thursday, 4 December 2008 19:03:56 UTC