OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cgmo-webcgm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [cgmo-webcgm] getAppStructureExtent() was getObjectExtent()


Lofton,

We don't have a viewer, so we haven't implemented the WebCGM DOM per se.
So, like you, I don't have a strong position on the "DOM-invisibility" of
grnode.  However, I do want to point out one thing.  Judging from the
subject of this thread, it sounds like the method under discussion was
originally called "getObjectExtent()."  That name implies that it does not
apply to grnode, because grnode is not an object (see 2.3.3 in WebCGM 2.0).
On the other hand, the name "getAppStructureExtent()" implies that it does
apply to grnode because grnode of course is an Application Structure.

I am a big fan of consistency in nomenclature.

Rob

-----Original Message-----
From: Lofton Henderson [mailto:lofton@rockynet.com]
Sent: Thursday, March 06, 2008 11:21 AM
To: cgmo-webcgm@lists.oasis-open.org
Subject: RE: [cgmo-webcgm] getAppStructureExtent() was getObjectExtent()


Benoit, all --

(All -- see questions at end, derived from Benoit's comments.)

At 09:34 AM 3/6/2008 -0500, Bezaire, Benoit wrote:
>That's better. I think the only thing missing is the fact that
>transforms do affect the extent.

At first, I thought so also.  Then I noticed the sentence with NVDC.

(I might have been more inclined to say "CTM applies to node's primitives 
before computation of rectangle", rather than "get the rectangle then 
transform it by CTM".  But they are equivalent, right?)


>Some suggestions, rename the API from getAppStructureExtent() to
>getExtent(). It's already on the AppStructure interface, so we don't
>need the interface name in the API (imo).

That's okay with me.  The group should decide at next telecon.

NOTE:   Yesterday I made some other wording changes and integrated into the 
working draft.  I'm going to post the working draft at the end of 
today.  You can look there and comment on it, for next telecon.


>About applicability on 'grnode'... I was going to say "it should be like
>everything else", then I started to investigate what "everything else"
>is, and it's unclear.
>
>In section 5.3 we say: 'grnode' elements are not accessible via DOM
>calls. But it seems like that's it. getAppStructureById doesn't say
>anything (and 'grnode's have an Id).

It is syntactically impossible in CGM for them to NOT have an Id.  (As 
pointed out in the below references, 3.1.2.5.)

>What about normal tree traversal:
>nextSibling, childNode etc... does it access 'grnode'. It seems like we
>should more clear about it (or maybe I'm looking in the wrong section).

Good questions.  More references to 'grnode'.  A quick read of all of them 
is helpful...

2.3.1, 2nd pgph:
http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Concepts.html#webcgm_2_3_
1

2.3.2, 2nd bullet list:
http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Concepts.html#webcgm_2_3_
2

3.2.1.5, entire section:
http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-IC.html#webcgm_grnode

What emerges is ... you definitely cannot do any intelligence related stuff 
to grnode -- no APS attributes, no properties (2.3.2), no events, etc.

The intent of "...not accessible via DOM calls..." seems pretty 
unambiguous, on top of the other references:  it seems that we intended 
that grnode is "DOM-invisible".  Even regarding detection of structure and 
navigation (childNode, etc).

That's just my interpretation, not necessarily a position.  I don't have a 
strong position on it now.  Except to agree with Benoit that it should be 
clarified, if people think it is too unclear.

I'd like others to say how they have interpreted it and implemented 
it.  Don?  Forrest?  Ulrich?  (Rob?)

If it is totally DOM-invisible, then that would apply to getExtent() as 
well, I would think.

Regards,
-Lofton.


>-----Original Message-----
>From: Galt, Stuart A [mailto:stuart.a.galt@boeing.com]
>Sent: Wednesday, March 05, 2008 3:04 PM
>To: cgmo-webcgm@lists.oasis-open.org
>Subject: RE: [cgmo-webcgm] getAppStructureExtent() was getObjectExtent()
>
>Hello,
>
>Based on what I thought that I heard on the telecon today here is
>another cut that hopefully addresses the issue of what is and isn't
>included in the
>calculation:
>
>Markups for getAppStructureExtent ()
>
>Chapter 1 - no changes
>Chapter 2 - no changes
>Chapter 3 - no changes
>Chapter 4 - no changes
>
>In 5.7.6 add to the IDL list
>
>WebCGMString             getAppStructureExtent();
>
>Add to the method descriptions:
>
>getAppStructureExtent()
>                 Retrieves the bounding box rectangle of the graphic
>elements within an APS.  The bounding box calculation is based on the
>geometry of the conceptual primitive and is not affected by APS style
>attributes or CGM attribute or control elements.  The rectangle is
>defined the two opposite corner points expressed in NVDC after the
>application of the current transformation matrix.
>                 Parameters
>                 None
>                 Return Value
>WebCGMString; the bounding rectangle min and max pairs stored in a
>string, or the empty string
><http://www.w3.org/TR/webcgm20/WebCGM20-DOM.html>  if the APS contains
>no graphical elements.
>Exceptions
>None
>
>Chapter 6 - no changes
>Chapter 7 - no changes
>Chapter 8
>
>Add to WebCGMAppStructure object methods:
>
>getAppStructureExtent()
>                 This method has no parameters.
>                 This method returns a String
>
>
>
>--
>Stuart Galt
>SGML Resource Group
>stuart.a.galt@boeing.com
>(206) 544-3656
>
>
>
> > _____________________________________________
> > From:         Galt, Stuart A
> > Sent: Tuesday, March 04, 2008 4:09 PM
> > To:   cgmo-webcgm@lists.oasis-open.org
> > Subject:      RE: [cgmo-webcgm] getAppStructureExtent()  was
> > getObjectExtent()
> >
> > Hello all,
> >
> > I have added a reference to the fact that the units are in NVDC and at
>
> > this time I don't think that the overhead of creating a rectangle
> > object is justified.
> >
> > Markups for getAppStructureExtent ()
> >
> > Chapter 1 - no changes
> > Chapter 2 - no changes
> > Chapter 3 - no changes
> > Chapter 4 - no changes
> >
> > In 5.7.6 add to the IDL list
> >
> > WebCGMString             getAppStructureExtent();
> >
> > Add to the method descriptions:
> >
> > getAppStructureExtent()
> >               Retrieves the bounding box rectangle of the graphic
>elements within
> > an APS.  The rectangle is defined the two corner points expressed in
> > NVDC.
> >               Parameters
> >               None
> >               Return Value
> > WebCGMString; the bounding rectangle min and max pairs stored in a
> > string, or the empty string
> > <http://www.w3.org/TR/webcgm20/WebCGM20-DOM.html>  if the APS contains
>
> > no graphical elements.
> >               Exceptions
> >               None
> >
> > Chapter 6 - no changes
> > Chapter 7 - no changes
> > Chapter 8
> >
> > Add to WebCGMAppStructure object methods:
> >
> > getAppStructureExtent()
> >               This method has no parameters.
> >               This method returns a String
> >
> >
> >
> > --
> > Stuart Galt
> > SGML Resource Group
> > stuart.a.galt@boeing.com
> > (206) 544-3656
> >
> >
> >
> > > -----Original Message-----
> > > From: Bezaire, Benoit [mailto:bbezaire@ptc.com]
> > > Sent: Tuesday, February 26, 2008 5:30 AM
> > > To: cgmo-webcgm@lists.oasis-open.org
> > > Subject: RE: [cgmo-webcgm] getAppStructureExtent() was
> > > getObjectExtent()
> > >
> > > If the main use case is to be able to align objects, then it would
> > > seem like getAppStructureExtent() needs to take into account the
> > > current transform. Would you agree?
> > >
> > > I think the same would be true for the zoom example; although we
> > > haven't seen any zoom API proposal from the group so far.
> > >
> > > The fact that it is two corners troubles me... it makes the script
> > > writer's job more difficult. But CGM's can be Y up and Y down,
> > > right? So x, y, width and height wouldn't be better I think :-(
> > >
> > > Ben
> > >
> > > -----Original Message-----
> > > From: Galt, Stuart A [mailto:stuart.a.galt@boeing.com]
> > > Sent: Monday, February 25, 2008 7:36 PM
> > > To: Lofton Henderson; cgmo-webcgm@lists.oasis-open.org
> > > Subject: RE: [cgmo-webcgm] getAppStructureExtent() was
> > > getObjectExtent()
> > >
> > > Hello,
> > >
> > > To answer Lofton's question:
> > > I think that we should use the same points as viewcontext (like you
> > > suggested)  I just used the min/max points because that is what it
> > > said in the AI list - poor excuse but it is the one I am going to
> > > use.
> > >
> > > I think that the original use case was to be able align or move an
> > > APS relative to another one.  (Being able to put a table_leg at the
> > > edge of the table_top object)?
> > >
> > > Another use that I thought of might be to be able to zoom into an
> > > APS but instead of making it full screen I want it to be only 90% of
>
> > > the available viewport.
> > >
> > > I don't think that it was intended to take line width or regions
> > > into account.
> > >
> > >
> > > --
> > > Stuart Galt
> > > SGML Resource Group
> > > stuart.a.galt@boeing.com
> > > (206) 544-3656
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Lofton Henderson [mailto:lofton@rockynet.com]
> > > > Sent: Monday, February 25, 2008 11:12 AM
> > > > To: Galt, Stuart A; cgmo-webcgm@lists.oasis-open.org
> > > > Subject: Re: [cgmo-webcgm] getAppStructureExtent() was
> > > > getObjectExtent()
> > > >
> > > > Stuart, All --
> > > >
> > > > A question comes up.  Which bounding box?  Do you mean:
> > > >
> > > > 1.) the BB of the coordinates of the APS's graphical primitive
> > > > elements, as written in the metafile itself?
> > > > 2.) or, the effective BB, which would reflect a non-trival CTM
> > > > (current transformation matrix)?
> > > > 3.) or, something else (e.g., 'region' factored in)?
> > > > 4.) or, should it be parameter selectable (#1 or #2 or ...)?
> > > >
> > > > Related question:  are things like line-width accounted for
> > > in the BB,
> > >
> > > > or not?
> > > >
> > > > (Does anyone recall our original use case(s)?  That might help to
> > > > answer the questions.)
> > > >
> > > > -Lofton.
> > > >
> > > > At 10:45 AM 2/23/2008 -0700, Lofton Henderson wrote:
> > > > >Stuart --
> > > > >
> > > > >Good job, especially the completeness by looking at every
> > > > section for
> > > > >needed changes.
> > > > >
> > > > >One small nit...
> > > > >
> > > > >At 04:09 PM 2/22/2008 -0800, Galt, Stuart A wrote:
> > > > >>Markups for getAppStructureExtent()
> > > > >>
> > > > >>Chapter 1 - no changes
> > > > >>Chapter 2 - no changes
> > > > >>Chapter 3 - no changes
> > > > >>Chapter 4 - no changes
> > > > >>
> > > > >>In 5.7.6 add to the IDL list
> > > > >>
> > > > >>WebCGMString             getAppStructureExtent();
> > > > >>
> > > > >>Add to the method descriptions:
> > > > >>
> > > > >>getAppStructureExtent()
> > > > >>         Retrieves the bounding box rectangle of the
> > > > graphic elements
> > > > >>within an APS.  The rectangle is defined the two corner points.
> > > > >>Parameters
> > > > >>         None
> > > > >>Return Value
> > > > >>         WebCGMString; the bounding rectangle min and max
> > > > pairs stored
> > > > >>in a string, or the empty string if the APS contains no
> > > > graphical elements.
> > > > >
> > > > >I seem to recall that we decided, about rectangles, that we would
> >
> > > > >always parameterize as two diagonally-opposite corner points.  So
> >
> > > > >instead of
> > > > >
> > > > >xmin,xmax,ymin,ymax
> > > > >or
> > > > >xmin,ymin,xmax,ymax
> > > > >
> > > > >it would be:
> > > > >x1,y1,x2,y2 (the coordinates of P1,P2, which are two
> > > > >diagonally-opposite corner points).
> > > > >
> > > > >This looks similar to xmin,ymin,xmax,ymax, but it allows
> > > the use of
> > > > >either pair of diagonally-opposite corner points, whereas
> > > > the min-max
> > > > >only allows for the one pair.
> > > > >
> > > > >It is a small point.  But it is at variance with present
> > > > (2.0) practice
> > > > >in
> > > > >Ch.3 and Ch.5, and I seem to recall some earlier
> > > resolution to stick
> > > > >with the way of CGM:1999 and WebCGM 2.0.
> > > > >
> > > > >Does anyone want to argue for min/max pairs?
> > > > >
> > > > >-Lofton.
> > > > >
> > > > >>Exceptions
> > > > >>         None
> > > > >>
> > > > >>Chapter 6 - no changes
> > > > >>Chapter 7 - no changes
> > > > >>Chapter 8
> > > > >>
> > > > >>Add to WebCGMAppStructure object methods:
> > > > >>
> > > > >>getAppStructureExtent()
> > > > >>         This method has no parameters.
> > > > >>         This method returns a String
> > > > >>
> > > > >>
> > > > >>
> > > > >>--
> > > > >>Stuart Galt
> > > > >>SGML Resource Group
> > > > >>stuart.a.galt@boeing.com
> > > > >>(206) 544-3656
> > > > >>
> > > > >>
> > > > >>------------------------------------------------------------
> > > > ---------
> > > > >>To unsubscribe from this mail list, you must leave the
> > > > OASIS TC that
> > > > >>generates this mail.  You may a link to this group and all
> > > > your TCs in
> > > > >>OASIS
> > > > >>at:
> > > > >>https://www.oasis-open.org/apps/org/workgroup/portal/my_work
> > > groups.php
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >---------------------------------------------------------------------
> > > > >To unsubscribe from this mail list, you must leave the
> > > OASIS TC that
> > > > >generates this mail.  You may a link to this group and all
> > > > your TCs in
> > > > >OASIS
> > > > >at:
> > > > >https://www.oasis-open.org/apps/org/workgroup/portal/my_workg
> > > roups.php
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe from this mail list, you must leave the OASIS TC that
>
> > > generates this mail.  You may a link to this group and all your TCs
> > > in OASIS
> > > at:
> > > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgr
> > oups.php
> > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe from this mail list, you must leave the OASIS TC that
>
> > > generates this mail.  You may a link to this group and all your TCs
> > > in OASIS
> > > at:
> > > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgr
> > oups.php
> > >
> > >
>
>---------------------------------------------------------------------
>To unsubscribe from this mail list, you must leave the OASIS TC that
>generates this mail.  You may a link to this group and all your TCs in
>OASIS
>at:
>https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>---------------------------------------------------------------------
>To unsubscribe from this mail list, you must leave the OASIS TC that
>generates this mail.  You may a link to this group and all your TCs in
OASIS
>at:
>https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php



---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]