[x3d-public] Mantis 27.4.9 NurbSet - Change child geometry model to X3DParametricGeometryNode

John Carlson yottzumm at gmail.com
Fri May 13 23:36:46 PDT 2022


Finally, my recommendation:

Change nothing unless we want curves and possibly extrusions
(pseudo-surfaces) to be in NurbsSet.  Otherwise, proceed.

On Sat, May 14, 2022 at 1:29 AM John Carlson <yottzumm at gmail.com> wrote:

> I apologize that this was not in a comment to the website. It's easier to
> follow a thread in email.  Read the last paragraph if you want a conclusion.
>
> The X3D4 CD Extensible 3D (X3D), ISO/IEC 19775-1:2022, 27 NURBS Component
> (web3d.org)
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/nurbs.html#NurbsSet> says
> the tesselationScale affects Nurbs surface nodes: "The *tessellationScale* parameter
> is scaling the tessellation values in lower level contained Nurbs surface
> nodes."
>
> *Note:  If the contained Nurbs *curve *nodes now possible, but illegal in
> a NurbsSet are not scaled by the tessellationScale, things might get
> confusing!  But I kind of understand why they aren't!  If NurbsSet only
> contains surfaces, why not call it "NurbsSurfaceSet"?*
>
> I hope we have a good list of Nurbs surface nodes that people can add to
> NurbsSet geometry for instead of relying on interfaces.
>
> Full text of NurbsSet:
>
> The NurbsSet node groups a *set of Nurbs surface nodes* to a common group
> for rendering purposes only. This informs the X3D browser that the set of
> Nurbs surfaces shall be treated as a unit during tessellation to enforce
> tessellation continuity along borders. The *tessellationScale* parameter
> is scaling the tessellation values in lower level contained Nurbs surface
> nodes. A set of Nurbs surfaces that use a matching set of *controlPoint* along
> the borders shall result in a common tessellation stepping.
>
> The geometry represented in the children of this node shall not be
> directly rendered. It is an informational node only. Surfaces not
> represented elsewhere in the transformation hierarchy shall not be rendered.
>
> The bounds information is provided for optimization purposes only. A X3D browser
> *may choose *[ Editor's note:  Why Don is seeing non-smooth NURBS,
> likely--but I'm not too familiar with the standard] to use this information
> about when to apply trimming or smooth tessellation between patches based
> on the bounds information (EXAMPLE  only smooth when the viewer is within
> the bounds).
>
>
> So:
>
>
> 27.4.3 NurbsCurve
>
> NurbsCurve : X3DParametricGeometryNode {
>   SFNode   [in,out] controlPoint NULL  [X3DCoordinateNode]
>   SFNode   [in,out] metadata     NULL  [X3DMetadataObject]
>   SFInt32  [in,out] tessellation 0     (-∞,∞)
>   MFDouble [in,out] weight       []    (0,∞)
>   SFBool   []       closed       FALSE
>   MFDouble []       knot         []    (-∞,∞)
>   SFInt32  []       order        3     [2,∞)
>
>
>
> The above has controlPoint, has tessellation, but does not participate in tesselationScale?
>
>
> I'm trying to understand the impact of: X3DNurbsControlCurveNode to surfaces that use it.   The surfaces appear visually to be extrusions, and I now know that NURBS includes extrusions (surprise to me!) from reading the CD standard.
>
> I guess there's a use case for adding NurbsSwungSurfaces and NurbsSweptSurface to NurbsSets?  Like outlining a X3DNurbsSurfaceGeometryNode?  Sounds okay by me!  It seems confusing that there are no controlPoints to smooth with!  Or is it more like, what set of controlPoints? And no tessellation control!
>
> NurbsCurve2D
>
> can't be added to a NurbsSet, thank goodness!
>
> Are we okay now?  As far as I can tell, the specification will work, but
> implementers will have to deal with sticky problems smoothing controlPoint
> between surfaces and extrusion surfaces. They'll have to somehow delegate
> the controlPoint in the extrusions to a control curve (is this
> specified?).  And also excluding NurbsCurve from NurbsSet seems rather
> arbitrary, which is a good reason to change the type of the geometry field
> in NurbsSet.  When we change the geometry field type, we lose the ability
> to separate types of NURBS (curves, extrusions, surfaces) in the NurbsSet
> geometry interfaces.
>
> Thanks,
>
> John
> On Fri, May 13, 2022 at 10:13 AM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
>> Looking at the Interface Hierarchy shows what implements those types,
>> confirming that only Nurbs nodes are involved.  This also clearly
>> identifies why we shifted the interface involved.
>>
>>
>>
>> +- X3DParametricGeometryNode -+- NurbsCurve
>>
>>                               +- NurbsSweptSurface
>>
>>                               +- NurbsSwungSurface
>>
>>                               |
>>
>>                               +- X3DNurbsSurfaceGeometryNode -+-
>> NurbsPatchSurface
>>
>>                                                               +-
>> NurbsTrimmedSurface
>>
>>
>>
>> Dick points out that someday in (some wonderful) future we might allow
>> other geometry nodes to get smoothly aligned next to Nurbs nodes.  That
>> will be nice – but we are OK for now.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, Navy robotics https://
>> faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* John Carlson <yottzumm at gmail.com>
>> *Sent:* Thursday, May 12, 2022 7:39 AM
>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> *Cc:* X3D Public Mailing List (x3d-public at web3d.org) <
>> x3d-public at web3d.org>
>> *Subject:* Re: [x3d-public] Mantis 27.4.9 NurbSet - Change child
>> geometry model to X3DParametricGeometryNode
>>
>>
>>
>> Understood, i am just trying to work through if there’s any parametric
>> geometry which isn’t NURBS, and is thus now inclusive in this modified
>> NurbsSet.
>>
>>
>>
>> Thanks!
>>
>>
>>
>> John
>>
>>
>>
>> On Thu, May 12, 2022 at 8:58 AM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>> Please be assured, no new semantics and no new functionality is being
>> proposed.  We are addressing a Mantis issue that noted the NurbsSet
>> definition was unnecessarily restrictive.  We adjusted the specification
>> interface to match that inclusive rationale.
>>
>>
>>
>> Changes to implementations are up to them.  Since NurbsSet is a way for
>> authors to communicate when various Nurbs nodes are coincident and
>> potentially smoothable, it has no impact on functionality and might improve
>> rendering appearance by enabling smoothed seams.
>>
>>
>> Thanks for your review.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, Navy robotics https://
>> faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* John Carlson <yottzumm at gmail.com>
>> *Sent:* Wednesday, May 11, 2022 10:40 PM
>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> *Cc:* X3D Public Mailing List (x3d-public at web3d.org) <
>> x3d-public at web3d.org>
>> *Subject:* Re: [x3d-public] Mantis 27.4.9 NurbSet - Change child
>> geometry model to X3DParametricGeometryNode
>>
>>
>>
>>
>>
>> Don, I'm a bit unsure of the new semantics for NurbsSet....it includes
>> other parametric geometry nodes which aren't NURBS?
>>
>>
>>
>> Would ParametricGeometrySet be a better name than NurbsSet, or a good
>> addition to X3D4?
>>
>>
>>
>> Is it counterintuitive to look for a "ParametricGeometrySet" inside NURBS
>> sections?
>>
>>
>>
>> How does this impact browser implementations?
>>
>>
>>
>> I don't know if the standard includes parametric, implicit, etc.
>> descriptions?
>>
>>
>>
>> Are we planning on dropping X3DNurbsSurfaceGeometryNode  in the future?
>>
>>
>>
>> NURBS seems a bit specialized, but at least I know I'm looking for
>> NURBS.  Parametric seems *way* general, and should probably remain at the
>> abstract level.
>>
>>
>>
>> I have no other issues that come to mind presently.
>>
>>
>>
>> I'm a bit leery of Mantis, so I will now review your next email.    My
>> summary:  Can one include more than one abstract type in the allowable
>> types?  That is, allow both X3DParametricGeometryNode
>>
>> and X3DNurbsSurfaceGeometryNode sub node types for geometry?
>>
>>
>>
>> Thanks!
>>
>>
>>
>> John
>>
>>
>>
>> On Wed, May 11, 2022 at 8:06 PM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>> NurbsSet should be inclusive about which nodes an author thinks can be
>> rendered together as one smooth surface.
>>
>>
>>
>>    - Mantis 27.4.9 NurbSet - Change child geometry model to
>>    X3DParametricGeometryNode
>>    - https://www.web3d.org/member-only/mantis/view.php?id=700
>>
>>
>>
>>    - X3D4 Architecture, NURBS component, 27.4.8 NurbsSet
>>    -
>>    https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/nurbs.html#NurbsSet
>>
>>
>>
>> Since X3DParametricGeometryNode includes X3DNurbsSurfaceGeometryNode,
>> changed all three NurbsSet geometry fields from X3DNurbsSurfaceGeometryNode
>> to X3DParametricGeometryNode.
>>
>>
>>
>> NurbsSet : X3DChildNode, X3DBoundedObject {
>>
>>   MFNode  [in]     addGeometry                [X3DParametricGeometryNode]
>>
>>   MFNode  [in]     removeGeometry             [X3DParametricGeometryNode]
>>
>>   MFNode  [in,out] geometry          []       [X3DParametricGeometryNode]
>>
>>   SFNode  [in,out] metadata          NULL     [X3DMetadataObject]
>>
>>   SFFloat [in,out] tessellationScale 1.0      (0,∞)
>>
>>   SFVec3f []       bboxCenter        0 0 0    (-∞,∞)
>>
>>   SFVec3f []       bboxSize          -1 -1 -1 [0,∞) or −1 −1 −1
>>
>> }
>>
>>
>>
>> This changes X3DUOM and possibly some implementations.  Comments welcome.
>>
>>
>>
>> We current intend to accept this change as resolved once X3DUOM is
>> updated.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, Navy robotics https://
>> faculty.nps.edu/brutzman
>>
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220514/b9d6924d/attachment-0001.html>


More information about the x3d-public mailing list