[x3d-public] compilation errors left in local code

John Carlson yottzumm at gmail.com
Sun Jan 16 01:25:45 PST 2022


Don, can you convert from setLeft to setLeftTexture, or otherwise fix this
in X3dToJava.xslt?

.\net\x3djsonld\data\mirror.java:91: error: cannot find symbol
      .setLeft(new ImageTexture("leftBackTexture").setUrl(new String[]
{"../resources/images/all_probes/beach_cross/beach_left.png","
https://coderextreme.net/src/main/resources/images/all_probes/beach_cross/beach_left.png
"}))
      ^
  symbol:   method setLeft(ImageTexture)
  location: class TextureBackground
1 error
=======================================================================
We may have to adddress some of these, but these are test files, not really
sure they are valid.

.\net\x3djsonld\data\rubikcoord.java:106: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("diffuseColor")))))
                           ^
.\net\x3djsonld\data\rubikcoord.java:111: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("diffuseColor"))))))))
                           ^
.\net\x3djsonld\data\rubikcoord.java:125: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("x1diffuseColor")))))
                           ^
.\net\x3djsonld\data\rubikcoord.java:130: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("x2diffuseColor"))))))))
                           ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to
get full output
4 errors
.\net\x3djsonld\data\rubik2x2x2.java:104: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("diffuseColor")))))
                           ^
.\net\x3djsonld\data\rubik2x2x2.java:109: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("diffuseColor"))))))))
                           ^
.\net\x3djsonld\data\rubik2x2x2.java:123: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("x1diffuseColor")))))
                           ^
.\net\x3djsonld\data\rubik2x2x2.java:128: error: incompatible types: IS
cannot be converted to X3DNode
                .addConnect(new
connect().setNodeField("diffuseColor").setProtoField("x2diffuseColor"))))))))
                           ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to
get full output
4 errors
=======================================================================
This requires more research.  Perhaps X3dToJava.xslt puts out these
addMaterial's?
=======================================================================
.\net\x3djsonld\data\Quotes.java:285: error: cannot find symbol
          .addMaterial(new
fieldValue().setName("description").setValue("ArtDeco01Material can
substitute for a Material node"))))
          ^
  symbol:   method addMaterial(fieldValue)
  location: class ProtoInstance
.\net\x3djsonld\data\Quotes.java:292: error: cannot find symbol
          .addMaterial(new
fieldValue().setName("description").setValue("ArtDeco02Material can
substitute for another Material node"))))
          ^
  symbol:   method addMaterial(fieldValue)
  location: class ProtoInstance
2 errors
======================================================================
Here's what I have for these fieldValues above:
  ;
ProtoInstance0
              .addFieldValue(new
fieldValue().setName("description").setValue("ArtDeco01Material can
substitute for a Material node"));
ProtoInstance1
              .addFieldValue(new
fieldValue().setName("description").setValue("ArtDeco02Material can
substitute for another Material node"));

So is mine acceptable until we get the missing symbol fixed (is the
addMaterial incorrect)?  It looks like HelloWorldProgram.java from X3DJSAIL
example is similar.  Looking at the original Quotes.x3d file, it looks like
there's a material containerField.  Hmm.  Is this example realistic? No,
it's not.   See attached validator below.  It looks like some kind of
Gordian knot?

Attaching Quotes.java and Quotes.x3d
*3. Performing X3D DTD validation <http://www.web3d.org/specifications>
check (X3D DTD documentation
<http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html>) ...*
Error type: Error SAXParseException: Attribute "containerField" must be
declared for element type "fieldValue". Error type: Error
SAXParseException: Attribute "containerField" must be declared for element
type "fieldValue". Error(s) detected during this validation test. X3D DTD
validation check: *fail*. *4. Performing X3D schema validation
<http://www.web3d.org/specifications> check (X3D schema documentation
<http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html>)
...* Error type: Error SAXParseException: cvc-complex-type.3.2.2: Attribute
'containerField' is not allowed to appear in element 'fieldValue'. Error
type: Error SAXParseException: cvc-complex-type.3.2.2: Attribute
'containerField' is not allowed to appear in element 'fieldValue'. Error(s)
detected during this validation test. X3D schema validation check: *fail*.

This may help too:

*7. Performing X3D Schematron
<http://www.web3d.org/x3d/tools/schematron/X3dSchematron.html> check...*
<X3D profile='Immersive'> is defined satisfactorily for this scene, but
ensure that child Inline scenes do not exceed this profile/component
combination since a parent scene must have an equal or higher
profile/component combination [/X3D, info] Based on file name, Quotes.x3d
is considered a test model supporting X3D Quality Assurance (QA).
https://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance[/X3D/head,
diagnostic] X3D/head/meta title (i.e. filename 'Quotes.x3d') is expected at
end of identifier (url) value [/X3D/head, warning] <meta name='info'
content='tested sat: name value cannot contain embedded space
character'/>[/X3D/head/meta[20], diagnostic] <MetadataString DEF=''
name='quotesTestC'/> array value='"MFString example C, backslash-escaped
quotes: He said, \"Immel did it!\""' has 4 quote marks with at least one
escaped quote mark \" so double-check to ensure paired "quote marks" for
each line are matched
[/X3D/Scene/Transform[2]/Shape/Text/MetadataSet/MetadataString[1], warning]
<Text DEF='' string='"One, Two, Text" "" "He said, \"Immel did it!\"
\"\""'/> has 10 quote marks with at least one escaped quote mark \" so
double-check to ensure paired "quote marks" for each line are matched
[/X3D/Scene/Transform[2]/Collision/Shape/Text, warning] <ProtoInstance
name='ArtDeco01Material' DEF=''> <fieldValue name='description'
value='ArtDeco01Material can substitute for a Material node'/> has matching
ProtoDeclare but no corresponding field match for this fieldValue
[/X3D/Scene/Shape[2]/Appearance/ProtoInstance/fieldValue, hint] <Inline
DEF='inlineSceneDef'/> url array address(es) missing online http/https
references (url='"someOtherScene.x3d"') [/X3D/Scene/Inline, info] <Script
DEF='MaterialModulatorScript'> <field name='diffuseColor'
accessType='inputOutput'/> must define function set_diffuseColor (newValue)
[/X3D/Scene/ProtoDeclare[2]/ProtoBody/Script/field[2], error] <Script
DEF='MaterialModulatorScript'> <field name='diffuseColor'
accessType='inputOutput'/> does not send output event via assignment
statement diffuseColor=___;
[/X3D/Scene/ProtoDeclare[2]/ProtoBody/Script/field[2], warning] Error(s)
detected during this validation test. X3D Schematron check: *fail*.

I'll post again on a later, more up-to-date X3D file. The rest of the files
that refused to compile are "code too large" issues.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220116/849fe4ac/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Quotes.java
Type: application/octet-stream
Size: 33483 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220116/849fe4ac/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Quotes.x3d
Type: application/octet-stream
Size: 23469 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220116/849fe4ac/attachment-0003.obj>


More information about the x3d-public mailing list