[x3d-public] [x3d] TextureTransform* node inheritance problems in X3DUOM need correction to X3DSingleTextureTransformNode
Don Brutzman
don.brutzman at gmail.com
Tue Oct 7 13:02:31 PDT 2025
Shifting this conversation to x3d-public from x3d (member-only) mailing
list. Original thread:
- [x3d] Zoom meeting to discuss inheritance in TextureTransforms
-
https://www.web3d.org/mailman/private/x3d_web3d.org/2025-October/008869.html
Problem summary: X3D 4.0 introduced X3DSingleTextureTransformNode as an
intermediate interface for three nodes. This was not reflected in X3D XML
Schema appinfo and X3DUOM.
The thread below indicates problems with interface mismatch for three
nodes:
| -+- TextureTransform
| +- TextureTransformMatrix3D
| +- TextureTransform3D
Background details: X3D version 4.0 introduced a new intermediate
interface X3DSingleTextureTransformNode
between these nodes and the parent interface X3DTextureTransformNode.
This change was not reflected in X3D XML Schema inheritance appinfo, which
left X3D Unified Object Model (X3DUOM) out of date for version 4.0. Now
corrected.
- X3D XML Schema update activity:
- https://www.web3d.org/specifications/x3d-schema-changelog.txt
- 7 OCT 2025, carlson, brutzman
- (v4.0) X3D version 4.0 introduced a new intermediate interface
X3DSingleTextureTransformNode.
Correct annotations for TextureTransform, TextureTransformMatrix3D,
TextureTransform3D
to inherit X3DSingleTextureTransformNode vice X3DTextureTransformNode.
Similarly remove 'mapping' field from these three nodes, since that field
is defined as part of X3DSingleTextureTransformNode.
TODO: update X3D XML Schema documentation using Altova XMLSpy.
X3D XML Schema changes and X3DUOM changes visible at
- SourceForge x3d revision,
- https://sourceforge.net/p/x3d/code/37586/
Applied and tested changes by rebuilding and releasing X3DJSAIL.
- X3D Java Scene Access Interface Library (X3DJSAIL)
- X3D Java Scene Access Interface Library (X3DJSAIL) supports
programmers with standards-based X3D Java interfaces and objects, all as
open source.
- https://www.web3d.org/specifications/java/X3DJSAIL.html
Incidentally, while troubleshooting, I found a previously overlooked bug in
X3DJSAIL deployment. Updated Javadoc was not getting uploaded to the
correct directory. Now fixed.
Confirmation of changed interfaces for these three nodes can be found at
- X3DJSAIL Javadoc, Interface X3DSingleTextureTransformNode
-
https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Texturing/X3DSingleTextureNode.html
John, rather than creating a new ticket on sourceforge, I clarified and
updated your other ticket.
- ticket #72, X3DUOM inheritance for three texture-transform nodes needs
to be X3DSingleTextureTransformNode
- (renamed from X3DUOM please take action!
<https://sourceforge.net/p/x3d/tickets/72/>)
- https://sourceforge.net/p/x3d/tickets/72/
Again thanks for detecting and reporting this complex issue, glad we have
it fixed.
Have fun with X3D! 😀
all the best, Don
--
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting https://RelativeMotion.info
On Tue, Oct 7, 2025 at 11:37 AM Don Brutzman <don.brutzman at gmail.com> wrote:
> I am shifting this conversation to x3d-public mailing list since potential
> impact is broad.
>
> Summary: X3D 4.0 introduced X3DSingleTextureTransformNode as an
> intermediate interface for three nodes. This was not reflected in X3D XML
> Schema appinfo and X3DUOM. Corrections are needed.
>
> all the best, Don
> --
> X3D Graphics, Maritime Robotics, Distributed Simulation
> Relative Motion Consulting https://RelativeMotion.info
>
>
> On Tue, Oct 7, 2025 at 9:50 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> Please do create a ticket. Thanks!
>>
>> Feel free to copy and paste my text into the ticket.
>>
>> I have not looked at XML schema in-depth. Probably there’s some issue
>> with how X3DUOM is created, if the XML schema follows the specification.
>>
>> Perhaps the question becomes, should a MultiTextureTransform be able to
>> contain another MultiTextureTransform in the textureTransform field?
>>
>> John
>>
>> On Tue, Oct 7, 2025 at 11:38 AM Don Brutzman <don.brutzman at gmail.com>
>> wrote:
>>
>>> Thanks for the well-defined, in-depth trouble report. I look forward to
>>> following your points in detail by checking X3DUOM, and then the
>>> originating X3D XML Schema, where information about inheritance
>>> relationships is captured. The X3D Architecture specification of course
>>> remains authoritative, and X3DUOM is a reflection of those relationships.
>>>
>>> - X3D Architecture, draft v4.1, clause 18 Texturing component, 18.3
>>> Abstract types
>>> -
>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/texturing.html#AbstractTypes
>>>
>>> The following specification diagram is also helpful, reference and
>>> excerpt here:
>>>
>>> - X3D Architecture, draft v4.1, clause 4 Concepts, 4.4.2.3 Interface
>>> hierarchy
>>> -
>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/concepts.html#InterfaceHierarchy
>>>
>>> +- X3DAppearanceChildNode -+- AcousticProperties
>>> | +- FillProperties
>>> | [...]
>>> | |
>>> | +- X3DTextureNode -+- MultiTexture
>>> | | |
>>> | | + X3DSingleTextureNode -+- X3DEnvironmentTextureNode -+- ComposedCubeMapTexture
>>> | | | +- GeneratedCubeMapTexture
>>> | | | +- ImageCubeMapTexture (X3DUrlObject)*
>>> | | |
>>> | | +- X3DTexture2DNode -+- ImageTexture (X3DUrlObject)*
>>> | | | +- MovieTexture (X3DSoundSourceNode, X3DUrlObject)*
>>> | | | +- PixelTexture
>>> | | |
>>> | | +- X3DTexture3DNode -+- ComposedTexture3D
>>> | | +- ImageTexture3D (X3DUrlObject)*
>>> | | +- PixelTexture3D
>>> | |
>>> | |
>>> | +- X3DTextureTransformNode +- MultiTextureTransform
>>> | +- X3DSingleTextureTransformNode -+- TextureTransform
>>> | +- TextureTransformMatrix3D
>>> | +- TextureTransform3D
>>>
>>>
>>> For now this issue is best handled as a trouble ticket - you are welcome
>>> to create it, or I can. Again thanks.
>>>
>>> - SourceForge: X3D Trouble Tickets
>>> - https://sourceforge.net/p/x3d/tickets/
>>>
>>> all the best, Don
>>> --
>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>> Relative Motion Consulting https://RelativeMotion.info
>>>
>>>
>>> On Tue, Oct 7, 2025 at 2:38 AM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>>> First off, I don't see a problem with the specification!
>>>>
>>>> The inheritance in X3DUOM for these 3 nodes needs to be investigated.
>>>>
>>>> TextureTransform
>>>> TextureTransform3D
>>>> TextureTransformMatrix3D
>>>>
>>>> Specifically I would like to additionally inherit from
>>>>
>>>> X3DSingleTextureTransformNode
>>>>
>>>> See details below:
>>>>
>>>> TextureTransform : X3DSingleTextureTransformNode {
>>>> SFVec2f [in,out] center 0 0 (-∞,∞)
>>>> SFString [in,out] mapping ""
>>>> SFNode [in,out] metadata NULL [X3DMetadataObject]
>>>> SFFloat [in,out] rotation 0 (-∞,∞)
>>>> SFVec2f [in,out] scale 1 1 (-∞,∞)
>>>> SFVec2f [in,out] translation 0 0 (-∞,∞)
>>>> }
>>>>
>>>>
>>>> TextureTransform3D : X3DSingleTextureTransformNode {
>>>> SFVec3f [in,out] center 0 0 0 (-∞,∞)
>>>> SFString [in,out] mapping ""
>>>> SFNode [in,out] metadata NULL [X3DMetadataObject]
>>>> SFRotation [in,out] rotation 0 0 1 0 (-∞,∞)
>>>> SFVec3f [in,out] scale 1 1 1 (-∞,∞)
>>>> SFVec3f [in,out] translation 0 0 0 (-∞,∞)
>>>> }
>>>>
>>>> TextureTransformMatrix3D : X3DSingleTextureTransformNode {
>>>> SFString [in,out] mapping ""
>>>> SFMatrix4f [in,out] matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (-∞,∞)
>>>> SFNode [in,out] metadata NULL [X3DMetadataObject]
>>>> }
>>>>
>>>> X3DSingleTextureTransformNode : X3DTextureTransformNode {
>>>> SFString [in,out] mapping ""
>>>> SFNode [in,out] metadata NULL [X3DMetadataObject]
>>>> }
>>>>
>>>> Apparently, the TextureTransform nodes DO
>>>>
>>>> inherit from X3DTextureTransformNode in X3DUOM, but currently,
>>>>
>>>> MultiTextureTransform has a field, textureTransform, which requires an
>>>>
>>>> X3DSingleTextureTransformNode
>>>>
>>>>
>>>> So in X3DUOM, either additional inheritance needs to be added,
>>>>
>>>> or the acceptableNodeTypes needs to include the super type,
>>>>
>>>> X3DSingleTextureTransformNode.
>>>>
>>>>
>>>> John
>>>>
>>>> _______________________________________________
>>>> x3d mailing list
>>>> x3d at web3d.org
>>>> http://web3d.org/mailman/listinfo/x3d_web3d.org
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20251007/7d84a54a/attachment-0001.html>
More information about the x3d-public
mailing list