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 Wednesday, 19 November 2008 00:09:03 UTC