[x3d-public] compilation errors left in local code

John Carlson yottzumm at gmail.com
Sun Jan 16 01:42:54 PST 2022


I found the problem with mirror.java.  I changed the DEF or name instead of
the containerField

On Sun, Jan 16, 2022 at 3:25 AM John Carlson <yottzumm at gmail.com> wrote:

> 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/8d8cb0d2/attachment.html>


More information about the x3d-public mailing list