[x3d-public] Can this be added in X3DJSAIL? Looks like setUrl could take a string array
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Thu Apr 11 01:30:15 PDT 2019
p.s. seems like lists are more prevalent than arrays in python (more functional, less failure-prone too).
Beginning Python Programming for Aspiring Web Developers »
3. Strings, lists, and tuples
3.1. Sequence data types
http://www.openbookproject.net/books/bpp4awd/ch03.html
so we might do better to map X3D MFString arrays to ArrayList<String> in Java.
Corresponding X3DJSAIL javadoc:
http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Texturing/ImageTextureObject.html#setUrl-java.util.ArrayList-
"Assign ArrayList value of MFString url field, similar to setUrl(String[])."
On 4/11/2019 12:11 AM, Don Brutzman wrote:
> setUrl can accept ArrayList<String>, MFStringObject, SFStringObject String or String[] as inputs. Similarly for addUrl() method.
>
> Please see
> http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Texturing/ImageTextureObject.html
>
> for setUrl(String[])
> http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Texturing/ImageTextureObject.html#setUrl-java.lang.String:A-
>
> so it looks like your invocation syntax might be incorrect.
>
> Java: how to initialize String[]?
> https://stackoverflow.com/questions/2564298/java-how-to-initialize-string
> then example
> String[] args = new String[]{"firstarg", "secondarg", "thirdarg"};
>
> so your Java invocation
>
> .setUrl(["../KelpForestExhibit/KelpForestMain.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d","../KelpForestExhibit/KelpForestMain.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.wrl"])
>
> should be
>
> .setUrl(new String[]{"../KelpForestExhibit/KelpForestMain.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d","../KelpForestExhibit/KelpForestMain.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.wrl"})
>
> I just tried something like that on HelloWorld.java and the syntax is OK.
>
> Not sure what the Python syntax is for string array, please check further. Perhaps further trickery will be needed on your python -> Java mapping.
>
>
>
>
> On 4/9/2019 9:02 PM, John Carlson wrote:
>> processSingleScene.pythonValidation:
>>
>> [echo] processSingleScene.python C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter03Grouping\InlineKelpForest.future.py
>>
>> [echo] Loading X3D model as .py program, if successful then saving as round-trip .x3d version:
>>
>> [exec] Traceback (most recent call last):
>>
>> [exec] File "C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter03Grouping\InlineKelpForest.future.py", line 76, in <module>
>>
>> [exec] .setUrl(["../KelpForestExhibit/KelpForestMain.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d","../KelpForestExhibit/KelpForestMain.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.wrl"]) \
>>
>> [exec] File "jnius\jnius_export_class.pxi", line 760, in jnius.JavaMethod.__call__
>>
>> [exec] File "jnius\jnius_conversion.pxi", line 78, in jnius.populate_args
>>
>> [exec] File "jnius\jnius_utils.pxi", line 205, in jnius.check_assignable_from
>>
>> [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/sai/Networking/X3DUrlObject' passed for a 'org/web3d/x3d/sai/Core/X3DChildNode'
>>
>> [exec] Result: 1
>>
>> [echo] =====================
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 http://faculty.nps.edu/brutzman
More information about the x3d-public
mailing list