[x3d-public] List of Differences between Spec and X3DUOM

John Carlson yottzumm at gmail.com
Thu Nov 2 08:33:03 PDT 2023


Here are specific HAnimMotion differences from Spec present in X3DUOM, but
you really want to change XML Schema (see type= changes).  This is critical
for VRML generation based on X3DUOM.

Thanks!

John

       <ConcreteNode name="HAnimMotion">
          <InterfaceDefinition specificationUrl="
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion
"
-                               appinfo="An HAnimMotion node supports
discrete frame-by-frame playback for H-Anim motion data animation.">
+                               appinfo="An HAnimMotion node supports
discrete frame-by-frame playback for HAnim motion data animation.">
             <componentInfo name="HAnim" level="2"/>
             <Inheritance baseType="X3DChildNode"/>
             <field name="channels"
-                    type="MFString"
+                    type="SFString"
                     accessType="inputOutput"
                     description="list of number of channels for
transformation, followed by transformation type of each channel of data."/>
             <field name="channelsEnabled"
@@ -22515,7 +22520,8 @@
             <field name="frameCount"
                     type="SFInt32"
                     accessType="outputOnly"
-                    minInclusive="0"/>
+                    minInclusive="0"
+                    description="frameCount is computed at run time and
indicates the total number of frames present in the animation, equaling the
number of sets of channel data rows present in the values array."/>
             <field name="frameDuration"
                     type="SFTime"
                     accessType="inputOutput"
@@ -22540,7 +22546,7 @@
                     acceptableNodeTypes="IS"
                     inheritedFrom="X3DNode"/>
             <field name="joints"
-                    type="MFString"
+                    type="SFString"
                     accessType="inputOutput"
                     description="joints field lists names of joints that
raw motion data is to be applied to."/>

On Thu, Nov 2, 2023 at 10:23 AM John Carlson <yottzumm at gmail.com> wrote:

>
> I too would like to see motionsEnabled added to X3DUOM and schema.
>
> I’ve noticed some fieldType differences, particularly in HAnimMotion,
> joints field and channels field, previously reported, but not in Holger's
> list. You may want to double check your script, if any, Holger.
>
> Thanks,
>
> John
>
> On Wed, Nov 1, 2023 at 5:21 PM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
>> Wow, thanks Holger!  Super helpful.
>>
>>
>>
>> Am expecting that a lot of the repetitions are recurring due to
>>  mistake(s) in abstract types, which get inherited by concrete nodes.
>>
>>
>>
>> Will check and report back.
>>
>>
>>
>> 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:* Holger Seelig <holger.seelig at yahoo.de>
>> *Sent:* Wednesday, November 1, 2023 2:56 PM
>> *To:* X3D <x3d-public at web3d.org>
>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> *Subject:* List of Differences between Spec and X3DUOM
>>
>>
>>
>> I have compared the specification from proof with X3DUOM and found a lot
>> of differences of field values, number of fields, and access type. I have
>> double checked all issues from:
>>
>>
>>
>>
>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/Architecture.html
>>
>> https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
>>
>>
>>
>> My guess is that a lot of issues are correct in X3DUOM, but as far as I
>> can see, not all.
>>
>>
>>
>> The list still misses Sound component.
>>
>> Below is the list of differences:
>>
>>
>>
>> Field 'solid' in node IndexedQuadSet has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node QuadSet has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> ComposedCubeMapTexture number of fields differ (Spec <=> X3DUOM): 9 <=> 8.
>>
>>   Where [textureProperties] not in X3DUOM.
>>
>> Field 'size' in node GeneratedCubeMapTexture has different access type
>> (Spec <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node ArcClose2D has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Disk2D has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field 'size' in node Rectangle2D has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Rectangle2D has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node TriangleSet2D has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'size' in node Box has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Box has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Cone has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Cylinder has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field SFInt32 'xDimension' in node ElevationGrid has different value
>> (Spec <=> X3DUOM): 0 !== 2.
>>
>> Field SFInt32 'zDimension' in node ElevationGrid has different value
>> (Spec <=> X3DUOM): 0 !== 2.
>>
>> Field 'solid' in node ElevationGrid has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field MFFloat 'height' in node ElevationGrid has different value (Spec
>> <=> X3DUOM):  !== 0 0 0 0.
>>
>> Field 'solid' in node Extrusion has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'orientation' in node Extrusion has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'scale' in node Extrusion has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node IndexedFaceSet has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node Sphere has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field 'set_height' in node GeoElevationGrid has different type (Spec <=>
>> X3DUOM): MFDouble !== MFFloat.
>>
>> Field SFInt32 'xDimension' in node GeoElevationGrid has different value
>> (Spec <=> X3DUOM): 0 !== 2.
>>
>> Field SFInt32 'zDimension' in node GeoElevationGrid has different value
>> (Spec <=> X3DUOM): 0 !== 2.
>>
>> Field 'solid' in node GeoElevationGrid has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field MFDouble 'height' in node GeoElevationGrid has different value
>> (Spec <=> X3DUOM): 0, 0 !== 0 0 0 0.
>>
>> Field SFFloat 'fieldOfView' in node GeoViewpoint has different value
>> (Spec <=> X3DUOM): 0.785398 !== 0.7854.
>>
>> Field 'coordIndex' in node HAnimDisplacer has different access type (Spec
>> <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> HAnimHumanoid number of fields differ (Spec <=> X3DUOM): 31 <=> 30.
>>
>>   Where [motionsEnabled] not in X3DUOM.
>>
>> HAnimMotion number of fields differ (Spec <=> X3DUOM): 20 <=> 18.
>>
>>   Where [next,previous] not in X3DUOM.
>>
>> Field 'closed' in node SplinePositionInterpolator has different access
>> type (Spec <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'closed' in node SplinePositionInterpolator2D has different access
>> type (Spec <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'closed' in node SplineScalarInterpolator has different access type
>> (Spec <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> Unknown field 'closed' of node SquadOrientationInterpolator in X3DUOM.
>>
>> Field 'order' in node LayerSet has different access type (Spec <=>
>> X3DUOM): inputOutput !== initializeOnly.
>>
>> ScreenFontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.
>>
>>   Where [style] not in X3DUOM.
>>
>> Field 'radius' in node PointLight has different access type (Spec <=>
>> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'radius' in node SpotLight has different access type (Spec <=>
>> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'knot' in node NurbsOrientationInterpolator has different access
>> type (Spec <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'solid' in node NurbsPatchSurface has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'knot' in node NurbsPositionInterpolator has different access type
>> (Spec <=> X3DUOM): inputOutput !== initializeOnly.
>>
>> Field 'solid' in node NurbsSweptSurface has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node NurbsSwungSurface has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node NurbsTrimmedSurface has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'fieldOfView' in node OrthoViewpoint has different type (Spec <=>
>> X3DUOM): MFFloat !== SFVec4f.
>>
>> Field SFFloat 'fieldOfView' in node Viewpoint has different value (Spec
>> <=> X3DUOM): 0.785398 !== 0.7854.
>>
>> Field SFFloat 'angle' in node ConeEmitter has different value (Spec <=>
>> X3DUOM): 0.785398 !== 0.7854.
>>
>> Field 'color' in node ParticleSystem has different type (Spec <=>
>> X3DUOM): SFNode !== MFNode.
>>
>> SurfaceEmitter number of fields differ (Spec <=> X3DUOM): 7 <=> 9.
>>
>>   Where [coordIndex,set_coordIndex] not in Spec.
>>
>> Field SFRotation 'axisRotation' in node PlaneSensor has different value
>> (Spec <=> X3DUOM): 0 0 1 0 !== 0 1 0 0.
>>
>> Field 'solid' in node IndexedTriangleFanSet has different access type
>> (Spec <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node IndexedTriangleSet has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node IndexedTriangleStripSet has different access type
>> (Spec <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node TriangleFanSet has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node TriangleSet has different access type (Spec <=>
>> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'solid' in node TriangleStripSet has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'body2Axis' in node UniversalJoint has different type (Spec <=>
>> X3DUOM): SFVec3f !== SFFloat.
>>
>> Field 'name' in node FloatVertexAttribute has different access type (Spec
>> <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'name' in node Matrix3VertexAttribute has different access type
>> (Spec <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Field 'name' in node Matrix4VertexAttribute has different access type
>> (Spec <=> X3DUOM): initializeOnly !== inputOutput.
>>
>> Appearance number of fields differ (Spec <=> X3DUOM): 12 <=> 11.
>>
>>   Where [backMaterial] not in X3DUOM.
>>
>> FontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.
>>
>>   Where [style] not in X3DUOM.
>>
>> Field 'solid' in node Text has different access type (Spec <=> X3DUOM):
>> initializeOnly !== inputOutput.
>>
>> Field SFFloat 'fieldOfView' in node TextureProjector has different value
>> (Spec <=> X3DUOM): 0.785398 !== 0.7854.
>>
>> TextureProjectorParallel number of fields differ (Spec <=> X3DUOM): 20
>> <=> 16.
>>
>>   Where [upVector,shadowColor,shadowBias,shadowMapSize] not in X3DUOM.
>>
>> TextureTransform number of fields differ (Spec <=> X3DUOM): 6 <=> 5.
>>
>>   Where [mapping] not in X3DUOM.
>>
>> TextureTransform3D number of fields differ (Spec <=> X3DUOM): 6 <=> 5.
>>
>>   Where [mapping] not in X3DUOM.
>>
>> TextureTransformMatrix3D number of fields differ (Spec <=> X3DUOM): 3 <=>
>> 2.
>>
>>   Where [mapping] not in X3DUOM.
>>
>> Test done.
>>
>>
>>
>> --
>>
>> Holger Seelig
>>
>> Leipzig, Germany
>>
>>
>>
>> holger.seelig at yahoo.de
>>
>> https://create3000.github.io/x_ite/
>>
>>
>> _______________________________________________
>> 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/20231102/e02d58a1/attachment-0001.html>


More information about the x3d-public mailing list